eccole qua.. la formattazione è leggermente diversa (è il file originale) ma sono identici nel resto
codice:int main () { persona * pos; char cognome[NmaxCognome]; char nome[NmaxNome]; persona p; gruppo g; char s[2]; inizializza_gruppo(g); do { cout << endl; cout << " i: inserisci\n"; cout << " f: inserisci da file\n"; cout << " n: stampa per ordine di nome\n"; cout << " c: stampa per ordine di cognome\n"; cout << " o: cerca per nome\n"; cout << " g: cerca per cognome\n"; cout << " e: esci\n"; cout << "\nInserisci Scelta: "; cin >> s; switch (s[0]) { case 'i': leggi_persona(p); inserisci_persona_gruppo(p,g); break; case 'f': file_acquire(argc, argv, p, g); break; case 'n': stampa_gruppo_per_nome (g); break; case 'c': stampa_gruppo_per_cognome (g); break; case 'o': leggi_nome(nome); pos=cerca_per_nome(nome,g); if (pos==NULL) cout << "Non trovato\n"; else { cout << "Trovato: " << endl; stampa_persona(*pos); } break; case 'g': leggi_cognome(cognome); pos=cerca_per_cognome(cognome,g); if (pos==NULL) cout << "Non trovato\n"; else { cout << "Trovato: " << endl; stampa_persona(*pos); } break; case 'e': break; default: cout << "scelta non capita\n"; } } while ((s[0]=='i' || s[0]=='n' || s[0]=='c' || s[0]=='o' || s[0]=='g')); }
codice:void inserisci_persona_gruppo (persona & p, gruppo & g) { persona * tmp; tmp = new(persona); *tmp = p; g.nomi[g.npers] = tmp; g.cognomi[g.npers] = tmp; g.npers++; ordina_per_nome(g.nomi,g.npers); ordina_per_cognome(g.cognomi,g.npers); }

Rispondi quotando