Eli ongelma on se, että ohjelma ei anna minun syöttää kuin uhden henkilön tiedot. Eli kun olen syöttänyt ikä tiedon, niin ohjelma jo tulostaa näytölle jotain sian saksaa. Eli se suorittaa silmukan vielä kaksi kertaa kysymättä minulta mitään tietoja.
Tiedän, että ongelma liittyy jotenkin cin ja getline metodeihin. Olisin kiitollinen, jos joku tietäisi ongelmaan ratkaisun.
Tässä koodinpätkä.
for(i=0;i<3;i++) { cout << "\nAnna etunimi: " << endl; cin.getline(enimi,20);//mjono cout << "\nAnna sukunimi: " << endl; cin.getline(snimi, 30);//mjono cout << "\nAnna osoite: " << endl; cin.getline(os, 50);//mjono cout << "\nAnna puhelinnumero: " << endl; cin.getline(puh, 15);//mjono cout << "\nAnna ikä: " << endl; cin>>i;//int tyyppinen muuttuja Henkilot[i].aseta_kaikki(enimi,snimi,os,puh,i); } for(i=0;i<3;i++) { Henkilot[i].hae_nimi(); Henkilot[i].hae_osoite(); Henkilot[i].hae_puh_nro(); Henkilot[i].hae_ika(); }
Tietty silmukkasi posahtaa jos sinulla on
cin>>i; //int tyyppinen muuttuja
ja käytät i:tä for-loopissa laskurina.
Aihe on jo aika vanha, joten et voi enää vastata siihen.