#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
typedef char stringa[40];
struct membro
{
stringa nome;
stringa cognome;
stringa citta;
stringa numero_casa;
stringa cellulare;
stringa email;
membro * succ;
};
membro * lista=NULL;
membro * first=NULL;
membro * prev;
membro * next;
stringa app;
void cornice(void);
void aggiungi(void);
void modifica(void);
void cancella(void);
void ricerca(void);
void visualizza(void);
int scelta, termina=0, nomu=0;
int main(){
cornice();
do{
cin>>scelta;
switch(scelta){
case 1:
aggiungi();
break;
case 2:
modifica();
break;
case 3:
cancella();
break;
case 4:
ricerca();
break;
case 5:
visualizza();
break;
case 6:
termina=1;
break;
default:
cout<<"!!! ATTENZIONE !!! Devi inserire uno dei valori indicati";
getch();
cout<<" ";
cout<<" ";
}
}while(termina==0);
getch();
return 0;
}
void aggiungi(void){
int i=1, num_membri=0, ins=0;
stringa nomex, cognomex, cittax, cellx, casax, emailx;
nomu=1;
cornice();
cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
cout<<"Inserisci il NOME : ";
cin>>nomex;
cout<<"Inserisci il COGNOME : ";
cin>>cognomex;
cout<<"Inserisci la CITTA' : ";
cin>>cittax;
cout<<"Inserisci il NUMERO DI CELLULARE : ";
cin>>cellx;
cout<<"Inserisci il NUMERO DI CASA : ";
cin>>casax;
cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
cin>>emailx;
num_membri++;
while(i<=num_membri){
if(first==NULL){
lista=new(membro);
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=NULL;
first=lista;
}
else{
lista=first;
ins=0;
while(ins==0){
if(lista->succ!=NULL){
if(strcmp(cognomex,lista->cognome)>0){
prev=lista;
lista=lista->succ;
next=lista;
}
else{
if(lista!=first){
prev->succ=new(membro);
lista=prev->succ;
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=next;
ins=1;
}
else{
next=first;
lista=new(membro);
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=next;
first=lista;
ins=1;
}
}
}
else{
if(strcmp(cognomex,lista->cognome)>0){
lista->succ=new(membro);
lista=lista->succ;
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=NULL;
ins=1;
}
else{
if(prev!=NULL){
prev->succ=new(membro);
lista=prev->succ;
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=next;
ins=1;
}
else{
next=first;
lista=new(membro);
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista->succ=next;
first=lista;
ins=1;
}
}
}
}
}
i++;
}
nomu=0;
cornice();
}
void modifica(void)
{
system("cls");
cout<<"ben venuti!"<<endl;
int trovato=0;
stringa nomet;
nomu=1;
cornice();
lista=first;
cout<<"Inserisci il nome del membro da modificare : ";
cin>>nomet;
while((trovato==0)&&(lista!=NULL))
{
if(strcmp(lista->nome,nomet)==0)
{
trovato=1;
}
else
lista=lista->succ;
}
if(trovato==0)
{
cout<<"Il membro di nome " <<nomet <<" non e' presente in rubrica.";
}
else
{
cout<<"Ecco i dati del membro di nome " <<nomet <<" :";
cout<<"Nome: "<<lista->nome<<endl;
cout<<"Cognome: "<<lista->cognome<<endl;
cout<<"Citta': "<<lista->citta<<endl;
cout<<"Numero del cellulare: "<<lista->cellulare<<endl;
cout<<"Numero di casa: "<<lista->numero_casa<<endl;
cout<<"Indirizzo email: "<<lista->email<<endl;
strcpy(lista->nome,app);
strcpy(lista->cognome,app);
strcpy(lista->citta,app);
strcpy(lista->cellulare,app);
strcpy(lista->numero_casa,app);
strcpy(lista->email,app);
int i=1, num_membri=0, ins=0;
stringa nomex, cognomex, cittax, cellx, casax, emailx;
nomu=1;
cornice();
cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
cout<<"Inserisci il NOME : ";
cin>>nomex;
cout<<"Inserisci il COGNOME : ";
cin>>cognomex;
cout<<"Inserisci la CITTA' : ";
cin>>cittax;
cout<<"Inserisci il NUMERO DI CELLULARE : ";
cin>>cellx;
cout<<"Inserisci il NUMERO DI CASA : ";
cin>>casax;
cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
cin>>emailx;
strcpy(lista->nome,nomex);
strcpy(lista->cognome,cognomex);
strcpy(lista->citta,cittax);
strcpy(lista->cellulare,cellx);
strcpy(lista->numero_casa,casax);
strcpy(lista->email,emailx);
lista=lista->succ;
}
getch();
nomu=0;
cornice();
}
void cancella(void)
{
system("cls");
int trovato=0;
stringa nomet;
nomu=1;
cornice();
lista=first;
cout<<"Inserisci il nome del membro da trovare : ";
cin>>nomet;
while((trovato==0)&&(lista!=NULL))
{
if(strcmp(lista->nome,nomet)==0){
trovato=1;
}
else
lista=lista->succ;
}
if(trovato==0){
cout<<"Il membro di nome " <<nomet <<" non e' presente in rubrica.";
}
else
{
cout<<"Ecco i dati del membro di nome " <<nomet <<" :";
cout<<"Nome: "<<lista->nome<<endl;
cout<<"Cognome: "<<lista->cognome<<endl;
cout<<"Citta': "<<lista->citta<<endl;
cout<<"Numero del cellulare: "<<lista->cellulare<<endl;
cout<<"Numero di casa: "<<lista->numero_casa<<endl;
cout<<"Indirizzo email: "<<lista->email<<endl;
//qui come faccio a eliminare il contatti e riagganciare alla successiva??
lista=lista->succ;
}
getch();
nomu=0;
cornice();
}
void ricerca(void){
system("cls");
int trovato=0;
stringa nomet;
nomu=1;
cornice();
lista=first;
cout<<"Inserisci il nome del membro da trovare : ";
cin>>nomet;
while((trovato==0)&&(lista!=NULL)){
if(strcmp(lista->nome,nomet)==0){
trovato=1;
}
else
lista=lista->succ;
}
if(trovato==0)
{
cout<<"Il membro di nome " <<nomet <<" non e' presente in rubrica.";
}
else{
cout<<"Ecco i dati del membro di nome " <<nomet <<" :";
cout<<"Nome: "<<lista->nome<<endl;
cout<<"Cognome: "<<lista->cognome<<endl;
cout<<"Citta': "<<lista->citta<<endl;
cout<<"Numero del cellulare: "<<lista->cellulare<<endl;
cout<<"Numero di casa: "<<lista->numero_casa<<endl;
cout<<"Indirizzo email: "<<lista->email<<endl;
}
getch();
nomu=0;
cornice();
}
void cornice(void)
{
system("cls");
if(nomu==0){
cout<<"RUBRICA DEL GRUPPO 5 2004/2005";
cout<<"1. Aggiungi numero"<<endl;
cout<<"2. Modifica numero"<<endl;
cout<<"3. Cancella numero"<<endl;
cout<<"4. Ricerca numero"<<endl;
cout<<"5. Visualizza cognomi della rubrica"<<endl;
cout<<"6. Esci dalla rubrica"<<endl;
cout<<"FAI LA TUA SCELTA >>> Inserisci un valore : "<<endl;
}
}
void visualizza()
{
system("cls");
lista=first;
while(lista!=NULL)
{
cout<<"Ecco i dati del membro : "<<endl;
cout<<"Nome: "<<lista->nome<<endl;
cout<<"Cognome: "<<lista->cognome<<endl;
cout<<"Citta': "<<lista->citta<<endl;
cout<<"Numero del cellulare: "<<lista->cellulare<<endl;
cout<<"Numero di casa: "<<lista->numero_casa<<endl;
cout<<"Indirizzo email: "<<lista->email<<"\n\n\n\n\n"<<endl;
lista=lista->succ;
}
cornice();
}