Old stuff/ecole_etude_fac_de_pau/licence_2/struct/tp5/agenda.c
(Deskargatu)
#include "agenda.h"
struct anniversaire *agenda;
struct anniversaire creer()
{
struct anniversaire agenda;
return agenda;
}
void ajouter(struct anniversaire sanniv) {
struct anniversaire *panniv;
panniv = (struct anniversaire*) malloc(sizeof(struct anniversaire));
strcpy(panniv->nom,sanniv.nom);
strcpy(panniv->date,sanniv.date);
panniv->suivant = NULL;
if (agenda == NULL) {
agenda = panniv;
}
else {
panniv->suivant=agenda;
agenda=panniv;
}
}
void modifier(char *name, char *date)
{
struct anniversaire *panniv = agenda;
while(panniv != NULL) {
if (strcmp(panniv->nom,name) == 0)
{
strcpy((*panniv).date,date);
}
panniv = panniv->suivant;
}
}
void afficher_agenda()
{
printf("\n");
struct anniversaire *anniversaire=agenda;
while(anniversaire != NULL){
printf("Nom : %s;\nDate : %s\n",anniversaire->nom,anniversaire->date);
anniversaire=anniversaire->suivant;
}
printf("\n");
}
void supprimer(char *nom)
{
struct anniversaire *pannif = agenda;
struct anniversaire *precedant = NULL;
while(pannif != NULL)
{
if (strcmp(pannif->nom,nom) == 0)
{
if (precedant == NULL)
{
pannif = agenda->suivant;
agenda = pannif;
}
else
{
precedant->suivant = pannif->suivant;
pannif = pannif->suivant;
}
}
else
{
precedant = pannif;
pannif = pannif->suivant;
}
}
}
int recherche(char *nom)
{
struct anniversaire *panniv = agenda;
while(panniv->suivant != NULL && strcmp(panniv->nom,nom) != 0) {
panniv = panniv->suivant;
}
return strcmp(panniv->nom,nom) == 0 ? 1 : 0;
}