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++ - Problema con scanf in C
Forum - C/C++ - Problema con scanf in C

Avatar
__BlackworM__ (Member)
Pro


Messaggi: 110
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 1:12
Mercoledì, 09/02/2011
Ragazzi scusate se per la seconda volta di fila posto una discussione, ma sto lavorando su un progettino in c ed ho difficoltà con le sue convenzioni e sintassi.

Io ho questo codice in pratica chiamo la funzione appello() e mi va a stampare l'elenco degli alunni e dovrebbe stampare un alunno per voltà dando la possibilità di inserire se è assente o presente, ma quando stampa il primo alunno ed io inserisco o 0 e 1 crasha il programma è si chiude...mi aiutate gentilmente ? :asd:
Codice sorgente - presumibilmente C++

  1. void appello()
  2. {
  3. int count;
  4. int i;
  5.  
  6. printf(" Se l'alunno è assente=1, se presente=0\n");
  7.  
  8. for(i=0;i<=MAX_STUDENTI;i++)
  9.     {
  10.         printf(" %s %s : ",classe[i].cognome,classe[i].nome);
  11.         fflush(stdin);
  12.         scanf("%d",&count);
  13.  
  14.         switch(count)
  15.         {
  16.         case 0: presenza(i); break;
  17.         case 1: assenza(i); break;
  18.         }
  19.  
  20.     }
  21. }


Ultima modifica effettuata da __BlackworM__ il 09/02/2011 alle 1:13


‎"Ho fallito diversi esami all'università...
un mio amico li ha sempre passati tutti al primo colpo. Ora lui è ingegnere alla Microsoft, ed io, sono il capo della Microsoft".    (Bill Gates)
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 1:30
Mercoledì, 09/02/2011

posta il codice di "presenza" ed "assenza"


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
__BlackworM__ (Member)
Pro


Messaggi: 110
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 1:43
Mercoledì, 09/02/2011
ma ribadisco le due funzioni le ho testate diversamente e funzionano
Codice sorgente - presumibilmente C/C++

  1. void presenza(int studente) { classe[studente-1].presenze+=1; }
  2. void assenza (int studente) { classe[studente-1].assenze+=1; }



questi valori saranno inseriti in dati di tipo struct, per farvi capire meglio il tutto funzionava perfettamente ma adesso ho bisogno di implementare un appello dove man mano che elenca i nomi degli studenti devo dare un responso se assente 0 se presente 1 ed in base a questi valori mi esegue una delle 2 funzioni, ho provato anche a mettere i prototipi nel file distaccato dove si trovano le funzioni ma niente


‎"Ho fallito diversi esami all'università...
un mio amico li ha sempre passati tutti al primo colpo. Ora lui è ingegnere alla Microsoft, ed io, sono il capo della Microsoft".    (Bill Gates)
PM Quote
Avatar
__BlackworM__ (Member)
Pro


Messaggi: 110
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 1:49
Mercoledì, 09/02/2011
Ok ho risolto non dovevo inserire studente-1 ma studente, perchè essendo che prima nella vecchia function dovevo far inserire all'utente un valore, poi lo decrementavo di 1 e mi selezionava l'utente giusto, mentre adesso nel ciclo for va bene come sta solo con studente.

Grazie comunque :idea:


‎"Ho fallito diversi esami all'università...
un mio amico li ha sempre passati tutti al primo colpo. Ora lui è ingegnere alla Microsoft, ed io, sono il capo della Microsoft".    (Bill Gates)
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 10:24
Mercoledì, 09/02/2011
Testo quotato

Postato originariamente da __BlackworM__:

Ok ho risolto non dovevo inserire studente-1 ma studente, perchè essendo che prima nella vecchia function dovevo far inserire all'utente un valore, poi lo decrementavo di 1 e mi selezionava l'utente giusto, mentre adesso nel ciclo for va bene come sta solo con studente.

Grazie comunque :idea:



di niente :)


Ingegnere Informatico
https://ldlagency.it
PM Quote