Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- void main()
- {
- int choix,j,i,x, nb,g,test,nbamis,nbfamille,nbcollegue,position, r,choix2,ooredoo,telecom,orange,maxop,indice,abonnee,unique,count,conti,o,autre,nbnum,k;
- long tab [100], numerosupprime;
- char matrice [100][30], personne[28],aux[28],nouvellecat;
- char* nom ;
- printf("MENU:\n");
- printf("1- remplir le repertoire\n");
- printf("2- afficher le repertoire trie par ordre alphabetique\n");
- printf("3-rechercher un contact\n");
- printf("4-supprimer un contact\n");
- printf("5-afficher le nombre de contact par categorie\n");
- printf("6-afficher la liste d'amis et leur nombre par operateur telephonique\n");
- printf("7-afficher l'operateur telephonique ayant le max d'abonnés et leur nombre\n");
- printf("8-les noms de personnes ayant plus qu'un numero de telephone\n");
- printf("9-quitter\n");
- do
- {
- do
- {
- printf("choisir un numero de 1 a 9: ");
- scanf("%i",&choix);
- } while ((choix <1)||(choix>9));
- switch(choix)
- {
- case 1: printf (" REMPLISSAGE DU REPERTOIRE \n");
- printf("saisir le nombre des numeros a saisir dans la repertoire: ");
- scanf("%d",&nb ) ;
- for(i=0;i<nb;i++)
- {
- do {
- printf("saisir un numero de telephone ");
- scanf("%li",&tab[i]);
- x=tab[i]/pow(10,7);
- unique=0;
- for (o=0;o<=i-1;o++)
- {
- if (tab[o]==tab[i])
- unique=1;
- }
- } while(( (x!= 2) && (x!= 5) && (x != 9))||(unique!=0));
- do{
- printf("saisir son nom ");
- getchar() ;
- gets(matrice[i]);
- } while (strlen(matrice[i])>28);
- do {
- printf("saisir son categorie ");
- scanf("%c",&matrice[i][29]) ;
- fflush(stdin);
- } while (( toupper(matrice[i][29])!='A') && ( toupper(matrice[i][29])!='F')&& ( toupper(matrice [i][29])!= 'C'));
- }
- break;
- case 2:
- do
- { conti=1;
- for (i=0; i<nb-1; i++ )
- {
- if ( strcmp(matrice[i],matrice[i+1])>0 )
- {
- strcpy (aux,matrice[i]) ;
- strcpy (matrice[i], matrice[i+1]);
- strcpy (matrice[i+1], aux) ;
- nouvellecat=matrice [i][29] ;
- matrice [i][29]=matrice [i+1][29];
- matrice [i+1][29]=nouvellecat ;
- autre=tab[i];
- tab[i]=tab[i+1] ;
- tab[i+1]=autre ;
- conti=0;
- }
- }
- }while (conti==0);
- printf(" le nouveau repertoire trie est : \n ");
- for (i=0;i<nb;i++)
- { printf("%s\n",matrice[i]);
- printf ("%li\n",tab[i]);
- printf ("%c\n ",matrice[i][29]) ;
- }
- break;
- case 3:
- printf(" RECHERCHE D'UNE PERSONNE DANS CE REPERTOIRE \n");
- printf("donner le nom du personne a chercher\n");
- scanf("%s",personne);
- test=0;
- for(k=0;k<28;k++)
- { if(strncmp(personne,matrice[k],28)==0)
- {test=1;
- printf("cette personne est enregistree sous le numero: %li\n",tab[k]);
- }
- }
- if (test==0)
- printf("-1\n");
- break;
- case 4:
- printf (" SUPPRESSION D'UN CONTACT \n");
- printf("donner le numero a supprimer ");
- scanf("%li",&numerosupprime);
- i=0;
- r=0;
- printf("------verification de l'existence de ce num dans le repertoire------\n");
- do
- {
- if (tab[i]==numerosupprime)
- {
- printf("oui, existe\n");
- position=i;
- r=1;
- }
- else
- i++;
- } while ((i<=nb)&&(r!=1));
- if (r==0) printf("non,n'exsite pas\n");
- printf("tapez 0 si vous voulez voir le nouvel repertoire: ");
- scanf("%i",&choix2);
- do{
- if (r==1)
- { for (i=position;i<nb-1;i++)
- {tab[i]=tab[i+1];
- strcpy(matrice[i],matrice[i+1]);
- }
- nb--;
- }
- printf("le nouvel repertoire est : \n");
- for (i=0;i<nb;i++)
- {printf ("%li\n",tab[i]);
- printf("%s\n",matrice[i]);
- fflush (stdin) ;
- printf ("%c\n ",matrice[i][29]) ;
- }
- } while (choix2!=0);
- break;
- case 5:
- nbfamille=0;
- nbcollegue=0;
- nbamis=0;
- printf(" LE NOMBRE DE CONTACTS PAR CATEGORIE \n");
- for (i=0;i<nb;i++)
- {
- if (toupper(matrice[i][29])=='A')
- nbamis++;
- else if (toupper(matrice[i][29])=='F')
- nbfamille++ ;
- else nbcollegue++ ;
- }
- printf(" - Amis: %i \n",nbamis);
- printf(" - Membres de la famille : %i \n",nbfamille);
- printf(" - collegues: %i \n",nbcollegue);
- break;
- case 6:
- printf(" LA LISTE D'AMIS ET LEUR NOMBRE PAR OPERATEUR \n");
- ooredoo=0;
- telecom=0;
- orange=0;
- for (i=0;i<nb;i++)
- {
- if (toupper(matrice[i][29])=='A')
- {
- x=tab[i]/pow(10,7);
- if (x==2)
- ooredoo++;
- else if (x==9)
- telecom++;
- else orange++;
- }
- }
- printf("le nbre des numeros ooredoo : ");
- printf("%i\n",ooredoo);
- for (i=0;i<nb;i++)
- {x=tab[i]/pow(10,7);
- if ((x==2)&&(toupper(matrice[i][29])=='A'))
- {
- printf("%s\n",matrice[i]);
- printf("%li\n",tab[i]);
- }
- }
- printf("Le nbre des numeros telecom : ");
- printf("%i\n",telecom);
- for (i=0;i<nb;i++)
- { x=tab[i]/pow(10,7);
- if ((x==9)&&(toupper(matrice[i][29])=='A'))
- {
- printf("%s\n",matrice[i]);
- printf("%li\n",tab[i]);
- }
- }
- printf("le nbre des numeros orange : ");
- printf("%i\n",orange);
- for (i=0;i<nb;i++)
- {x=tab[i]/pow(10,7);
- if ((x==5)&&(toupper(matrice[i][29])=='A'))
- {
- printf("%s\n",matrice[i]);
- printf("%li\n",tab[i]);
- }
- }
- break;
- case 7:
- printf(" L 'OPERATEUR TELEPHONIQUE AYANT LE MAX D'ABONNEES EST : \n");
- ooredoo=0;
- telecom=0;
- orange=0;
- for (i=0;i<nb;i++)
- { x=tab[i]/pow(10,7);
- if (x==2)
- ooredoo++;
- else if (x==9)
- telecom++;
- else orange++;
- }
- if ((ooredoo==telecom)&&(telecom==orange))
- printf("tous les operateurs ont le meme nbre d'abonnees\n ");
- else
- { maxop=ooredoo;
- if (telecom>maxop)
- { maxop=telecom;
- printf(" telecom avec %i abonnees\n ",telecom);}
- else
- if (orange>maxop)
- {maxop=orange;
- printf(" orange avec %i abonnees\n ",orange);}
- else printf(" ooredoo avec %i abonnees\n ",ooredoo);}
- break;
- case 8:
- do {
- nom = matrice [i] ;
- g =i ;
- count=0;
- do
- {
- count ++;
- g++;
- } while ( strcmp ( matrice [ g ] , nom ) ) ;
- if ( count > 1 )
- printf("nom:% s, compte:% d" , nom ,count);
- i =i+g;
- } while ( i <nb );
- break ;
- }
- }while (choix!=9);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement