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++ - Enumerazione e struttura
Forum - C/C++ - Enumerazione e struttura

Avatar
Josh (Normal User)
Newbie


Messaggi: 10
Iscritto: 18/01/2014

Segnala al moderatore
Postato alle 12:31
Sabato, 08/02/2014
Salve, avrei bisogno di un chiarimento : se ho una struttura con un tipo enumerazione "day" come campo  :

typedef enum { MON, TUE, WED, THU, FRI, SAT, SUN } day;

typedef struct {
int dd;
int mm;
int yy;
day name;
} date;

Come faccio ad assegnare un valore al campo name ? Grazie.

PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 13:30
Sabato, 08/02/2014
Codice sorgente - presumibilmente C/C++

  1. date a;
  2. a.name=SAT;


PM Quote
Avatar
Josh (Normal User)
Newbie


Messaggi: 10
Iscritto: 18/01/2014

Segnala al moderatore
Postato alle 17:23
Sabato, 08/02/2014
E se volessi inserire il valore tramite scanf ?

PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 18:18
Sabato, 08/02/2014
Inserire il valore direttamente con scanf non si può. Però per inserire il name potresti fare cosi:

Codice sorgente - presumibilmente C/C++

  1. date a;
  2. char name[4];
  3. printf("name:");
  4. scanf("%s",name);
  5. if(!strcmp(name,"MON"))
  6. {
  7.   a.name=MON;
  8. }
  9. // così per tutti gli altri



In poche parole chiedi il giorno usando un'array di caratteri, poi tramite la funzione strcmp verifichi che tipo di giorno è, ed assegni il valore corretto ad a.name.

PM Quote
Avatar
Josh (Normal User)
Newbie


Messaggi: 10
Iscritto: 18/01/2014

Segnala al moderatore
Postato alle 19:19
Sabato, 08/02/2014
Grazie mille:k:

PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 21:47
Sabato, 08/02/2014
Io però sapevo che per dare il valore dell'enumerazione ad una variabile dovevi ripetere il nome dell'enumerazione seguito da un punto seguito dal valore.

PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 9:08
Domenica, 09/02/2014
Testo quotato

Postato originariamente da tuttodiMC:
Io però sapevo che per dare il valore dell'enumerazione ad una variabile dovevi ripetere il nome dell'enumerazione seguito da un punto seguito dal valore.
  



Quello che hai detto va bene per struct e union. Per le enum metti direttamente il valore.

Ultima modifica effettuata da dmr il 09/02/2014 alle 9:09
PM Quote