teinpä ensimmäisen harjoittelu c++ ohjelman ilman mitään apuja (paitsi että aka luin juttuja c++:sta) No sitten väsäsin tälläisen ohjelman, joka ei jostain syystä toimi... yritin ekana etsiä virheitä itse mutta en löytänyt...
Viitsisikö joku kertoa virheet, niin en tekisi niitä seuraavalla kerralla...
#include <iostream> using namespace std; int main() { int nimi, ika, luku1, luku2, luku3, vastaus; nimi = ika = luku1 = luku2 = luku3 = vastaus = 0; cout << endl <<"(HUOM! Vastaa jokaiseen kysymykseen oikein!)\n Nimesi:"; cin >> nimi; cout << endl <<"Nytten voisitkin sitten kertoa ikäsi:"; cin >> ika; cout << endl <<"vastaa kysymyksiin 0, 3 tai 2!\n 1.Kysymys:\n Kuka koodin on kirjoittanut?\n Vastausvaihtoehdot: 0=ZeBe 3=Mina 2=Jooseppi"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku1; cout << endl <<"2.Kysymys:\n Kuka on suomen presidentti?\n Vastausvaihtoehdot: 0=Ei kukaan 2=Halonen 1=Tarja"; // Voit vaihtaa Tarjan tilalle toisen nimen! cin >> luku2; cout << endl <<"3.Kysymys:\n Missa maa on paras?\n Vastausvaihtoehdot: 1=Norja 0=Suomi 5=USA"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku3; tulos = ika - luku1 + luku2 - luku3; cout << "Arvon " << nimi << "henkinen ikasi on " << tulos; if (tulos > ika) cout << "Anteeksi luulin sinua vanhemmaksi"; if (tulos == ika) cout << "Olet tasapainoinen henkilo."; if (tulos < ika) cout << "Olet vanhempi kuin olisi uskonut."; while(1); }
EDIT: Virheitä korjailtu :D
Alkeellisia virheitä. Miksi noissa lukee couNt? Sehän on cout :)
Nytten menee jo hienosti kääntäjästä läpi :D Muttei toimi :D
#include <iostream> using namespace std; int main() { int ika, luku1, luku2, luku3, tulos; ika = luku1 = luku2 = luku3 = tulos = 0; cout << endl <<"(HUOM! Vastaa jokaiseen kysymykseen oikein!)\n Nimesi:"; string nimi; cout << endl <<"Nytten voisitkin sitten kertoa ikäsi:"; cin >> ika; cout << endl <<"vastaa kysymyksiin 0, 3 tai 2!\n 1.Kysymys:\n Kuka koodin on kirjoittanut?\n Vastausvaihtoehdot: 0=ZeBe 3=Mina 2=Jooseppi"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku1; cout << endl <<"2.Kysymys:\n Kuka on suomen presidentti?\n Vastausvaihtoehdot: 0=Ei kukaan 2=Halonen 1=Tarja"; // Voit vaihtaa Tarjan tilalle toisen nimen! cin >> luku2; cout << endl <<"3.Kysymys:\n Missa maa on paras?\n Vastausvaihtoehdot: 1=Norja 0=Suomi 5=USA"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku3; tulos = ika - luku1 + luku2 - luku3; cout << "Arvon " << nimi << "henkinen ikasi on " << tulos; if (tulos > ika) cout << "Anteeksi luulin sinua vanhemmaksi"; if (tulos == ika) cout << "Olet tasapainoinen henkilo."; if (tulos < ika) cout << "Olet vanhempi kuin olisi uskonut."; while(1); }
EDIT: korjattu lisää
int main()
{
alkaa mutta } merkkiä ei lopussa näy.
Tuo merkki on jostain syystä jäänyt viestissä pois :) Oikeasti se on :D
Voisitkos kertoa meille miten sen pitäisi toimia ja miten se toimii.
Nyt kun tutkiskelin (nopeasti), niin huomaan seuraavaa:
1) nimi-muuttujalle ei kysytä sisältöä, eikä sitä alusteta (saattaa sisältää siis ties mitä, ja tulostaa mitä sattuu kun se tulostetaan).
2) Lopussa on tuo while(1); Se on loputon silmukka, jolla ei ole mitään lopetusparametria. Laita lopetusehto/joku muu ohjelman keskeytin.
Muuta en ainakaan äkkiä huomaa.
#include <iostream> using namespace std; int main() { int ika, luku1, luku2, luku3, tulos; ika = luku1 = luku2 = luku3 = tulos = 0; char nimi[20]; cout << endl <<"(HUOM! Vastaa jokaiseen kysymykseen oikein!)\n Nimesi:"; cin >> nimi; cout << endl <<"Nytten voisitkin sitten kertoa ikäsi:"; cin >> ika; cout << endl <<"vastaa kysymyksiin 0, 3 tai 2!\n 1.Kysymys:\n Kuka koodin on kirjoittanut?\n Vastausvaihtoehdot: 0=ZeBe 3=Mina 2=Jooseppi"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku1; cout << endl <<"2.Kysymys:\n Kuka on suomen presidentti?\n Vastausvaihtoehdot: 0=Ei kukaan 2=Halonen 1=Tarja"; // Voit vaihtaa Tarjan tilalle toisen nimen! cin >> luku2; cout << endl <<"3.Kysymys:\n Missa maa on paras?\n Vastausvaihtoehdot: 1=Norja 0=Suomi 5=USA"; // Voit vaihtaa ZeBe:n tilalle oman nimesi! cin >> luku3; tulos = ika - luku1 + luku2 - luku3; cout << "Arvon " << nimi << ", henkinen ikasi on " << tulos; if (tulos > ika) cout << " Anteeksi luulin sinua vanhemmaksi"; if (tulos == ika) cout << " Olet tasapainoinen henkilo."; if (tulos < ika) cout << " Olet vanhempi kuin olisi uskonut."; while(1); }
Tuo näyttäis toimivan..
lainaus:
cout << endl <<"3.Kysymys:\n Missa maa on paras?\n Vastausvaihtoehdot: 1=Norja 0=Suomi 5=USA"; // Voit vaihtaa ZeBe:n tilalle oman nimesi!
Missäs tuossa on ZeBe? ;D
Gwaur hups tohon jäi toi komentti :D Kiitos Kenkku tosta :) Täytyypäs kokeilla, että toimiiko nytten :D
Kiitos toimii :) Pitää seuraavalla kerralla yrittää saada ohjelma toimimaan kun koodaan jotain.. mutta nytten kun vertasin tota virheellistä ja oikeaa niin tiedän mitä meni pieleen :) ja yritän olla tekemättä niitä virheitä seuraavallla kerralla... Kiitos :D
Ohops, meni vähän lainauslootat sekaisin...
Aihe on jo aika vanha, joten et voi enää vastata siihen.