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.