Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: merkkijonojen ja lukujen lukeminen

Severi2 [17.01.2003 14:59:50]

#

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();
}

thefox [18.01.2003 13:19:58]

#

Tietty silmukkasi posahtaa jos sinulla on

cin>>i; //int tyyppinen muuttuja

ja käytät i:tä for-loopissa laskurina.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta