Svp svp svp corrigez moi cet exercice
rourou1211
-
feadin91 Messages postés 282 Statut Membre -
feadin91 Messages postés 282 Statut Membre -
bonjours, Slt
j'espere bien que vs me corrigé cette exercice en language c :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
typedef struct
{int n_ap;
char nom[20],prenom[20];
char adr[20];
char ville[20];
int c_p;
}abonne;
abonne *reservation(int*n)
{abonne *p;
do
{printf("donner le n°d'abonne");
scanf("%d",n);
}while (n<0);
p=(abonne*)malloc(*n*sizeof(abonne));
if (p==NULL) exit(-1);
return p;}
int exist_n(abonne *t,int n,int i)
{int j,c=0;
for(j=0;j<n;j++)
if ((t+j)->n_ap==i)
c=1;
return c;}
void saisie_info(abonne *t,int n)
{int i;
for(i=0;i<n;i++)
{do
{printf("donner numéro d'appel unique");
scanf("%d",&(t+i)->n_ap);
}while(exist_n(t,n,i)!=0);
printf("nom");gets((t+i)->nom);
printf("prenom");gets((t+i)->prenom);
printf("adresse");gets((t+i)->adr);
printf("ville");gets((t+i)->ville);
printf("code postal");
scanf("%d",&(t+i)->c_p);
}}
void rech_ab(abonne *t,int n,int a)
{int i=0;
while (((t+i)->n_ap!=a)&&(i<n))
i++;
if(i<n)
{printf("l'abonne recherche est %s %s",(t+i)->prenom,(t+i)->nom);}
else
printf("non trouve");}
void permute(abonne *x, abonne *y)
{abonne z;
z=*x;
*x=*y;
*y=z;}
abonne *max(abonne *t, int n)
{int i;
abonne *m;
m=t;
for (i=1;i<n;i++)
if ((t+i)->n_ap > m->n_ap)
m=t+i;
return(m);}
void tri (abonne *t, int n)
{int i;
for(i=0;i<n;i++)
permute(t+i,max((t+i),n-i));}
void affiche (abonne *t, int n)
{int i;
for(i=0;i<n;i++)
{printf ("voilà les informations d'abonne %d",i);
printf ("%d",(t+i)->n_ap);
printf ((t+i)->nom);
printf ((t+i)->prenom);
printf ((t+i)->adr);
printf ((t+i)->ville);
printf ("%d",(t+i)->c_p);
}}
void abon_ville(abonne *t, int n, char v[20])
{int i;
for(i=0;i<n;i++)
if ( strcmp((t+i)->ville,v)==0)
{printf((t+i)->nom,(t+i)->prenom);}}
int exist_v(abonne *t, int x, char *tvv)
{int j,i,c=0;
for(i=0;i<j;i++)
if(strcmp((tvv+i),(t+x)->ville)==0)
c=1;
return c;}
void *remplissage (abonne *t, int n, int *m)
{int j,i;
char *tvv;
tvv=(char*)malloc(n*sizeof(char));
if (tvv==NULL) exit(-1);
j=0;
for(i=0;i<n;i++)
if ((exist_v((t+i),j,tvv)==0))
{*(tvv+j)=(char*)malloc(strlen(t+i)->ville)+1*sizeof(char);
strcpy((tvv+j),t+i->ville);
j++;}
tv=(char*)malloc(j+sizeof(char));
for(c=0;c<=j;c++)
*(tv+c)=*(tvv+c);
*m=j;
return tv;}
void n_ab_v(abonne *t, int n, char *tv, int m)
{int i,j,c,m;tv=remplissage(&t,n,&m)
for(j=0;j<=m;j++)
{c=0;
for(i=0;i<n;i++)
if(strcmp(t+i_>ville,*(t+i)==0))
c++;
printf("nombre d'abonne de %s est %d",*(t+i),c);}
}
void liste_v(char *tv, int m)
{int i;
for(i=0;i<=m;i++)
puts(*(tv+i));
}
void main()
{int n,m;
abonne *t;
char *tv;
printf("1 pour reservation");
printf("2 pour saisir les informations");
printf("3 pour chercher un abonne");
printf("4 pour trier le tableau d'abonnes");
printf("5 pour afficher les abonnes");
printf("6 pour afficher les abonnes d'une ville donnee");
printf("7 pour savoir le n° d'abonnes pour chaque ville");
printf("8 pour afficher la liste des villes");
printf("9 pour quitter");
scanf ("%d",&choix);
switch(choix)
{case 1:{t=reservation(&n);goto a;}
case 2:{saisir_info(&t,n);goto b;}
case 3:{printf("donner un numero à chercher");
scanf ("%d",&a);
rech_ab(&t,n a);
goto b;}
case 4:{tri(&t,n);
goto b;}
case 5:{affiche(&t,n);
goto b;}
case 6:{printf("donner la ville à chercher");
gets(vch);
rech_v(&t,n,vch);
goto a;}
case 7:{n_ab_v(&t,n,&tv,m);
goto b;}
case 8:{liste_v(&tv,m);
goto b;}
case 9: printf("fin du programme");
exit(-1);
default{printf("n°incorrect");
goto b;}}
getch();}
merci d'avance et dsl
j'espere bien que vs me corrigé cette exercice en language c :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
typedef struct
{int n_ap;
char nom[20],prenom[20];
char adr[20];
char ville[20];
int c_p;
}abonne;
abonne *reservation(int*n)
{abonne *p;
do
{printf("donner le n°d'abonne");
scanf("%d",n);
}while (n<0);
p=(abonne*)malloc(*n*sizeof(abonne));
if (p==NULL) exit(-1);
return p;}
int exist_n(abonne *t,int n,int i)
{int j,c=0;
for(j=0;j<n;j++)
if ((t+j)->n_ap==i)
c=1;
return c;}
void saisie_info(abonne *t,int n)
{int i;
for(i=0;i<n;i++)
{do
{printf("donner numéro d'appel unique");
scanf("%d",&(t+i)->n_ap);
}while(exist_n(t,n,i)!=0);
printf("nom");gets((t+i)->nom);
printf("prenom");gets((t+i)->prenom);
printf("adresse");gets((t+i)->adr);
printf("ville");gets((t+i)->ville);
printf("code postal");
scanf("%d",&(t+i)->c_p);
}}
void rech_ab(abonne *t,int n,int a)
{int i=0;
while (((t+i)->n_ap!=a)&&(i<n))
i++;
if(i<n)
{printf("l'abonne recherche est %s %s",(t+i)->prenom,(t+i)->nom);}
else
printf("non trouve");}
void permute(abonne *x, abonne *y)
{abonne z;
z=*x;
*x=*y;
*y=z;}
abonne *max(abonne *t, int n)
{int i;
abonne *m;
m=t;
for (i=1;i<n;i++)
if ((t+i)->n_ap > m->n_ap)
m=t+i;
return(m);}
void tri (abonne *t, int n)
{int i;
for(i=0;i<n;i++)
permute(t+i,max((t+i),n-i));}
void affiche (abonne *t, int n)
{int i;
for(i=0;i<n;i++)
{printf ("voilà les informations d'abonne %d",i);
printf ("%d",(t+i)->n_ap);
printf ((t+i)->nom);
printf ((t+i)->prenom);
printf ((t+i)->adr);
printf ((t+i)->ville);
printf ("%d",(t+i)->c_p);
}}
void abon_ville(abonne *t, int n, char v[20])
{int i;
for(i=0;i<n;i++)
if ( strcmp((t+i)->ville,v)==0)
{printf((t+i)->nom,(t+i)->prenom);}}
int exist_v(abonne *t, int x, char *tvv)
{int j,i,c=0;
for(i=0;i<j;i++)
if(strcmp((tvv+i),(t+x)->ville)==0)
c=1;
return c;}
void *remplissage (abonne *t, int n, int *m)
{int j,i;
char *tvv;
tvv=(char*)malloc(n*sizeof(char));
if (tvv==NULL) exit(-1);
j=0;
for(i=0;i<n;i++)
if ((exist_v((t+i),j,tvv)==0))
{*(tvv+j)=(char*)malloc(strlen(t+i)->ville)+1*sizeof(char);
strcpy((tvv+j),t+i->ville);
j++;}
tv=(char*)malloc(j+sizeof(char));
for(c=0;c<=j;c++)
*(tv+c)=*(tvv+c);
*m=j;
return tv;}
void n_ab_v(abonne *t, int n, char *tv, int m)
{int i,j,c,m;tv=remplissage(&t,n,&m)
for(j=0;j<=m;j++)
{c=0;
for(i=0;i<n;i++)
if(strcmp(t+i_>ville,*(t+i)==0))
c++;
printf("nombre d'abonne de %s est %d",*(t+i),c);}
}
void liste_v(char *tv, int m)
{int i;
for(i=0;i<=m;i++)
puts(*(tv+i));
}
void main()
{int n,m;
abonne *t;
char *tv;
printf("1 pour reservation");
printf("2 pour saisir les informations");
printf("3 pour chercher un abonne");
printf("4 pour trier le tableau d'abonnes");
printf("5 pour afficher les abonnes");
printf("6 pour afficher les abonnes d'une ville donnee");
printf("7 pour savoir le n° d'abonnes pour chaque ville");
printf("8 pour afficher la liste des villes");
printf("9 pour quitter");
scanf ("%d",&choix);
switch(choix)
{case 1:{t=reservation(&n);goto a;}
case 2:{saisir_info(&t,n);goto b;}
case 3:{printf("donner un numero à chercher");
scanf ("%d",&a);
rech_ab(&t,n a);
goto b;}
case 4:{tri(&t,n);
goto b;}
case 5:{affiche(&t,n);
goto b;}
case 6:{printf("donner la ville à chercher");
gets(vch);
rech_v(&t,n,vch);
goto a;}
case 7:{n_ab_v(&t,n,&tv,m);
goto b;}
case 8:{liste_v(&tv,m);
goto b;}
case 9: printf("fin du programme");
exit(-1);
default{printf("n°incorrect");
goto b;}}
getch();}
merci d'avance et dsl
A voir également:
- Svp svp svp corrigez moi cet exercice
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Créer exercice à relier word ✓ - Forum Word
- Erreur de mise à jour de la table des matières! ✓ - Forum Word
- Problème table des matières word titres pas pris en compte - Forum Word
- Exercice word gratuit avec corrigé ✓ - Forum Word
3 réponses
Il en a qui se font pas chier à ce que je vois !!!!
Tu veux aussi que l'on suive tes cours à ta place ?
Si tu as testé ton programme et qu'il y a des erreurs, ebvoie-bous ce que t'indiquent les erreurs, on pourra peut être t'aider à ce moment là !
Tu veux aussi que l'on suive tes cours à ta place ?
Si tu as testé ton programme et qu'il y a des erreurs, ebvoie-bous ce que t'indiquent les erreurs, on pourra peut être t'aider à ce moment là !