Oppure

Loading
08/02/11 15:58
__BlackworM__
Come da titolo, devo aggiornare dai campi di una struct la cui struttura è la seguente:
typedef struct alunno
{
char nome[100];
char cognome[100];
int matricola[3];
char dataNascita[15];
char luogoNascita[50];
int presenze[2];
int assenze[2];
struct indirizzo {
                    char via[100];
                    int cap[8];
                    int civico[5];
                 } indirizzo;
} alunno;


in pratica voglio aggiornare i campi assenze e presenze incrementandole di 1.

Le procedure che ho creato sono banalissime, cioè :
void presenza(int studente) { *classe[studente].presenze+1; }
void assenza (int studente) { *classe[studente].assenze+1; }


in pratica alle funzioni passo un int che rappresenta l'utente(perchè gli utenti sono in un tipo array struct quindi ognuno ha un indice) e vado ad inserire nel campo assenze o presenze il suo valore +1.
In tutto ciò però non mi incrementa niente, mi potete aiutare ?

Da premettere che il programma errori non ne dà in fase di compilazione, ma probabilmente l'errore è di semantica, ho letto da qualche parte che la colpa probabilmente è dei puntatori.

Grazie in anticipo

aaa
08/02/11 16:12
TheKaneB
per incrementare devi scrivere
a = a + 1

tu hai scritto

a + 1

che è un'espressione valida il cui valore non viene memorizzato da nessuna parte

Un'altra cosa... assenze e presenze li hai dichiarati come vettori, e ciò non ha senso. int a[2] non significa "un intero a due cifre", ma significa "un vettori di 2 interi".
Ultima modifica effettuata da TheKaneB 08/02/11 16:14
aaa
08/02/11 17:05
Alex
che strano che il compilatore non dia nemmeno un warning....dovrebbe dare almeno un statement with no effect....
aaa