Taasen sama ongelma...Parse error before else... Vaikka nyt on Kaarisulutkin paikoillaan...Vain ohjelma on vaihtunut:
#include <iostream.h> #include <stdio.h> int main (void) { int kys_1, kys_2, kys_3, kys_4, kys_5, tulos; kys_1 = kys_2 = kys_3 = kys_4 = kys_5 = tulos = 0; cout << endl << "Kohta tulee viisi vaittamaa. Niihin vastaat numeroin:"; cout << endl << "5 = Taysin samaa mielta."; cout << endl << "4 = Melko samaa mielta."; cout << endl << "3 = Puolueeton."; cout << endl << "2 = Melko eri mielta."; cout << endl << "1 = Taysin eri mielta."; cout << endl << endl << "Lopuksi saat epavirallisen psykologin Tuomas Mammelan arvion itsestasi..."; cout << endl << endl << "PAINA ENTER KUN OLET VALMIS"; getchar(); cout << endl << "Rakastan mopolla ajamista."; cout << endl << "Vastauksesi: "; cin >> kys_1; cout << endl << endl << "C++ Ohjelmoinnin Alkeet-kirja sopii vallan mainiosti kesalukemiseksi."; cout << endl << "Vastauksesi: "; cin >> kys_2; cout << endl << endl << "En tieda karmivampaa paikkaa kuin kaikki vaatekaupat..."; cout << endl << "Vastauksesi: "; cin >> kys_3; cout << endl << endl << "Ajan mieluummin vanhalla kuin uudella ajoneuvolla."; cout << endl << "Vastauksesi: "; cin >> kys_4; cout << endl << endl << "En vastannut rehellisesti askeisiin kysymyksiin."; cout << endl << "Vastauksesi: "; cin >> kys_5; cout << endl << endl << endl << " Paina ENTER jos uskallat kuulla totuuden itsestäsi..."; getchar(); tulos = kys_1 + kys_2 + kys_3 + kys_4 + kys_5; if (tulos == 5); { cout << endl << endl << "Olet KAUHISTUTTAVAN POYRISTYTTAVAN sanoisinpa suorastaan RAHVAAN TYLSÄ IHMINEN./n"; cout << "Sinua EN HALUAISI tuntea tai edes TIETÄÄ!!!"; cout << endl << endl << "OLISI PARAS PAINAA VIKKELASTI [ENTER] ENNENKUIN SAASTUTAT OHJELMANI"; cout << endl << "TYLSYYDELLA!!!"; getchar(); return 0; } else if (tulos <= 10 && tulos > 5); { cout << endl << endl << "Tylsempaa ihmista saa hakea. En erityisemmin tahtoisi olla kanssasi "; cout << endl << "tekemisissa. Tosin sina saatat JOSKUS HARVOIN tehdä ihan VAHINGOSSA "; cout << endl << "jotain jännittävää tai hauskaa."; cout << endl << endl << "Paina ENTER ja osta elama."; getchar(); return 0; } else if (tulos > 10 && tulos <= 20); { cout << endl << endl << "Olet normaali ihminen. Aö on sinulla 90-100."; cout << endl << endl << "Paina ENTER poistuaksesi."; getchar(); return 0; } else if (tulos > 20 && tulos <= 25); { cout << endl << endl << "Sinulla on 500mhz normaalia paremmat aivot. Voisin jopa sanoa etta"; cout << endl << "olet cool, tyylitajuinen, viisas jne. Tahtoisin tuntea mahdollisimman paljon"; cout << endl << "sinunkaltaisiasi ihmisia!!!"; cout << endl << endl << "Poistu painamalla sivistyneesti ENTER- nappainta."; getchar(); return 0; } }
Jokaisessa if-lauseessa sama virhe:
if (tulos == 5);
Tuo puolipiste pitäisi poistaa!!!
Sitten myös kaikki nämä joissa on &&:
if (tulos > 10 && tulos <= 20);
Tarvitaan lisää sulkuja:
if ((tulos > 10) && (tulos <= 20));
Sitä sattuu aina alussa :)
Thanksista... Mut mitä varten noi sulut pitäs lisätä? Mulla toimii ilmankin...
Sori, ajattelen liikaa Pascal-tyyliin... ei niitä tuossa tarvitakaan. Tarvittaisiin, jos olisi & eikä && (Pascalissa ne ovat sama asia).
Mutta sulkuja on minusta kiva käyttää kaikessa, ne selkeyttävät ihan kummasti, ja kun niihin on tottunut, ei unohda niitä silloin kun on useampi ehto, joista jokin on ||.
OK. Mutta minä kai mieluiten käytän vähän sulkuja (koskee vain ohjelmointia) ja paljon rivinvaihtoja...
Käytä mieluiten kooditageja niin näyttää sisennyksetkin kunnollisilta. "One-linereissa" ei tartte sulkuja, jos o enemmä rivejä ni sitte sulut. Ei mitää puolipisteitä ehtolauseiden perää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.