Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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;



Principali interessi: Compilatori e generatori di parser.
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.


Principali interessi: Compilatori e generatori di parser.
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: 318
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.


Assembly is the way
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


Principali interessi: Compilatori e generatori di parser.
PM Quote