|
|
|
malgre qu il n ya aucune faute de compilaton il ne tourne pas???aidez moi svp
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<econio.h>
#include<econio.cpp>
void main()
{char cod[500][3],np[500][10],enfan[500][10][10],temp[1][10][10],ch[3],ch1[10],rech[10],ch2[10],ch3[10];
int date[500][3],c,n=0,nb[500],ident[500],t,id,ok,i,j,k,h,jour,moi,anne,salair;
gotoxy(20,10); printf("1)AJOUTER UNE PERSONNE DANS LE TABLEAU");
gotoxy(20,12); printf("2)AJOUTER LES ENFANTS D UNE PERSONNE");
gotoxy(20,14); printf("3)SUPRIMER UNE PERSONNE DE LA LISTE");
gotoxy(20,16); printf("4)CONSULTER OU AFFICHERLES PERSONNES");
gotoxy(20,18); printf("5)CHERCHER UNE PERSONNE PAR SON NON OU SON PRENOM3");
gotoxy(20,20); printf("6)AFICHER LES INFORMATION SUR UNE PERSONNE");
gotoxy(20,22); printf("7)RETOURNER LE NON DE PERE OU DE MERE D UNE PERSONNE");
gotoxy(20,24); printf("8)RETOURNER L AGE DUNE PERSONNE");
gotoxy(20,26); printf("9)CALCULER LE SALAIRE");
gotoxy(20,28); printf("10)MODIFIER LES INFORMATION D UNE PERSONNE");
gotoxy(20,30); printf("11)TRIER LA LISTE DES PERSONNES\n\n");
/*printf("AJOUTER LE NON ET LE PRENOM DE LA PREMIERE PERSONNE\n");
gets(np[1]);printf("entrer son identifiant\t");scanf("%d",&ident[1]);
printf("entrer la date de naissance de la personne ajouter\njour/moi/année");
scanf("%d",&date[1][1]);
printf("\t");
do{scanf("%d",&date[1][2]);}
while(date[1][2]<1||date[1][2]>12);
printf("\t");
scanf("%d",&date[1][3]);
do{printf("entrer le nombre d enfant de la personne ajouter");
scanf("%d",&nb[1]);}
while(nb[1]>10||nb[1]<0);
for(i=0;i<nb[1];i++)
{printf("entrer le non de l enfant numero %d",i+1);
fflush(stdin);gets(enfan[1]);}
do{
printf("entrer le le code (grade et heure de travail) de la personne ajouter");
scanf("%s",&cod[1]);
strcpy(ch,cod[1]);
}
while(*ch!='e'&& *ch!='c'||isdigit(*(ch+1))==0||isdigit(*(ch+2))==0);
*/
do{
printf("ENTRER LE NUMERO DE L APLICATION QUE VOUS VOULEZ EFFECTUER\n");
fflush(stdin);
scanf("%d",&c);
if(c<1||c>11)
printf("choix invalid\n");
}
while(c<1||c>11);
n++;
switch(c){
case 1:{
do{
clrscr();
if(n<500)
{printf("vous avez choisie d ajouter une personne\n\n");n++;
printf("ENTRER LE NON ET LE PRENOM DE LA PERSONNE A AJOUTER\n");
fflush(stdin);gets(np[n]);
printf("entrer son identifiant\t");
scanf("%d",&ident[n]);
printf("entrer la date de naissance de la personne ajouter\njour/moi/année");
scanf("%d",&date[n][1]);
printf("\t");
do{scanf("%d",&date[n][2]);}
while(date[n][2]<1||date[n][2]>12);
printf("\t");
scanf("%d",&date[n][3]);
do{printf("entrer le nombre d enfant de la personne ajouter");
scanf("%d",&nb[n]);}while(nb[n]<0||nb[n]>10);
for(i=0;i<nb[n];i++)
{printf("entrer le nom de lenfant numero %d",i+1);
fflush(stdin);gets(enfan[n]);}
printf("entrer le le code (grade et heure de travail) de la personne ajouter");
gets(cod[n]);
printf("si vous voulez ajouter une autre personne taper 1 sinon tapez n importe quel touche");
scanf("%d",&t);}
else
printf("desolé vous avez dépasser la capacité du programe");
}while( t==1 );
}
case 2:{clrscr();
printf("vous avez choisie d ajouter les enfants d une personne\n");
do{printf("entrer l identifiant de la personne a ajouter les enfants\n");//recherche
scanf("%d",id);
for(i=0;i<n;i++)
{ok=0;
if(id==ident)
{ok=1;break;}}
if(ok==0)
printf("l identifiant entrer ne figure pas dans la liste");}
while(ok==0);
printf("l identifiant entrer convien a(%s)\n");
printf("nombre d enfant =[%d]\n",nb);
printf("entrer le nombre debfant que vous voulez ajouter\t");
do{scanf("%d",&c);
}while((c+nb)>10);
for(j=nb;j<nb+c;j++)
{fflush(stdin);gets(enfan[j]);}
}
case 3:{
do{
clrscr();
printf("vous avez choisi de suprimer une personne");
do{printf("entrer l identifiant de la personne a suprimer");//recherche
scanf("%d",id);
for(i=0;i<n;i++)
{ok=0;
if(id==ident)
{ok=1;break;}}
if(ok==0)
printf("l identifiant entrer ne figure pas dans la liste");}while(ok==0);
//supression
for(j=i;j<n;j++)
{strcpy(np,np[i+1]);
date[1]=date[i+i][1];date[2]=date[i+i][2];date[3]=date[i+i][3];
ident=ident[i+1];
nb=nb[i+1];
strcpy(cod,cod[i+1]);
}
printf("si vous vouler suprimer une autre personne taper 1 \n");scanf("%d",&t);}
while(t==1);
}
case 4:{clrscr();
printf("vous avez choisie de consulter les personne\n");
do{
do{printf("entrer l identifiant de la personne a consulter\n");
scanf("%d",id);
for(i=0;i<n;i++)
{ok=0;
if(id==ident)
{ok=1;break;}}
if(ok==0)
printf("l identifiant entrer ne figure pas dans la liste\n\n");}while(ok==0);
printf("la personne a consulter est %s ",np);
printf("sont idetifiant est %d \n",ident);
printf("nombre d enfant %d\n",nb);
printf("son code (grade/nombre dheure de travail) est %s\n\n\n",cod);
printf("si vous vouler suprimer une autre personne taper 1 \n");scanf("%d",&t);}
while(t==1);
}
case 5:{
//entrer du nom ou pré a recherché puis le comparé avec les np du tableau
//chaque np on le découpe non et prenom et on fai la comparaison avec les deux chaine obtenu
clrscr();
printf("vous avez choisi de chercher une personne par son nom ou prenom\n");
printf("entrer le non ou le prenom de la personne a rechercher \n");
gets(rech);
for(i=0;i<n;i++)
{strcpy(ch1,np);
for(j=0;j<=(strlen(ch1));j++)
{if(isspace(ch1[j])!=0)
strncpy(ch2,ch1,j);}
for(h=0,k=j;ch[k]=!'\0';h++,k++)
{ch3[h]=ch1[k];}
if(strcmp(rech,ch2)==0||strcmp(rech,ch3)==0)
printf("le non ou prenom que vous avez entrer existe\n");
printf("son identifiant est %d\n",ident);
}
}//fin case
case 6:{clrscr();
printf("entrer l identifiant du pere des enfants que vous voulez information sur leure infants \n\t");
scanf("%d",id);
ok=0;
for(i=0;i<n;i++)
{if(ident==id)
{ok=1;break;}
if(ok==0)
printf("identifiant non valid");
else
printf("l identifiant entrer corespond a (%s) \n",np);
printf("nombre d enfants :%d",nb);
if(nb>0)
{printf("ces enfants sont les suivant\n");
for(j=0;j<nb;j++)
{printf("%s\n",enfan[j]);
} }}
}
case 7:{clrscr();
printf("vous avez choisi de retourner le non de pere ou de mere d une personne\n");
printf("entrer le non de la personne \t");
gets(ch1);
for(i=0;i<n;i++)
{for(j=0;j<nb;j++)
{if(strcmp(ch1,enfan[j])==0)
printf("c est l enfant de (%s)",np); }
}
}
case 8:{clrscr();
printf("vous avez choisie de retourner l age d une personne\n");
do{do{printf("entrer l identifiant de la personne a retourner son age\t");
fflush(stdin);
scanf("%d",&id);
ok=0;
for(i=0;i<n;i++)
{if(ident==id)
{ok=1;break;}}
if(ok==0)
printf("identifiant non valid\n");
}while(ok==0);
printf("entrer la date d aujourd hui jour/moi/anné");
do{scanf("%d",&jour);
scanf("%d",&moi);
scanf("%d",&anne);}
while((jour>31||jour<1)||((moi==4||moi==6||moi==8||moi==9||moi==11)&&jour==31)||((moi==2)&&(anne%4==0)&&(jour>28))||((moi==2)&&(anne%4!=0)&&(jour>29))) ;
printf("l identifiant entrer convient a (%s) son age est %d anne est %d moi et %d jour",anne-date[3],moi-date[2],jour-date[1]);
printf("si vous vouler retourner l age d une autre personne taper 1 sinon tapez n importe quel touche\t");
scanf("%d",&j);
}while(j==1); }
case 9:{clrscr();
printf("vous avez choisie de rtourner le salaire d une personne");
do{do{printf("entrer l identifiant de la personne a retourner le salaire\t");
fflush(stdin);
scanf("%d",&id);
ok=0;
for(i=0;i<n;i++)
{if(ident==id)
{ok=1;break;}}
if(ok==0)
printf("identifiant non valid\n");
}while(ok==0);
if(cod[1]=='e')
salair=1750*(((cod[2]-60)*10)+cod[3]);
else
if(cod[1]=='c')
salair=3450*(((cod[2]-60)*10)+cod[3]);
printf("le salaire de lemployee (%s) est =[%d]",np,salair);
printf("si vous vouler retourner le salaire d une autre personne taper 1 sinon tapez n importe quel touche\t");
scanf("%d",&j);}while(j==1);
}
case 10:
{clrscr();
printf("vous avez choisie de modifier les information d une personne");
do{do{printf("entrer l identifiant de la personne a modifier les information\t");
fflush(stdin);
scanf("%d",&id);
ok=0;
for(i=0;i<n;i++)
{if(ident==id)
{ok=1;break;}}
if(ok==0)
printf("identifiant non valid\n");
}while(ok==0);
printf("entrer le numero de linformation que vous voulez modifier\n\n");
printf("1)non et prenom\n\n2)date de naissance\n\n3)identifiant\n\n4)nombre d enfant et leure identifiant\n\n5)code\n");
do{scanf("%d",&t);
if(t<1||t>5)
printf("numero invalide \n entrer un numero valide\n");}
while(t<1||t>5);
switch(t)
{
case 1:{printf("modification du nom prenom\n");
printf(" l identifiant entrer convien a (%s)\n",np);
printf("entrer le nouveau nom et prenom");
gets(np);}
case 2:{printf("modification de la date de naissance\n");
printf(" l identifiant entrer convien a (%s)\n",np);
printf("sa date de naissance est %d/%d/%d\n",date[1],date[2],date[3]);
printf("entrer la nouvelle date de naissance jour/moi/anne\n");
do{do{scanf("%d",&date[1]);jour=date[1];}while(jour>31||jour<1);
printf("\t");
do{scanf("%d",&date[2]);moi=date[2];}
while(date[2]<1||date[2]>12);
printf("\t");
scanf("%d",&date[3]);anne=date[3];}
while((jour>31||jour<1)||((moi==4||moi==6||moi==8||moi==9||moi==11)&&jour==31)||((moi==2)&&(anne%4==0)&&(jour>28))||((moi==2)&&(anne%4!=0)&&(jour>29))) ;
}
case 3:{printf("modification de lidentifiant");
printf(" l identifiant entrer convien a (%s)\n",np);
printf("entrerle nouveau identifiant");
scanf("%d",&ident);}
case 4:{
printf("modification du nombre nombre d enfant et leure identifiant");
printf(" l identifiant entrer convien a (%s)\n",np);
printf("il posede %d enfant\n",nb);
printf("entrer le nouveau nombre d enfant\t");
scanf("%d",&c);
if(c<nb)
{ printf("vous allez dimunier le nombre d enfant");
printf("les enfants sont les suivant");
for(j=0;j<nb;j++)
{printf("%d)%s\n",j+1,enfan[j]);}
printf("entrer les numeros des enfants que vous voulez le suprimer\t");
for(h=0;h<nb-c;h++)
{do
{scanf("%d",&t);}
while(t>nb||t<1);
for(k=t;k<nb-1;k++)
{strcpy(enfan[k],enfan[k+1]);nb--;
printf("l enfant %d est suprimer",t);}}}
else
if(c>nb)
{printf("vous avez ajouter les enfant de %s \n ",np);
printf("entrer les noms des enfaant a ajouter\n");
for(h=nb;h<c-nb;h++)
{gets(enfan[h]);}
}
nb=c;
}
case 5:{printf("modification du code \n");
printf("l encien code est %s \n",cod);
do{ok=1;
printf("entrer le le code (grade et heure de travail) de la personne ajouter");
scanf("%s",&cod);
if(cod[1]!='e'&&cod[1]!='c'||isdigit(cod[2])==0||isdigit(cod[3])==0)
{ok=0;printf("code eronne\n");}
}
while(ok==0);}
}
printf("si vous voulez modifiez les information d une autre personne tapez 1 \t");
scanf("%d",&t);}
while(t==1);}
case 11:{printf("trie de la liste des personnes\n");
for(i=0;i<n;i++)
{for(j=i;j<n;j++)
{if(strcmp(np,np[j])>0)
{strcpy(ch1,np);strcpy(np,np[j]);strcpy(np[j],ch1);
h=ident;ident=ident[j];ident[j]=h;
h=date[1];date[1]=date[j][1];date[j][1]=h;
h=date[2];date[2]=date[j][2];date[j][2]=h;
h=date[3];date[3]=date[j][3];date[j][3]=h;
h=nb;nb=nb[j];nb[j]=h;
strcpy(ch,cod);strcpy(cod,cod[j]);strcpy(cod[j],ch);
for(k=0;k<nb[j];k++)
{strcpy(temp[1][k],enfan[k]);}
for(h=0;h<nb[j];h++)
{strcpy(enfan[h],enfan[j][h]);}
for(h=0;h<nb;h++)
{strcpy(enfan[h],temp[1][1]);}}}}
}
}
}
|
|