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
545
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
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1956808- 1592006
- 1131668
- 511370
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️551218Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢481074Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu991045Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?6967Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan251934- 41909