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.