Enumerazioni e strutture in c++

di il
6 risposte

Enumerazioni e strutture in c++

Salve a tutti io conosco le enumerazione e le strutture ma non mi e mai capitato di dover utilizzare un enum all interno di una struct volevo chiedere come andava messa ad esempio io l ho inserita cosi ma poi ho dei problemi con le funzioni scritte successivamente nel mio programma quindi credo che non sia giusto o sbaglio?

enum genere{F,M};

struct atleta{
char cognome[30];
enum genere sesso;
int anno;
};

6 Risposte

  • Re: Enumerazioni e strutture in c++

    Che tipo di errore ti viene segnalato?
  • Re: Enumerazioni e strutture in c++

    Nel creare una funzione inputatleti(struct atleta a) che acquisisce da tastiera i dati di un atleta nel momento in cui eseguo lo scanf("%s",&a.sesso) il pc non mi da la possiblita di inserirlo come invece fa quando faccio lo stesso per l anno e il cognome
  • Re: Enumerazioni e strutture in c++

    Gli enum sono trattati come interi e quindi di sicuro %s non è corretto.
    Ma questo è indipendente dal fatto che l'enum sia dentro o fuori dalla struttura.
    Confronta
    Aggiungo: attenzione, la funzione non può essere inputatleti(struct atleta a) ma deve essere inputatleti(struct atleta *a)
  • Re: Enumerazioni e strutture in c++

    Ma che tipo di campo è quello che stai usando? Una enum NON è una stringa.
    E come mai non passi la struttura alla funzione per puntatore?
  • Re: Enumerazioni e strutture in c++

    Non l ho passata per puntatore perché il testo dell esercizio mi chiedeva che la funione ricevesse in ingresso un atleta e quindi penso di passarglielo cosi o dite che va bene anche per puntatore(all inizio l avevo fatto cosi ma poi ho cambiato) dite che passandolo per puntatore va bene ugualmente?
    scusate il %s ho sbagliato io a scriverlo nel programma ho usato un %d
  • Re: Enumerazioni e strutture in c++

    gi8 ha scritto:


    non l ho passata per puntatore perché il testo dell esercizio mi chiedeva che la funione ricevesse in ingresso un atleta e quindi penso di passarglielo cosi o dite che va bene anche per puntatore(all inizio l avevo fatto cosi ma poi ho cambiato) dite che passandolo per puntatore va bene ugualmente?
    Non solo va bene ma è così che si fa .
    scusate il %s ho sbagliato io a scriverlo nel programma ho usato un %d
    Ok ma devi inserire il valore numerico corrispondente
Devi accedere o registrarti per scrivere nel forum
6 risposte