23/08/17 10:22
fbotta
Buongiorno a tutti, sono nuovo del sito.
Ho provato a fare una simulazione di una rubrica da telefono ma ho riscontrato qualche problemino.
Sto utilizzando le liste e per il momento ho creato solo due piccole funzioni inseriscitesta e stampalista.
Non capisco come mai non fungano
compila ma quando aggiungo elementi alla rubrica e poi provo a stamparli non stampa nulla.
mi piacerebbe anche trovare una alternativa al tipo (int) della variabile "numero". non mi piace avere un numero a 10 cifre int..
Metto il codice. Grazie in antcipo.
EDIT del moderatore: titolo più descrittivo
Ho provato a fare una simulazione di una rubrica da telefono ma ho riscontrato qualche problemino.
Sto utilizzando le liste e per il momento ho creato solo due piccole funzioni inseriscitesta e stampalista.
Non capisco come mai non fungano
compila ma quando aggiungo elementi alla rubrica e poi provo a stamparli non stampa nulla.
mi piacerebbe anche trovare una alternativa al tipo (int) della variabile "numero". non mi piace avere un numero a 10 cifre int..
Metto il codice. Grazie in antcipo.
#include <iostream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ struct contatto{ string nome; string cognome; int numero; contatto *next; }; int inseriscitesta(contatto *testa) { //dichiarazioni contatto *nuovo; nuovo= new contatto; string nomeF, cognomeF; int numeroF; //inserimento utente cout << "inserisci nome: "<< endl; cin >> nomeF; cout << "inserisci cognome: "<< endl; cin >> cognomeF; cout << "inserisci numero: "<< endl; cin >> numeroF; cout << numeroF; //riempi nuovo nuovo->nome=nomeF; nuovo->cognome=cognomeF; nuovo->numero= numeroF; nuovo->next= testa; //modifico la testa testa=nuovo; return 0; } void stampalista (contatto *testa) { contatto *testa2; testa2=new contatto; testa2=testa; for(;testa2!=NULL;testa2=testa2->next) cout << testa2->nome << endl << testa2->cognome << endl << testa2->numero << endl; } int main(int argc, char** argv) { contatto *testa; // puo volerci l'asterisco perchè punta all'inizio della lista testa=NULL; char uscita='n'; int scelta; while(uscita=='n' || uscita=='N') { cout << "________________________________________" << endl << "crea la tua rubrica di numeri telefonici" << endl << "________________________________________" << endl << "MENU:" << endl << "1-Crea un nuovo contatto." << endl << "2-Elimina l'ultimo conttatto." << endl << "3-Stampa la lista." << endl << "4-chiudi il programma." << endl << "________________________________________" << endl<< endl; cout << "inserisci la tua scelta sotto forma di numero." << endl; cin >> scelta; switch(scelta) { case 1: { inseriscitesta(testa); break; } case 2: { break; } case 3: { stampalista(testa); break; } case 4: { cout << "sei sicuro di vole chiudere il programma? y/n" << endl; cin >> uscita; break; } } } system("pause"); return 0; }
EDIT del moderatore: titolo più descrittivo
Ultima modifica effettuata da lumo 23/08/17 10:25
aaa