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.