Created
October 18, 2011 13:02
-
-
Save MiLk/1295370 to your computer and use it in GitHub Desktop.
TP3 NF16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "tp3.h" | |
// Fonctions à réaliser | |
task * cree_tache(char caract[MAX_NOM + 1], int duree) | |
{ | |
task *ptask = (task*)malloc(sizeof (task)); | |
//strcpy(ptask->ID,caract); | |
*(ptask->ID) = caract; | |
ptask->duree = duree; | |
ptask->psuivant = NULL; | |
return ptask; | |
} | |
task * cree_liste(task *tache) | |
{ | |
return tache; | |
} | |
void affiche_liste(task *list_task) | |
{ | |
task *ptask = list_task; | |
do | |
{ | |
printf("Task id : %s - duree : %d", ptask->ID, ptask->duree); | |
ptask = ptask->psuivant; | |
} while (ptask != NULL); | |
return; | |
} | |
int ajoute_tache(task *list_task, task *ptache) | |
{ | |
task *last = derniere_tache(list_task); | |
last->psuivant = ptache; | |
return 0; | |
} | |
// Fonctions supplémentaires | |
task* derniere_tache(task *list_task) | |
{ | |
task *ptask = list_task; | |
while (ptask->psuivant != NULL) | |
{ | |
ptask = ptask->psuivant; | |
} | |
return ptask; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef TP3_H | |
#define TP3_H | |
#include <stdio.h> | |
#include <stdlib.h> | |
#ifdef _WIN32 | |
#include "windows.h" | |
#else | |
#include "unistd.h" | |
#endif | |
#define MAX_NOM 100 | |
typedef struct task task; | |
struct task { | |
char ID[MAX_NOM + 1]; | |
int duree; | |
task *psuivant; | |
}; | |
/** | |
* Créer une tache avec l'identifiant et la durée prévisée. | |
* @param caract Identifiant de la tâche | |
* @param duree Durée de la tâche | |
* @return Pointeur de tâche | |
*/ | |
task * cree_tache(char caract[MAX_NOM + 1], int duree); | |
/** | |
* Initialise une liste à partir d'un pointeur de tâche. | |
* @param tache Tâche permettant l'initialisation. | |
* @return Pointeur sur la première tâche de la liste. | |
*/ | |
task * cree_liste(task *tache); | |
/** | |
* Affiche la liste des tâches de la liste spécifiée. | |
* @param list_task Liste de tâches. | |
*/ | |
void affiche_liste(task *list_task); | |
/** | |
* Ajoute une nouvelle tâche à la liste | |
* @param list_task Liste de tâche | |
* @param ptache Nouvelle tâche | |
* @return | |
*/ | |
int ajoute_tache(task *list_task, task *ptache); | |
/** | |
* Annule l'execution d'une tâche. | |
* @param list_task Liste de tâches. | |
* @param caract Identifiant de la tâche. | |
* @return Pointeur sur la première tâche de la liste. | |
*/ | |
task * annule_tache(task *list_task, char caract[MAX_NOM + 1]); | |
/** | |
* Libère l'espace mémoire allouée pour les différents éléments de la liste des tâches. | |
* @param list_task Liste des tâches. | |
* @return Pointeur sur la première tâche de la liste. | |
*/ | |
task * libere_liste(task *list_task); | |
/** | |
* Retourne la dernière tâche d'une listede tâches. | |
* @param list_task Liste de tâches | |
* @return Dernière tâche | |
*/ | |
task* derniere_tache(task *list_task); | |
#endif /* TP3_H */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment