Salve a tutti, tra non molto ho l'esame di programmazione 1 e avrei una grossa lacuna che spero possiate colmare.
Posto prima un pezzetto della traccia:
"Si realizzi in C++ la classe PacchettoRegalo che preveda le variabili membro:
- Destinatario, di tipo stringa (allocata dinamicamente)
- Peso (di tipo float, si consideri espresso in grammi)
- Forma, di tipo stringa (allocata dinamicamente)"
Non ho ben capito cosa intende per allocazione dinamica della stringa.
Io ho pensato a una cosa del genere:
codice:
const int DMAX=100;
typedef char buffer[DMAX];
int strlung(buffer);
void strinput(char *&);
int main(int argc, char *argv[])
{
char * stringa;
strinput(stringa);
cout << stringa << endl;
}
int strlung(buffer s){
int i=0;
while(s[i]!='\0')
i++;
return i;
}
void strinput(char *&s){
buffer strapp;
cin >> strapp;
s = new char[strlung(strapp)];
s=strapp;
}
Ovvero metto l'input in una stringa buffer di lunghezza fissa, calcolo la lunghezza effettiva dell'input e successivamente alloco in memoria lo spazio necessario a contenerla.
Ho fatto bene o esiste un modo più semplice?
Inoltre mi considera il carattere ' ' (spazio) come '\0'
Spero possiate aiutarmi, grazie