23/11/09 17:29
matteog
#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(); }
non sò come fare la funzione cancella???mi sapete aiutare??
aaa