claudio19488 Inviato 29 Maggio 2010 Segnala Condividi Inviato 29 Maggio 2010 Ciao ho appena iniziato a programmare in C, ho un MB Pro (SL) e utilizzo Xcode. Sono alle prime armi, ma non sono ancora incappato in errori fatali (sgrat sgrat), ho però un piccolo stupido problema che non riesco a risolvere. Tutte le volte che scrivo il mio programma, una volta corretto lo lancio col terminale ma quando il programma mi chiede di inserire un input da tastiera (nel mio caso un numero) devo SEMPRE inserirlo due volte prima che il programma lo rilevi.. Ad esempio [session started at 2010-05-29 19:07:11 +0200.] [u][i][color=DarkRed][b]Inserisci il primo voto: 23 23[/b][/color][/i][/u] Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 Inserisci il primo voto: 23 La media voto della classe è pari a 23 Questo è un piccolo programmino per calcolare la media voto di una classe di 10 alunni..come potete notare, appena inserisco il primo voto e premo invio, devo reinserirlo se voglio che lo legga !! L'algoritmo poi è corretto perchè il programma fila liscio.. PS: mi capita qui come negli altri programmi..che errore commetto ?? Ringrazio per le risposte. A presto. Claudio PPS: ecco il codice #include<stdio.h> [color=Red]int[/color] main () { [color=Red]int[/color] voto, media, totale, contatore; totale = 0 ; contatore = 1; [color=Red] while[/color] ( contatore <= 10 ) { printf (" Inserisci il primo voto: \n"); scanf(" %d ", &voto); totale = voto + totale ; contatore = contatore +1; } media = totale / 10 ; printf("La media voto della classe è pari a %d\n",media); return '0'; } Link al commento Condividi su altri siti Altre opzioni di condivisione...
stevemb Inviato 29 Maggio 2010 Segnala Condividi Inviato 29 Maggio 2010 #include<stdio.h> int voto, media, totale, contatore; int main () { do { printf (" Inserisci il primo voto: \n"); scanf(" %d ", &voto); totale = totale+voto ; contatore++ }while ( contatore <= 10 ) media = totale / contatore ; printf("La media voto della classe è pari a %d\n",media); return 0; } prova così Link al commento Condividi su altri siti Altre opzioni di condivisione...
claudio19488 Inviato 29 Maggio 2010 Autore Segnala Condividi Inviato 29 Maggio 2010 Ciao ti ringrazio per la tempestività , ma come sempre mi capita, una volta che chiedo aiuto subito dopo trovo la soluzione !! L'errore è qui scanf(" %d ", &voto); Lo spazio vuoto prima di %d fa si che il primo input venga ignorato Si può chiudere. Grazie lo stesso Steve Link al commento Condividi su altri siti Altre opzioni di condivisione...
stevemb Inviato 30 Maggio 2010 Segnala Condividi Inviato 30 Maggio 2010 ma looool non me n'ero neanche accorto Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.