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

556

    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. Kuolemanrangaistus

      Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen
      Laki ja rikos
      76
      5914
    2. Muistakaa persut, että TE petitte, ei kokoomus

      Miksikö kukaan ei arvostele kokoomusta? No sen vuoksi, että kokoomus noudattaa vaalilupauksiaan. Sen sijaan TE persut,
      Maailman menoa
      279
      5206
    3. Riikka Purra ei estä tehomaksun käyttöönottoa

      Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk
      Maailman menoa
      45
      3294
    4. Outo ilmiö - vasemmistolaiset eivät kirjoita mitään kokoomuksesta

      joka sentään johtaa hallitusta, ja jonka talouspolitiikkaa noudatetaan. Nämä muutamat vasemmistolaiset jotka täällä aina
      Maailman menoa
      105
      2703
    5. Lopetan ikävöinnin

      Ei meistä enää koskaan tule mitään. Olen ikävöinyt ja kaivannut enkä saa mitään vastakaikua ja lämpöä. Parempi erillään
      Ikävä
      10
      2666
    6. Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?

      Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t
      Filosofia
      4
      1635
    7. Väestöstä vain vassarit vaihtuvat nopeammin kuin persut

      Kevääseen 2023 verrattuna vassareita 50 prosenttia enemmän, ja persuja 25 prosenttia vähemmän.
      Maailman menoa
      15
      1585
    8. Vihervassarit

      Vihervassarit sitä, vihervassarit tätä. Minulla on paha mt-ongelma. Se tuli lobotomian jälkioireina. Vihervassarit tät
      Maailman menoa
      29
      1428
    9. Sinä olet minun forEver

      Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,
      Ikävä
      21
      1410
    10. Mies joka vetäytyy osoittaa teoillaan

      Ettei halua olla tekemisissä. Mies joka ei vastaa viesteihin, ei halua sua. Mies joka jättää sut epätietoisuuteen, ei
      Ikävä
      143
      967
    Aihe