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
562
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
Riikka Purra lupasi Suomen kansalle 1 euron bensaa, hinta nyt 2 euroa
Vasemmistolaisen Marinin hallituksen aikana bensa ei maksanut kuin 1,3 euroa litralta. Ministerin pitäisi perustuslain m824438Suvi Lindenillä 5 366 päivän putki
Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o1013850Mistä se kertoo
Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä363519- 513170
- 402648
Nyt on sanottava että sattuu kipeästi
Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu182529Rakkaalle miehelle
Terveiset rakas. Ikävä on edelleen. Suru valtaa sydämen, kun en saa lähestyä sinua. En saa vastauksia, en soittoa, viest222342- 232036
UMK-juontajakaksikon pari isoa "mokaa" ihmetyttää - Mitäs tykkäsit Syköstä ja Uotisesta juontajina?
Tänä vuonna UMK-lavalla nähtiin artistien lisäksi juontajakolmikko Jorma Uotinen, Sami Sykkö ja Jasmin Beloued. Juontami151752Jussi "Mestari" Halal-ahon sotilasarvo?
Minä vuonna Jussille myönnettiin sotilasansiomitali? Vai myönnettiinkö Jussille sotilasansiomitalia lainkaan?351715