Kaivelin tässä vanhat c++ harjoitukset kovalevyn nurkilta ja innostuin väsäilemään sillä jotain. Pamahdin kuitenkin ongelmaan heti alkutekijöissä. Minulla on seuraavanlainen koodi:
struct autot { char nimi[20]; int kiihtyvyys; int huippunopeus; int ilmanvastus; int paino; }; int main() { autot auto1; autot auto2; { cout<<"Tervetuloa kisaan \n Anna autolle 1 nimi:\n"; cin.getline(auto1.nimi,20); cout<<"Anna autolle "<<auto1.nimi<<" kiihtyvyysarvo(1-5)\n"; cin>>auto1.kiihtyvyys; cout<<"Anna autolle "<<auto1.nimi<<" huippunopeusarvo(1-5)\n"; cin>>auto1.huippunopeus; cout<<"Anna autolle "<<auto1.nimi<<" ilmanvastusarvo(1-5)\n"; cin>>auto1.ilmanvastus; cout<<"Anna autolle "<<auto1.nimi<<" painoarvo(1-5)\n"; cin>>auto1.paino; cout<<"Anna autolle 2 nimi\n"; cin.getline(auto2.nimi,20); cout<<"Anna autolle "<<auto2.nimi<<" kiihtyvyysarvo(1-5)\n"; cin>>auto2.kiihtyvyys; cout<<"Anna autolle "<<auto2.nimi<<" huippunopeusarvo(1-5)\n"; cin>>auto2.huippunopeus; cout<<"Anna autolle "<<auto2.nimi<<" ilmanvastusarvo(1-5)\n"; cin>>auto2.ilmanvastus; cout<<"Anna autolle "<<auto2.nimi<<" painoarvo(1-5)\n"; cin>>auto2.paino;
Ongelmana on, että tuo auto2.nimi ottaa automaattisesti arvokseen " " eli kysymys käy ruudulla mutta tulkitsee itsensä heti vastatuksi tuolla arvolla. Mistä moinen?
EDIT: Jahas. ongelma ratkesi korvaamalla cin.getline gets:illä.
Mullakin on ollu ongelmia ton cin.getlinen kanssa, eikä oo toiminu ees toi get :(
Aihe on jo aika vanha, joten et voi enää vastata siihen.