Oppure

Loading
04/02/11 14:17
ciao888
è un programmino molto semplice ma non parte:
#include <iostream>
   using namespace std;
struct stagione
{char giorni[30];
char aggettivo[20];}
primavera, autunno, inverno, estate;
void stag(stagione x)
{cout<<"immetti la stagione:";
cin>>stagione x;//scelgo la stagione,posso scegliere primavera, autunno, inverno o estate
cin>>x.aggettivo;}
int main()
{stagione x;
stag(stagione x);
system("pause");
return 0;}
Ultima modifica effettuata da ciao888 04/02/11 14:19
aaa
04/02/11 14:27
carlduke
non riesco a capire cosa vuoi fare, comunque posta, se ci sono, errori di compilazione
aaa
04/02/11 14:44
non mi è chiaro a cosa serva la funzione void stag(stagione x), inoltre è errato scrivere cin>>stagione x, dovresti scrivere cin>>x.(variabile della struttura)...
anche il richiamo della funzione stag nel main() è errato, dovresti passare come parametro solo x anziché stagione x
04/02/11 14:59
Pitagora
indipendentemente da quello che vuoi fare, quel codice non funzionerà perchè non c'è questa riga:
typedef struct stagione stagione;


Quella riga va messa all'inizio. E in TUTTI i libri di programmazione C / C++ c'è scritto il perchè va messa! :_doubt:
aaa
04/02/11 18:58
ora penso di aver capito cosa intendi...
quindi per scegliere la stagione della quale vuoi modificare l'aggettivo, la funzione stag potrebbe diventare così:
void stag()
{cout<<"immetti la stagione:";
string controllo_stagione;
cin>>controllo_stagione;//scelgo la stagione,posso scegliere primavera, autunno, inverno o estate
if(controllo_stagione=="primavera")
cin>>primavera.aggettivo;
if(controllo_stagione=="autunno")
cin>>autunno.aggettivo;
if(controllo_stagione=="inverno")
cin>>inverno.aggettivo;
if(controllo_stagione=="estate")
cin>>estate.aggettivo;
}

e ovviamente nel main potrà anche non esistere stagione x e la funzione stag dovra essere richiamata con stag();
04/02/11 19:14
Pitagora
mmm Avete ragione. non lo sapevo... Allora dovrebbe essere così:

- eliminare la riga 9 perchè priva di senso
- sostituire la riga 10 con questa
cin.getline (x.aggettivo, 20);
Ultima modifica effettuata da Pitagora 04/02/11 19:15
aaa