ho tolto la funzione modifica ,cerca e il main ( dalla risposta), però li potete vedere nel mio primo messaggiocodice:#include <iostream.h> #include <stdlib.h> #include <time.h> #include <string.h> typedef struct rubrica{ char cognome[15]; char nome[15]; char numero[20]; }rubrica; //rubrica riga[20]; //int vett[20]; rubrica riga[] = { {"b","",""}, {"d","",""}, {"a","",""}, {"c","",""} }; int vett[] = {0, 1, 2, 3}; int scelta=0,a=0,cont=0,vuoto=0; void inserimento(),stampa(),cerca(),modifica(),ordina(); char risp='s'; void inserimento() { vuoto=1; do{ system("cls"); cout<<"Cognome:"<<" "; cin>>riga[cont].cognome; cout<<"Nome:"<<" "; cin>>riga[cont].nome; cout<<"Numero di telefono:"<<" "; cin>>riga[cont].numero; cout<<"Vuoi inserire un altro elemento? (s/n)"; cin>>risp; cont++; }while(risp=='s'); system("cls"); a=cont; } void stampa() { for(cont=0; cont<a; cont++) { cout<<"Cognome:"<<riga[vett[cont]].cognome<<endl; cout<<"Nome:"<<riga[cont].nome<<endl; cout<<"Numero di telefono:"<<riga[cont].numero<<endl; } system("Pause"); system("cls"); } void ordina() { int flag = 0; do { flag = 0; for(int k=0; k<a-1; k++) { if(strcmp(riga[vett[k]].cognome, riga[vett[k+1]].cognome) > 0) { int com = vett[k]; vett[k]= vett[k+1]; vett[k+1]= com; flag=1; } } } while(flag==1); }
così funziona, però come vedi ho commentato //rubrica riga[20]; //int vett[20]; e non ho commentato quelli che mi hai scritto te: se faccio il contrario non va

Rispondi quotando