1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//structure de date
typedef struct DATE {
int min;
int h;
int j;
int m;
int a;
}DATE;
//la liste des réunions
typedef struct Reunion {
char* titre;
char* objectifs;
char* ordrejour;
int duree;
DATE date;
DATE date_butoire;
struct Reunion *nxt;
}Reunion;
//structure pour pointer vers la tete de la liste
typedef struct Lister
{
Reunion *tete;
}Lister;
//fonction qui rempli les structures de date
void remplirdate (DATE *D,int minute,int heure,int jour,int mois,int annee) {
D->min = minute;
D->h = heure;
D->j = jour;
D->m = mois;
D->a = annee;
}
//fonction qui initialise la liste
Lister *initialisationr()
{
Lister *lister = (Lister*)malloc(sizeof(lister));
Reunion *elementr = (Reunion*)malloc(sizeof(elementr));
if (lister == NULL || elementr == NULL)
{
exit(EXIT_FAILURE);
}
elementr->titre = NULL;
elementr->objectifs = NULL;
elementr->ordrejour = NULL;
elementr->duree=0;
elementr->nxt = NULL;
lister->tete = elementr;;
return lister;
}
//fonction pour ajout à la liste au debut
void *insertionr(Lister *lister, char *nvtitre,char *nvobjectifs,char *nvordre_jour,int nvduree,DATE nvdate,DATE nvdate_butoire)
{
Reunion *nouveaur =(Reunion*) malloc(sizeof(nouveaur));
nouveaur->titre = nvtitre;
nouveaur->objectifs = nvobjectifs;
nouveaur->ordrejour = nvordre_jour;
nouveaur->duree = nvduree;
nouveaur->date = nvdate;
nouveaur->date_butoire = nvdate_butoire;
nouveaur->nxt = lister->tete;
lister->tete = nouveaur;
}
//affichage de la liste
void afficherr(Lister *lister)
{
if (lister == NULL)
{
exit(EXIT_FAILURE);
}
Reunion *actuel = lister->tete;
while (actuel->nxt != NULL)
{
printf("titre : %s\nobjectifs : %s\nordre du jour : %s\ndate : %d/%d/%d\ndurée : %d min\ndate butoire : %d/%d/%d\n", actuel->titre,actuel->objectifs ,actuel->ordrejour ,actuel->date.j,actuel->date.m,actuel->date.a ,actuel->duree,actuel->date_butoire.j,actuel->date_butoire.m,actuel->date_butoire.a);
actuel = actuel->nxt;
}
}
//sauvgarde de la liste dans un fichier
void saver (char* nom, Lister *lister) {
Reunion *actuel = lister->tete;
FILE *fichier = fopen(nom,"w");
while (actuel->nxt != NULL)
{
fprintf(fichier,"titre : %s\nobjectifs : %s\nordre du jour : %s\ndate : %d/%d/%d\ndurée : %d min\ndate butoire : %d/%d/%d\n",actuel->titre,actuel->objectifs ,actuel->ordrejour ,actuel->date.j,actuel->date.m,actuel->date.a ,actuel->duree,actuel->date_butoire.j,actuel->date_butoire.m,actuel->date_butoire.a);
actuel = actuel->nxt;
}
fclose(fichier);
}
main () {
Lister *maLister = initialisationr(); //declaration et initialisation de la liste
DATE DA,DAB;
remplirdate(&DA,0,0,10,4,2020);//affectation des valeurs à la structure
remplirdate(&DAB,0,0,20,4,2020);
insertionr(maLister,"titre","objectifs","ordre du jour",50,DA,DAB);
saver("test.txt",maLister);
afficherr(maLister);
getch();
} |
Partager