Questa:
non è una ASCIIZ string: è un petardo che scoppia in mano.codice:typedef char* STRING;
Non cavillo troppo sul resto, ma prima impari a usare std::string e prima non ripeterai questi errori.
Questa
è una ASCIIZ String.codice:#define LEN 32 char nome_esame[LEN];
codice:class Esame{ private: int voto,cfu; char nome[LEN]; public: Esame(); void inserisciNome(const char* n, int len); void inserisciVoto(int ); void inserisciCfu(int); int getVoto()const; int getCfu()const; const char* getNome(STRING)const; void stampaTutto(); }; Esame::Esame(){ voto=0; cfu=0; nome=0; // o memset(nome,0,LEN); } void Esame::inserisciVoto(int voto1){ voto=voto1 ; } void Esame::inserisciCfu(int cfu1){ cfu=cfu1;} void Esame::inserisciNome(const char* nm, int len) { strncpy(nome,nm,len); } int Esame::getVoto()const{ return voto;} int Esame::getCfu()const{ return cfu;} const char*Esame::getNome()const{ return nome;} void Esame::stampaTutto(){ cout<<"il voto è: "<<voto<<" il cfu è : "<<cfu<<endl; } int main (){ Esame e; char nome[LEN]; cout<<"\n inserisci nome: "<<endl; cin.getline(nome,len); e.inserisciNome(nome,LEN); cout << e.getNome() << endl;

Rispondi quotando