Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - programma con struct
Forum - C/C++ - programma con struct

Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Segnala al moderatore
Postato alle 15:17
Venerdì, 04/02/2011
è un programmino molto semplice ma non parte:
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.    using namespace std;
  3. struct stagione
  4. {char giorni[30];
  5. char aggettivo[20];}
  6. primavera, autunno, inverno, estate;
  7. void stag(stagione x)
  8. {cout<<"immetti la stagione:";
  9. cin>>stagione x;//scelgo la stagione,posso scegliere primavera, autunno, inverno o estate
  10. cin>>x.aggettivo;}
  11. int main()
  12. {stagione x;
  13. stag(stagione x);
  14. system("pause");
  15. return 0;}


Ultima modifica effettuata da ciao888 il 04/02/2011 alle 15:19
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
1
Down
V
Segnala al moderatore
Postato alle 15:44
Venerdì, 04/02/2011
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

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
1
Down
V
Segnala al moderatore
Postato alle 19:58
Venerdì, 04/02/2011
ora penso di aver capito cosa intendi...
quindi per scegliere la stagione della quale vuoi modificare l'aggettivo, la funzione stag potrebbe diventare così:
Codice sorgente - presumibilmente C/C++

  1. void stag()
  2. {cout<<"immetti la stagione:";
  3. string controllo_stagione;
  4. cin>>controllo_stagione;//scelgo la stagione,posso scegliere primavera, autunno, inverno o estate
  5. if(controllo_stagione=="primavera")
  6. cin>>primavera.aggettivo;
  7. if(controllo_stagione=="autunno")
  8. cin>>autunno.aggettivo;
  9. if(controllo_stagione=="inverno")
  10. cin>>inverno.aggettivo;
  11. if(controllo_stagione=="estate")
  12. cin>>estate.aggettivo;
  13. }


e ovviamente nel main potrà anche non esistere stagione x e la funzione stag dovra essere richiamata con stag();

PM
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 15:27
Venerdì, 04/02/2011
non riesco a capire cosa vuoi fare, comunque posta, se ci sono, errori di compilazione

praticamente con cin>>stagione.x vorrei scegliere la stagione,cioè scrivere se voglio scrivere l'aggettivo di primavera o autunno o inverno o estate e poi successivamente scegliere l'aggettivo - ciao888 - 04/02/11 15:32
PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 20:14
Venerdì, 04/02/2011
mmm Avete ragione. non lo sapevo... Allora dovrebbe essere così:

- eliminare la riga 9 perchè priva di senso
- sostituire la riga 10 con questa
Codice sorgente - presumibilmente Plain Text

  1. cin.getline (x.aggettivo, 20);


Ultima modifica effettuata da Pitagora il 04/02/2011 alle 20:15
così si modificherebbe solo x, che poi "morirebbe" alla fine della funzione, lui vuole che venga inserito il nome di una stagione e in base a quello modificare l'aggettivo di quest'ultima... - vaclav - 04/02/11 20:22
PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
-3
Down
V
Segnala al moderatore
Postato alle 15:59
Venerdì, 04/02/2011
indipendentemente da quello che vuoi fare, quel codice non funzionerà perchè non c'è questa riga:
Codice sorgente - presumibilmente C/C++

  1. 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:

e perchè sarebbe solo superflua? - carlduke - 04/02/11 16:45
PM