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