Scarica il file da qui:
http://xoomer.virgilio.it/world721/Rubrica.cpp
perche sul forum le righe con le stringhe vengono spezzate e non puoi fare copia - incolla![]()
codice:#include <cstdlib> #include <iostream> #include <cstring> using namespace std; typedef struct{ char nome [30]; char cognome [30]; char telefono [15]; char mail [20]; }Contatto; typedef struct Rubrica{ Contatto *lista[100]; //numero di contatti presenti nella rubrica int dimensione; //numero massimo di contatti presenti nella rubrica int dimensioneMassima; Rubrica(){ dimensione = 0; dimensioneMassima = 100; } void aggiungiContatto(){ if(dimensione == dimensioneMassima){ cout << "La rubrica contiene già " << dimensioneMassima << " contatti!"; cout << "\nElimina qlche contatto prima di inserirne uno nuovo."; return; } lista[dimensione] = new Contatto(); cout << "\n\n\nInserisci il nome: "; cin >> lista[dimensione] -> nome; cout << "Inserisci il cognome: "; cin >> lista[dimensione] -> cognome; cout << "Inserisci il telefono: "; cin >> lista[dimensione] -> telefono; cout << "Inserisci l'indirizzo e-mail: "; cin >> lista[dimensione] -> mail; dimensione++; } void eliminaContatto(){ } void cambiaTelefono(){ if(dimensione == 0){ cout << "\n\nNon ci sono contatti da modificare nella rubrica!\n\n"; return; } char nome[30]; cout << "\n\nInserisci il nome del contatto da modificare: "; cin >> nome; for(int i = 0; i < dimensione; i++){ if(strcmp(lista[i] -> nome, nome) == 0){ cout << "\nInserisci il nuovo numero di telefono: "; cin >> lista[i] -> telefono; cout << "\nContatto modificato!"; return; } } } void stampa(){ cout << "\n\n******** ___ RUBRICA (" << dimensione << " contatti) ___ ********\n"; for(int i = 0; i < dimensione; i++){ cout << " \n\n |------ Contatto " << i << " --------\n |\n"; cout << " | Nome: \t" << lista[i] -> nome << "\n"; cout << " | Cognome: \t" << lista[i] -> cognome << "\n"; cout << " | Telefono: \t" << lista[i] -> telefono << "\n"; cout << " | Mail: \t" << lista[i] -> mail << "\n"; cout << " |\n |-------------------------\n\n"; } } }Rubrica; int menu(){ // cout << "\n\n\n"; cout << " _______________________________________________________\n"; cout << "| |\n"; cout << "| Menu |\n"; cout << "|_______________________________________________________|\n"; cout << "| |\n"; cout << "| Per inserire un nuovo contatto 1 |\n"; cout << "| Per cambiare il telefono di un contatto 2 |\n"; cout << "| Per eliminare un contatto 3 |\n"; cout << "| Per stampare la rubrica 4 |\n"; cout << "| Per uscire dalla rubrica 5 |\n"; cout << "|_______________________________________________________|\n"; cout << "\n Inserisci la tua scelta: "; int scelta; cin >> scelta; return scelta; } int main(){ Rubrica rubrica; bool continua = true; int scelta = 5; while(continua){ scelta = menu(); switch(scelta){ case 1: rubrica.aggiungiContatto(); break; case 2: rubrica.cambiaTelefono(); break; case 3: break; case 4: rubrica.stampa(); break; case 5: continua = false; default:; } cout << "\n\n\n"; } return 0; }

Rispondi quotando