0% ont trouvé ce document utile (0 vote)
14 vues2 pages

Gestion d'un carnet d'adresses en C

Le document présente un programme en C qui gère un carnet d'adresses. Il définit des structures pour représenter des personnes et un carnet, ainsi que des fonctions pour ajouter, afficher et gérer ces personnes. Le programme alloue dynamiquement des personnes et les ajoute à un carnet, tout en gérant les erreurs d'allocation et les limites du carnet.

Transféré par

macalouboubaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues2 pages

Gestion d'un carnet d'adresses en C

Le document présente un programme en C qui gère un carnet d'adresses. Il définit des structures pour représenter des personnes et un carnet, ainsi que des fonctions pour ajouter, afficher et gérer ces personnes. Le programme alloue dynamiquement des personnes et les ajoute à un carnet, tout en gérant les erreurs d'allocation et les limites du carnet.

Transféré par

macalouboubaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <stdio.

h>
#include <stdlib.h>
#include <string.h>

// Structure de la personne
typedef struct {
char nom[32];
char telephone[16];
} Personne;

// Structure du carnet
typedef struct {
Personne tab[20];
int nb_personne;
} Carnet;

// Fonction pour allouer dynamiquement une nouvelle personne


Personne* renvoie(char n, char tel) {
Personne* new_personne = (Personne*)malloc(sizeof(Personne));
if (new_personne != NULL) {
strcpy(new_personne->nom, &n);
strcpy(new_personne->telephone, &tel);
printf("Allocation réussie\n");
return new_personne;
} else {
printf("Allocation échouée! Pas assez d'espace\n");
return NULL;
}
}

// Fonction pour afficher une personne


void affiche(Personne* per) {
if (per != NULL) {
printf("Nom : %s\n", per->nom);
printf("Tel : %s\n", per->telephone);
} else {
printf("La personne est NULL\n");
}
}

// Fonction pour ajouter une personne au carnet


void ajoute(Carnet* carnet, Personne* nouveau) {
if (carnet->nb_personne < 20) {
carnet->tab[carnet->nb_personne] = *nouveau;
carnet->nb_personne++;
printf("Personne ajoutée avec succès !\n");
} else {
printf("Personne NON ajoutée ! La liste est pleine\n");
}
}

// Fonction pour afficher le carnet


void affiche_carnet(Carnet* carnet) {
int i;
if (carnet->nb_personne > 0) {
for (i = 0; i < carnet->nb_personne; i++) {
printf("---------Personne--(%d)---------: \n", i + 1);
affiche(&(carnet->tab[i]));
}
} else {
printf("Le carnet est vide\n");
}
}

// Fonction pour saisir plusieurs personnes et les ajouter au carnet


void saisie_personnes(Carnet* carnet) {
Personne* p1 = renvoie('A', '111111');
Personne* p2 = renvoie('B', '222222');
Personne* p3 = renvoie('C', '333333');
Personne* p4 = renvoie('D', '444444');
Personne* p5 = renvoie('E', '555555');

ajoute(carnet, p1);
ajoute(carnet, p2);
ajoute(carnet, p3);
ajoute(carnet, p4);
ajoute(carnet, p5);

affiche_carnet(carnet);
}

int main() {
Carnet carnet; // Création d'un carnet
carnet.nb_personne = 0; // Initialisation du nombre de personnes dans le
carnet

saisie_personnes(&carnet);

return 0;
}

Vous aimerez peut-être aussi