eli tarkotus olis saada sillee et ton ian pitäs olla 0-100 tai muuten tulee ":P" mut ei toimi mikä tos on vikana??? oon yrittäny vaikka mitä...
cin >> ika; if (ika <= 0 || ika > 100){ cout << "Ai " << ika << ". " << "Kiva ikä!" << endl; } else{ cout << ":P" << endl; }
kieli on c++
ja käytän codeblocksii
ja ihan sama minkä luvun laittaa nii se aina noudattaa tätä kaavaa
cout << "Ai " << ika << ". " << "Kiva ikä!" << endl;
kiitti!
Puretaas tuo sinun koodisi pseudoksi:
ika = lueluku(); jos ika pienempi tai yhtasuuri kuin 0 TAI ika suurempi kuin 100: tulosta("Ai ", ika, ". ", "Kiva ikä!\n"); muuten: tulosta(":P");
Tajuatko mikä on pielessä?
eli jos luku on 0-100 nii sit se tulostaa :P?
ok...
eli näin?
if (ika >= 0 || ika < 100){ cout << "Ai " << ika << ". " << "Kiva ikä!" << endl; }
vai?
Juuri noin.
Edit: Tai itse asiassa ei. Sun pitää käyttää ja-operaattoria &&.
ei toimi vaikka kirjottas 1000 ikä nii silti se sanoo Ai 1000. Kiva ikä!
:(
Kun koodi on:
#include <iostream> int main() { int ika; std::cin >> ika; if(ika >= 0 && ika < 100) { std::cout << "Ai " << ika << ". Kiva ikä!" << std::endl; } else { std::cout << ":P" << std::endl; } return 0; }
niin jos syöte on '5', tulostaa se 'Ai 5. Kiva ikä!' ja jos syöte on 500, tulostaa se ':P'. Kaikki on juuri niin kuin pyysit. Muistitko varmasti kääntää?
joo toimii operaattori piti vaa vaihtaa && näiks kiitti
supermies kirjoitti:
ja ihan sama minkä luvun laittaa nii se aina noudattaa tätä kaavaa
cout << "Ai " << ika << ". " << "Kiva ikä!" << endl;
Olet väärässä. Ihan suoraan alkuperäisestä koodistasi:
$ ./a.out 0 Ai 0. Kiva ikä! $ ./a.out 1 :P $ ./a.out 100 :P $ ./a.out 101 Ai 101. Kiva ikä!
Toisin sanoen koodissasi vain ovat vaihtoehdot väärin päin. Testauksessa voi myös käyttää järkeä: jos koodin toiminnan pitäisi muuttua lukujen 0 ja 100 seudulla, tietenkin viisainta on testata lukuja niiden läheltä (esim. -1 ja 1 ja 99 ja 101), ja vastaavasti olisi typerää testata useampia lukuja väliltä (vaikka 20, 30, 40, 50), koska ne aivan takuulla toimivat samalla tavalla.
Eki++ taas sekoili ihan omiaan. Ehtoa ei olisi tarvinnut muuttaa, vaan olisi voinut vain vaihtaa cout-rivit toisin päin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.