ciao a tutti,
chi mi saprebbe aiutare a far funzionare il mio programma? si blocca appena avviato.. penso che sia una banalità ma nn capisco..
codice:#include <cstdlib> #include <iostream> #include <string.h> using namespace std; class reg { protected: char*nome; char*tel; public: reg (char*n,char*t) { nome=new char(strlen(n)); tel=new char(strlen(t)); strcpy(nome,n); strcpy(tel,t); } char*Nome() { return nome; } char*Telefono() { return tel; } }; class reg2: public reg { char*mail; public: reg2(char*n,char*t,char*m):reg(n,t) { mail=new char(strlen(m)); strcpy(mail,m); } char*Email() { return mail; } }; int main() { reg2 stud[50]=reg2("","",""); char*nom=new char(30); int i,occup=0,risp; char*n=new char(30); char*t=new char(10); char*m=new char(20); for(i=0;i<50;i++) stud[i]=reg2("","",""); /*strcpy(n,""); strcpy(t,""); strcpy(m,"");*/ do{ cout<<"scelta"<<endl; cout<<"1 inserisci"<<endl; cout<<"2 stampa"<<endl; cout<<"3 cancella persona"<<endl; cout<<"0 esci"<<endl; cin>>risp; switch (risp){ case 1: cout<<"Inserisci nominativo, numero di telefono, email"<<endl; cout<<"nome"<<endl; cin>>n; cout<<"telefono"<<endl; cin>>t; cout<<"email"<<endl; cin>>m; stud[occup]=reg2(n,t,m); occup++; break; case 2: cout<<"Nominativo, Telefono, Email"<<endl; for(i=0;i<occup;i++) cout<<stud[i].Nome()<<"\t"<<stud[i].Telefono()<<"\t"<<stud[i].Email()<<endl; break; case 3: cout<<"Chi vuoi cancellare dall'elenco?"<<endl; cin>>nom; for(i=0;i<occup;i++) if(!(strcmp(nom,stud[i].Nome()))){ stud[i]=reg2("","",""); if(i!=49) stud[i]=reg2(stud[i+1].Nome(),stud[i+1].Telefono(),stud[i+1].Email()); occup--; } break; } }while(risp != 0); }

