#include <stdio.h>
#define MAXUTENTI 10
typedef struct
{
char prefisso[5];
int numero;
}phone;
typedef struct
{
char nome[20];
char cognome[20];
phone telefono;
}utente;
typedef enum
{false,true} operazioni logiche;
main()
{
utente UTENTI[MAXUTENTI];
char nome[20],cognome[20],prefisso[5];
int inseriti,a,i,j,numero;
operazioni logiche fine,trovato;
char scelta,c;
inseriti=0;
fine=false;
while
(inseriti<MAXUTENTI && !fine){
printf("Vuoi inserire un utente?");
scelta=getchar();
c=getchar();
if (scelta==10 || scelta==20){
printf("Inserisci il nome:");
gets(UTENTI[inseriti].nome);
printf("Inserisci il cognome:");
gets(UTENTI[inseriti].cognome);
printf("Inserisci il numero:");
scanf("%s",UTENTI[inseriti].telefono.numero);
inseriti++;
c=getchar();
}
else
fine=true;
}
fine=false;
do
{
printf("\n");
printf("QUALE SCELTA VUOI EFFETTUARE NELLA RUBRICA?\n");
printf("1: inserisci nominativo\n");
printf("2: ricerca\n");
printf("3: uscita\n");
scanf("%d",&a);
c=getchar();
switch
(op){
case(2):
/* ricerca */
printf("Inserisci il dati della persona da ricercare: \n");
printf("Nome:");
gets(nome);
printf("Cognome:");
gets(cognome);
i=0;
trovato=false;
while
(i<inseriti && !trovato){
if
(strcmp(UTENTI[i].nome,nome)==0 && strcmp(UTENTI[i].cognome,cognome)==0){
trovato=true;
printf("Il numero di telefono e‘: (%s) %d\n",UTENTI[i].telefono.numero);
}
i++;
}
if
(!trovato)
printf("L’utente ricercato non appartiene all’archivio!\n");
break;
case(1):
/* inserimento */
if
(inseriti<MAXUTENTI){
printf("Inserisci il nominativo dell'utente: \n");
printf("Nome:");
gets(UTENTI[inseriti].nome);
printf("Cognome:");
gets(UTENTI[inseriti].cognome);
printf("Numero di telefono:\n");
scanf("%d",&UTENTI[inseriti].telefono.numero);
inseriti++;
}
else
printf("Non e' presente piu' spazio per inserire nuovi nominativi.\n");
break;
case
(3):
/* uscita */
fine=true;
break;
default: printf("ESCI!");
}
}
while(!fine);
}