Probleme dans un programme en c

Résolu/Fermé
reggaerai Messages postés 15 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 novembre 2012 - 17 déc. 2009 à 00:28
reggaerai Messages postés 15 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 novembre 2012 - 17 déc. 2009 à 21:30
Bonjour,
j'ai un problème , c'est qu'on je fait la recherche pas chaine de caractères ( nom,prénom ,ville) le recherche passe bien, mais quand je fait le recherche par les int ca marche pas il me donne le messages d'erreur (ex : ce numéro n'existe pas)
voila le programme : et merci -_-
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int n,i,choix,condition2,trouv;
char condition1[10];
struct personne
{
char nom[10],prenom[10],ville[10];
int telephone,cp,rue,numero;
};
struct personne p[10];
void nom ()
{
printf("\n Donner le nom que vous voulez rechercher : ");
scanf("%s",&condition1);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(strcmp(condition1,p[i].nom)==0)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("ce nom n'existe pas");
}
}
void prenom ()
{
printf("\n Donner le prenom que vous voulez rechercher : ");
scanf("%s",&condition1);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(strcmp(condition1,p[i].prenom)==0)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("ce prenom n'existe pas");
}
}
void ville()
{
printf("\n Donner la ville que vous voulez rechercher : ");
scanf("%s",&condition1);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(strcmp(condition1,p[i].ville)==0)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("cette ville n'existe pas");
}
}
void telephone()
{
printf("\n Donner le telephone que vous voulez rechercher : ");
scanf("%s",&condition2);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(condition2==p[i].telephone)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("ce telephone n'existe pas");
}
}
void codepostale()
{
printf("\n Donner le code postale que vous voulez rechercher : ");
scanf("%s",&condition2);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(condition2==p[i].cp)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("ce code postale n'existe pas");
}
}
void rue()
{
printf("\n Donner la rue que vous voulez rechercher : ");
scanf("%s",&condition2);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(condition2==p[i].rue)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("cette rue n'existe pas");
}
}
void numero()
{
printf("\n Donner le numero que vous voulez rechercher : ");
scanf("%s",&condition2);
trouv=0;
printf("les resultats trouv‚s sont : ");
for(i=0;i<n;i++)
{
if(condition2==p[i].numero)
{
printf("\n\nle nom : %s \nle prenom: %s \nlaville : %s \nle telephone : %d \nle code postale : %d \nla rue : %d \nle numero : %d ",p[i].nom,p[i].prenom,p[i].ville,p[i].telephone,p[i].cp,p[i].rue,p[i].numero);
trouv=1;
}
}
if(!trouv)
{
printf("ce numero n'existe pas");
}
}
void main()
{
clrscr();
printf("donner le nombre de personne : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
clrscr();
printf("entrer les informations de la %d personnne :",i+1);
printf("\ndonner le nom : ");
scanf("%s",&p[i].nom);
printf("\ndonner le prenom : ");
scanf("%s",&p[i].prenom);
printf("\ndonner la ville : ");
scanf("%s",&p[i].ville);
printf("\ndonner le telephone : ");
scanf("%d",&p[i].telephone);
printf("\ndonner le code postale : ");
scanf("%d",&p[i].cp);
printf("\ndonner la rue : ");
scanf("%d",&p[i].rue);
printf("\ndonner le numero : ");
scanf("%d",&p[i].numero);
}
clrscr();
printf("====== choisir le critŠre de recherche ======");
printf("\n1====> nom");
printf("\n2====> prenom");
printf("\n3====> ville");
printf("\n4====> telephone");
printf("\n5====> code postale");
printf("\n6====> rue");
printf("\n7====> numero");
scanf("\n %d",&choix);
switch (choix)
{
case 1 :
nom ();
break;
case 2 :
prenom();
break;
case 3 :
ville();
break;
case 4 :
telephone();
break;
case 5 :
codepostale();
break;
case 6 :
rue();
break;
case 7 :
numero();
default:
exit(0);
}
getch();
}

3 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
17 déc. 2009 à 00:44
bonjour,
svp utilise les balises code (bouton à droite de sougliné) pour encadrer ton code.
Ainsi les espaces de départ seront préservés et peut-être que plus de personnes seront ainsi motivées à t'aider. Sinon c'est illisible pour un code de cette taille. Même si on fait un copié collé dans un compilateur, toutes ces lignes sans espacement c'est dur!
0
yes je suis d accord avec vous essayez de faire un effort et copie le code comme il est merci.
0
reggaerai Messages postés 15 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 novembre 2012
17 déc. 2009 à 21:30
non le problème est régler merci c'était une petite faute dans les fonction ("téléphone.rue.numéro") car condition2 et déclarer int et moi je l'entre avec %s lool alors merci pour votre aide.
0