1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
// Repertoire.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
struct pers //declaration de la structure repertoire
{
char *pnom; //nom dans le repertoire
char tel; // n° de tel
int dpt; // n° departement
int indv; //ind de la ville
};
struct ville //declaration de la structure ville
{
char *pville; //nom de la ville
int occ; //nombre d'occurence d'une ville
};
void main()
{
pers *tp[50];
ville *tv[50];
int tabc[50]; // tableau d'indice servant au tri alphabetique des noms de ville.
int n=0; // nombre de nom
int v=0; // nombre de ville
int a=0;
int i,r,t;
int rechnom(char[],pers *[],int);
int rechville(char[],ville *[],int);
char zl[15]; // zone de lecture
char code;
system ("cls"); // nettoie l ecran
printf ("\n*****************************************\n\n");
printf ("* REPERTOIRE TELEPHONIQUE METROPOLITAIN *\n\n");
printf ("*****************************************\n\n\n\n\n");
printf ("I - Inscription d'une personne\n\n");
printf ("S - Suppression d'une personne\n\n");
printf ("C - Consultation concernant une personne\n\n");
printf ("V - Visualisation des villes referencees\n\n");
printf ("Q - Arret du progamme\n\n\n\n\n");
printf ("VEUILLEZ SAISIR LA LETTRE CORRESPONDANT\n A L'EVENEMENT SOUHAITE ET CLIQUER SUR ENTRER: \n\n\n");
code=getchar();
while(code != 'q' && code != 'Q')
{
switch(code)
{
case'i':
case'I':
{
system ("cls");
printf("\nVeuillez saisir le nom: \n");
fflush(stdin);
gets(zl);
r= rechnom(zl,&tp,n);
if (r==-1)
{
printf("\nINSCRIPTION EFFECTUEE:\n %s-10",zl);
for (i=n-1;i>=0&&strcmp(zl,tp[i]->pnom)<0;i--) // boucle tri par insertion
{
tp[i+1]=tp[i];
}
i=i+1;
tp[i]=(pers*)malloc(sizeof(pers));
tp[i]->pnom=strdup(zl);
printf("\nVeuillez saisir la ville: \n");
gets(zl);
t= rechville(zl,&tv,v);
if (t==v)
{
tv[v]=(ville *)malloc(sizeof(ville));
tv[v]->pville=strdup(zl);
tv[v]->occ=1;
v++;
printf("\nNouvelle ville : %-15s\n",zl);
}
tp[n]->indv=t;
printf("\nVeuillez saisir le department: \n");
gets(zl);
scanf("%d",tp[n]->dpt);
printf("\nVeuillez saisir le numero de telephone: \n");
fflush(stdin);
gets(zl);
strcpy(tp[n]->tel,zl);
n++;
}
fflush(stdin);
printf("\n Nom deja enregistre\n");
break;
}
}
}
}
int rechnom(char zl[],pers *tp[],int n) //Fonction RECHNOM
{
int i;
for (i=0;i<n && strcmp(zl,tp[i]->pnom)!=0;i++);
if (i<n)
{//trouvé
return (i);
}
return (-1);
}
int rechville(char zl[],ville *tv[],int v) //Fonction RECHVILLE
{
int i;
for (i=0;i<v && strcmp(zl,tv[i]->pville)!=0;i++);
if (i<v)
{//trouvé
tv[i]->occ++;
}
return (i);
} |
Partager