Annuaire telephonique en language c
ren1450
-
ness -
ness -
Bonjour,
voila en fait je pose un message qui devient assez urgent: d'ici le 7 avril je dois rendre un projet de 2eme session pour un examen en language C qui porte sur un annuaire telephonique.
selon l'énoncé, il faut avoir un menu premettant d'ajouter des contacts (nom, prenom, telephone) en les créant dans un fichier, de rechercher les contacts dans le fichier (via liste chainée) et de quitter le programme. je ne suis pas encore tres doué en programmation étant en 1ere année d'informatique..
j'ai tappé le code ci dessous mais la compilation m'affiche 3 erreurs, provenant de ma fonction "creation" qui crée ma liste chainée.
si quelqu'un pouvait m'aider ca me ferais tres utile car j'avoue etre un peu perdu.. je pense deja que mes arguments ne sont pas bons, le compteur devrais plutot se trouver dans la fonction "écrire" et d'autre choses a résoudre aussi.
#include <stdio.h>
#include <string.h>
#include <malloc.h>
typedef struct personne
{
char nom[50];
char prenom[50];
char telephonne[15];
struct personne *suivant;
struct personne *precedent;
}p;
void ecrire(p pers);
p *premier(void)
void creation(p pers);
void lecture(p pers, int taille);
void suppresion(p pers);
void recherche(p pers);
void menu(p pers);
int main(void)
{
menu(p);
return 0;
}
void ecrire(p pers)
{
FILE *w;
if((w=fopen("personne.dat","wb"))=NULL)
printf("Erreur à l'ouvertude de personne.dat");
else
{
while(1)
{
printf("Nom: ");
scanf("%s",pers.nom);
fflush(stdin);
if((strcmp(pers.nom,"0"))==0)
break;
else
{
printf("Prenom: ");
scanf("%s",pers.prenom);
fflush(stdin);
printf("Telephone: ");
scanf("%d",&pers.tel);
fflush(stdin);
fwrite(&pers,sizeof(pers),1,w);
}
}
fclose(w);
}
}
p *premier(void)
{
p *prem;
prem=(p*)malloc(sizeof (p));
printf("Entrez le nom a rechercher: ");
scanf("%s",pers.nom);
fflush(stdin);
prem->suivant=prem;
prem->precedent=prem;
return prem;
}
void creation (p pers)
{
p *elt;
p *autrechose;
autrechose=prem;
printf("Entrez le nom a rechercher: ");
scanf("%s",pers.nom);
fflush(stdin);
if((strcmp(pers.nom,"%s"))==NULL)
printf("Aucun nom ne correspond a votre recherche");
else
{
elt=(p *)malloc(sizeof(p));
}
prem->suivant=elt;
prem->precedent=autrechose;
elt->suivant=autrechose;
elt->precedent=prem;
prem=elt;
}
void lecture(p pers,int taille)
{
int i;
for (i=0,i<taille,i++)
printf("Nom: %s\nPrenom: %s\nTelephone: %d\n",pers.nom,pers.prenom,pers.tel);
}
void suppresion(p pers)
{
free(elt);
}
void recherche(p pers)
{
char nav;
ecrire(p);
p *premier();
creation(p);
lecture(p);
do
{
printf("'s' pour suivant - 'p' pour precedent - 'q' pour quitter : ");
scanf("%c",&nav);
fflush(stdin);
switch(nav)
{
case 's' :
prem=prem->suivant;
break;
case 'p' :
prem=prem->precedent;
break;
case 'q' :
suppresion(p);
break;
default : printf(" 's', 'p' ou 'q' ... c'est pas si compliquer...");
}
}while(nav!='q');
}
void menu(p pers)
{
char nav;
do
{
printf("Contacts téléphoniques\n 1. Ajout de contacts\n 2. Recherche de contacts\n 3. Quitter\n");
scanf("%d",&nav);
fflush(stdin);
switch(nav)
{
case '1' :
ecrire(p);
break;
case '2' :
recherche(p);
break;
case '3' :
break;
default: printf("Veuillez appuyer sur 1, 2 ou 3");
}
}while(nav!='3');
}
voila en esperant avoir des réponses positives je vous remercie d'avance pour le futur soutien.
renaud
voila en fait je pose un message qui devient assez urgent: d'ici le 7 avril je dois rendre un projet de 2eme session pour un examen en language C qui porte sur un annuaire telephonique.
selon l'énoncé, il faut avoir un menu premettant d'ajouter des contacts (nom, prenom, telephone) en les créant dans un fichier, de rechercher les contacts dans le fichier (via liste chainée) et de quitter le programme. je ne suis pas encore tres doué en programmation étant en 1ere année d'informatique..
j'ai tappé le code ci dessous mais la compilation m'affiche 3 erreurs, provenant de ma fonction "creation" qui crée ma liste chainée.
si quelqu'un pouvait m'aider ca me ferais tres utile car j'avoue etre un peu perdu.. je pense deja que mes arguments ne sont pas bons, le compteur devrais plutot se trouver dans la fonction "écrire" et d'autre choses a résoudre aussi.
#include <stdio.h>
#include <string.h>
#include <malloc.h>
typedef struct personne
{
char nom[50];
char prenom[50];
char telephonne[15];
struct personne *suivant;
struct personne *precedent;
}p;
void ecrire(p pers);
p *premier(void)
void creation(p pers);
void lecture(p pers, int taille);
void suppresion(p pers);
void recherche(p pers);
void menu(p pers);
int main(void)
{
menu(p);
return 0;
}
void ecrire(p pers)
{
FILE *w;
if((w=fopen("personne.dat","wb"))=NULL)
printf("Erreur à l'ouvertude de personne.dat");
else
{
while(1)
{
printf("Nom: ");
scanf("%s",pers.nom);
fflush(stdin);
if((strcmp(pers.nom,"0"))==0)
break;
else
{
printf("Prenom: ");
scanf("%s",pers.prenom);
fflush(stdin);
printf("Telephone: ");
scanf("%d",&pers.tel);
fflush(stdin);
fwrite(&pers,sizeof(pers),1,w);
}
}
fclose(w);
}
}
p *premier(void)
{
p *prem;
prem=(p*)malloc(sizeof (p));
printf("Entrez le nom a rechercher: ");
scanf("%s",pers.nom);
fflush(stdin);
prem->suivant=prem;
prem->precedent=prem;
return prem;
}
void creation (p pers)
{
p *elt;
p *autrechose;
autrechose=prem;
printf("Entrez le nom a rechercher: ");
scanf("%s",pers.nom);
fflush(stdin);
if((strcmp(pers.nom,"%s"))==NULL)
printf("Aucun nom ne correspond a votre recherche");
else
{
elt=(p *)malloc(sizeof(p));
}
prem->suivant=elt;
prem->precedent=autrechose;
elt->suivant=autrechose;
elt->precedent=prem;
prem=elt;
}
void lecture(p pers,int taille)
{
int i;
for (i=0,i<taille,i++)
printf("Nom: %s\nPrenom: %s\nTelephone: %d\n",pers.nom,pers.prenom,pers.tel);
}
void suppresion(p pers)
{
free(elt);
}
void recherche(p pers)
{
char nav;
ecrire(p);
p *premier();
creation(p);
lecture(p);
do
{
printf("'s' pour suivant - 'p' pour precedent - 'q' pour quitter : ");
scanf("%c",&nav);
fflush(stdin);
switch(nav)
{
case 's' :
prem=prem->suivant;
break;
case 'p' :
prem=prem->precedent;
break;
case 'q' :
suppresion(p);
break;
default : printf(" 's', 'p' ou 'q' ... c'est pas si compliquer...");
}
}while(nav!='q');
}
void menu(p pers)
{
char nav;
do
{
printf("Contacts téléphoniques\n 1. Ajout de contacts\n 2. Recherche de contacts\n 3. Quitter\n");
scanf("%d",&nav);
fflush(stdin);
switch(nav)
{
case '1' :
ecrire(p);
break;
case '2' :
recherche(p);
break;
case '3' :
break;
default: printf("Veuillez appuyer sur 1, 2 ou 3");
}
}while(nav!='3');
}
voila en esperant avoir des réponses positives je vous remercie d'avance pour le futur soutien.
renaud
Configuration: Windows XP Internet Explorer 7.0
21 réponses
- 1
- 2
Suivant
-
j'avais le même TP en deuxième année d'ingéniorat et je me suis vraiment fatigué pour le faire. tu veux que je te donne mon source ?
-
Nan mais vous êtes tous dans la même école ou quoi ?
Si c'est le cas je plains les profs :-/ -
Au lieu de tous demandé le code source , je vous conseille d'aller regarder sur :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
En 3semaine j'ai appris le langage C sur ce site et je peux maintenant faire pas mal de mini-jeux avec la SDL .
Je vous recommande donc ce site au lieu de copier/coller le code source d'un autre..... -
salut je voudrais si possible avoir les codes sources de l'annuaire.
je vous remercie d'avance
estime01@hotmail.com -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci pour la rapidité de la réponse lol
oui si ca ne te dérange pas ca pourrais m'etre fort utile
tu peux envoyer a copperenaud@hotmail.com
vraiment un grand merci pour la vitesse de la réponse -
-
malheureusement ce n'est pas exactement ce que j'attendais car le code est fort diffférent (du a l'énoncé qui me demande juste d'entrer un nom, un prénom et un numéro de tél). si qqn a une solution..
-
c'est vrai que nous on y a intégré un agenda mais aussi un annuaire.
bon courage quand même -
slt j ai un projet a rendre en langc sur la creation d une liste de contact(nom,prenom,adresse, tel,e-mail) avec les pointeurs j aimerais k vous m aidez
-
Bsr astrotouf!!!
si possible, j'aimerai bien que vous m'envoyer le code source de votre annuaire téléphonique crée en language C/C++,
Merci bien d'avance!!!!!
Anisse / amine2casa@hotmail.com -
code::bloks donne sa en compilant
-------------- Build: Debug in test_ccm ---------------
Compiling: main.c
C:\Users\Moi\Documents\Codeblocks\test_ccm\main.c: In function `premier':
C:\Users\Moi\Documents\Codeblocks\test_ccm\main.c:23: warning: 'main' is usually a function
C:\Users\Moi\Documents\Codeblocks\test_ccm\main.c:23: error: syntax error before '{' token
C:\Users\Moi\Documents\Codeblocks\test_ccm\main.c:81: error: syntax error before "autrechose"
C:\Users\Moi\Documents\Codeblocks\test_ccm\main.c:121: error: syntax error before "creation"
Process terminated with status 1 (0 minutes, 0 seconds)
3 errors, 1 warnings -
-
Fodié, j'espère pour toi que les profs d'info ne sauront pas que tu as récupéré un code source depuis internet, sinon ils riquent de te saquer.
Bon courage quand même!! -
st tou le monde moi aussi j ai besoin du code source pour la création d un annuaire en c
svp j atten k vou
merci merci -
Stp moi aussi j'ai le même projet et j'ai besoin du sources Merci d'avance à tous
Email : ayoub.kh@gmail.com -
G beson de ce code source le plutôt possible!merci d'avance!
ps:mon adresse e mail est:wael320@hotmail.com -
Si c'était possible de récupérer également le code source car je bloque un peu sur un exercice de même type.
Merci d'avance -
moi aussi jé vrt besoin de ce code ... je suis nouveau sur le forum priére de m'aider c vrt urgent
mn gmail est titizae@gmail.com -
-
- 1
- 2
Suivant