Muisti pätkii todella helppo kysymys arvaan ma..

Tauski

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]

6

513

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Nurmossa kuoli 2 Lasta..

      Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .
      Seinäjoki
      161
      9444
    2. Joel Harkimo seuraa Martina Aitolehden jalanjälkiä!

      Oho, aikamoinen yllätys, että Joel Jolle Harkimo on lähtenyt Iholla-ohjelmaan. Tässähän hän seuraa mm. Martina Aitolehde
      Suomalaiset julkkikset
      49
      2970
    3. Kaksi lasta kuoli kolarissa Seinäjoella. Tutkitaan rikoksena

      Henkilöautossa matkustaneet kaksi lasta ovat kuolleet kolarissa Seinäjoella. Kolmas lapsi on vakasti loukkaantunut ja
      Maailman menoa
      40
      2736
    4. Et olisi piilossa enää

      Vaan tulisit esiin.
      Ikävä
      57
      2591
    5. Miksi pankkitunnuksilla kaikkialle

      Miksi rahaliikenteen palveluiden tunnukset vaaditaan miltei kaikkeen yleiseen asiointiin Suomessa? Kenen etu on se, että
      Maailman menoa
      197
      2005
    6. Miten meinasit

      Suhtautua minuun kun taas kohdataan?
      Ikävä
      98
      1892
    7. Sinä saat minut kuohuksiin

      Pitäisiköhän meidän naida? Mielestäni pitäisi . Tämä värinä ja jännite meidän välillä alkaa olla sietämätöntä. Haluai
      Tunteet
      24
      1856
    8. Minä en ala kenenkään perässä juoksemaan

      Voin jopa rakastaa sinua ja kääntää silti tunteeni pois. Tunteetkin hälvenevät aikanaan, poissa silmistä poissa mielestä
      Ikävä
      50
      1399
    9. Tunnekylmä olet

      En ole tyytyväinen käytökseesi et osannut kommunikoida. Se on huono piirre ihmisessä että ei osaa katua aiheuttamaansa p
      Ikävä
      110
      1254
    10. Miten hetki

      Kahden olisi paras
      Ikävä
      28
      1231
    Aihe