PDA

Visualizza la versione completa : [C] Somma e ciclo while


ant_alt
08-12-2005, 19:59
#include<stdio.h>
int main ()
{
int primofattore;
int secondofattore;
int somma;
char continua;

if (continua != 'n')
{
printf("Inserisci il primo numero: ");
scanf("%d", &primofattore);
printf("inserisci il secondo numero: ");
scanf("%d", &secondofattore);

somma = primofattore + secondofattore;

printf("La somma %d\n", somma);
printf("Vuoi continuare? s/n: ");
scanf("%c", &continua);
}

return 0;

}

:cry:

Frapper
08-12-2005, 20:03
hem...se ho capito bene dalla faccina che hai messo in fondo vuoisapere come far devidere all'utente se vuole sommare altri numeri giusto?
supponendo di si ti spiego
qull'if no ha senso devi metterci un do while
se continua uguale a 'n'esce altrimenti ritorna dal DO...

do
{
printf("Inserisci il primo numero: ");
scanf("%d", &primofattore);
printf("inserisci il secondo numero: ");
scanf("%d", &secondofattore);

somma = primofattore + secondofattore;

printf("La somma %d\n", somma);
printf("Vuoi continuare? s/n: ");
scanf("%c", &continua);
}
while (continua!='n')


Se non hai capito chiedi...ciao

oregon
08-12-2005, 20:06
Presumo non ti funzioni il codice ... in grassetto le modifiche ...



char continua = 's';

while (continua == 's')
{
printf("Inserisci il primo numero: ");
scanf("%d", &primofattore);
printf("inserisci il secondo numero: ");
scanf("%d", &secondofattore);

somma = primofattore + secondofattore;

printf("La somma %d\n", somma);
printf("Vuoi continuare? s/n: ");

fflush(stdin);
scanf("%c", &continua);
}


L'errore piu' grave che hai fatto e' stato quello di confondere l'istruzione

if

con la

while

ant_alt
08-12-2005, 20:10
Originariamente inviato da oregon
Presumo non ti funzioni il codice ... in grassetto le modifiche ...



char continua = 's';

while (continua == 's')
{
printf("Inserisci il primo numero: ");
scanf("%d", &primofattore);
printf("inserisci il secondo numero: ");
scanf("%d", &secondofattore);

somma = primofattore + secondofattore;

printf("La somma %d\n", somma);
printf("Vuoi continuare? s/n: ");

fflush(stdin);
scanf("%c", &continua);
}


L'errore piu' grave che hai fatto e' stato quello di confondere l'istruzione

if

con la

while

giusto... :dh:

ma quella fflush a k serve?non la conosco... :fagiano:

oregon
08-12-2005, 20:16
Originariamente inviato da ant_alt
ma quella fflush a k serve?non la conosco... :fagiano:

Hai provato a toglierla ?

ant_alt
08-12-2005, 20:17
si...nn funziona...xci ho chiesto k ... :stordita:

Samuele_70
08-12-2005, 20:22
Originariamente inviato da ant_alt


...
if (continua != 'n')
...


Ma questo if non potr mai leggere il risultato della scelta (s/n)
visto che prima fai il controllo e poi setti la variabile...
Pi adatto a questo scopo il ciclo "do{...}while( condizione )" non credi ?

Originariamente inviato da ant_alt


scanf("%c", &continua);


Prima di utilizzare la scanf() ricordati di richiamare la
'fflush(stdin)' per svuotare il buffer della tastiera.

Samuele_70
08-12-2005, 20:24
:stordita: :madai!?:

oregon
08-12-2005, 21:03
Originariamente inviato da ant_alt
si...nn funziona...xci ho chiesto k ... :stordita:

No ... dovresti dire in dettaglio cosa non funziona ... da questo capiresti cosa fa la fflush(stdin) ...

ant_alt
10-12-2005, 14:10
Originariamente inviato da oregon
No ... dovresti dire in dettaglio cosa non funziona ... da questo capiresti cosa fa la fflush(stdin) ...


intentevo non funziona senza fflush.... :fagiano: xi volevo capire a cosa serve..

Loading