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 128 129
|
// Repertoire.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
struct rep //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 par [j]
};
struct ville //declaration de la structure ville
{
char * pville; //nom de la ville
int occ; //nombre d'occurence d'une ville
};
void main()
{
rep Trep[50];
char zln[11]; // zone de lecture pour le nom
int n=0; // nombre de nom
ville Tville[50];
char zlv[16]; // zone de lecture pour la ville
int v=0; // nombre de ville
int Tabcv[50]; // tableau d'indice des noms de ville par ordre alphabétique
// (on considère qu'il peut y avoir 50 villes !.)
int x; // variable de Tabcv
char code;
int RECHNOM(CH11,rep[],int);
int RECHVILLE(CH16,ville[],int);
int r; //resultat retourné de la fonction RECHNOM
int t; //resultat retourné de la fonction RECHVILLE
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(zln);
r= RECHNOM(zln,Trep,n);
if (r=-1)
{
printf("\nINSCRIPTION EFFECTUEE:\n %s-11",zln);
printf("\nVeuillez saisir la ville: \n");
gets(zlv);
t= RECHVILLE(zlv,Tville,v);
if (t=-1)
{
v++;
}
Trep[n].indv=v;
printf("\nVeuillez saisir le department: \n");
scanf("%d",&Trep[n].dpt);
printf("\nVeuillez saisir le numero de telephone: \n");
gets(Trep[n].tel);
n++;
}
fflush(stdin);
break;
}
}
}
}
int RECHNOM(CH11 zln,rep Trep[],int n) //Fonction RECHNOM
{
int i;
for (i=0;i<n && strcmp(zln,Trep[i].pnom)!=0;i+=1);
if (i<n)
{//trouvé
printf ("NOM DEJA ENREGISTRE\n")
return (i);
}
else
{
for (i=n-1;i>=0&&zln,Trep[i].pnom)<0;i=i-1)
{
Trep[i+1]=Trep[i];
}
i=i+1;
Trep[i].pnom=strdup(zln);
return (-1);
}
}
int RECHVILLE(CH16 zlv,rep Tville[],int v) //Fonction RECHVILLE
{
int i;
for (i=0;i<v && strcmp(zlv,Tville[i].pville)!=0;i+=1);
if (i<v)
{//trouvé
Tville[i].occ++;
return (i);
}
else
{
Tville[i].occ=1;
Tville.pville=strdup(zlv);
return (-1);
}
} |
Partager