Niin aloin pitkästä aikaa jatkamaan c ohjelmointia ja nyt on pieni oikosulku johon toivon apua(muistin virkistystä).
Ohjelma kysyy käyttäjältä reaalilukuja kunnes käyttäjä antaa negatiivisen luvun. Tämän jälkeen ohjelma laskee lukujen summan. Teen myös tarkistuksen, että kyseessä on todella luku eikä esim. kirjain. Ongelmana on nyt se, että kun käyttäjä antaa negatiivisen luvun vähennetään se summasta.
Eli jos annan luvut 3, 4 ,3 ja sitten
haluan lopettaa ja annan luvun -3, ei tulostuva
summa olekkaan 10 vaan 7 koska viimeiseksi annettu
luku vähennetään summasta.
Asian tekee hauskaksi se, että osaan kyllä tehdä jutun oikein jos käytän funktiota!
Asia häiritsee suunnattomasti :)
[code]
#include
int main(void)
{
double luku=0;
double summa=0;
do{
printf("Anna desimaaliluku:\n");
while(scanf("%lf", &luku)==0)
{
printf("Siis NUMERO!!!!!!\n");
fflush(stdin);
printf("Anna desimaaliluku:\n");
}
summa=summa luku;
}while(luku>0);
printf("lukujen summa on %lf \n",summa);
return(0);
}
[/code]
Muisti pätkii todella helppo kysymys arvaan ma..
Tauski
6
570
Vastaukset
- virkistystä
Ohjelmoinnissa käytetään, kuten muistat, varsin usein ehtolauseita eli lisäät summaan sen luvun jos se on positiivinen.
- tauski
enkös tuossa lisää?
- virkistystä
tauski kirjoitti:
enkös tuossa lisää?
Vaikka näin:
if(luku>0) summa =luku;
stdiniä ei voi fflushata, vain tulostusvirrat (esim. stdout tai stderr).
Ulomman do:n voinee poistaa laittamalla sen testin whileen:
while(scanf("%lf", &luku)==0 && luku > 0)- tauski
jos teen noin niin eihän se kysy lukua kuin kerran!
- Dawone
Anteeksi, pitää testata toimiiko tämä..
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 994900
Kalasataman talossa lienee rakennusvirhe
Ei pitäisi olla mahdollista parvekkeen kautta tulipalon kiivetä katolle saakka kuin korkeintaan ylimmästä kerroksesta.2401989- 831620
Kristillinen Kaste on syntisten kaste, ei itsensä uskoviksi julistaneiden kaste
Raamatun mukaan vain syntisyyden vuoksi kastetut saavat kasteen hyödyn, syntien anteeksisaamisen ja Pyhän Hengen lahjan2401180Venäjä teki mahtavan iskun Kiovaan?
Miksi Ukraina ei kykene tekemään Moskovaan yhtä mahtavia iskuja.3321146Kaipaatko nainen
Semmoista tosi hankalaa ja arkaa miestä? Pitäisitkö hänet aina omanasi jos saisit hänet? Miten huomioisit hänen herkkyyd1051100- 501089
Nojatuoli !
Uutta kehiin, kun edellinen pikavauhtia täyttyi, pitäisikö kiittää näitä asian jouduttaneita? Pilvet leijaa, sadetta en1471057- 1111029
Milloin ymmärsit
Milloin tunnistit, että sinulle kirjoitetaan ja kuka kirjoittaa? Tarkka päivämäärä ja kellonaika 😉 Önnönnöö, jos ei os85974