Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Taulukkoon lukeminen

Hente [14.07.2014 15:09:49]

#

hei

Olen tekemässä ohjelmaa ja pitäisi lukea merkkejä taulukkoon. Aika yksinkertainen asia pitäisi olla. Ongelma on vain siinä että en ole aikoihin käyttänyt C:tä.
Miksihän seuraava rakenne ei toimi ?

char pelaajat [10][10];
char nimi;
int rivi,sarake, pelaajalkm;

while (rivi<pelaajalkm)
{
	cout << "Anna pelaajan nimi?";
	cin >> nimi;
    cout << nimi;
	pelaajat[rivi] [sarake]= nimi;
	if (nimi == '\n') rivi ++;
	sarake++;
}

Terveisin Hente

Lisäys:

Joo unohdin tästä että ohjelmassa aiemmin luetaan pelaajien lukumäärä komennolla

cin >> pelaajalkm;

Lisäys:
Ja toinen jatkokysymys eikö tämän pitäisi olla jo sinänsä riittävä rakenne :

char pelaajat [10];
char nimi;
int rivi, pelaajalkm;

while (rivi<pelaajalkm)
{
cout << "Anna pelaajan nimi?";
cin >> nimi;
cout << nimi;
pelaajat[rivi]= nimi;
rivi ++;

}

Mod. lisäsi kooditagit!

Metabolix [14.07.2014 15:29:05]

#

Tyyppi char kuvaa yhtä merkkiä. Kokonaista merkkijonoa kuvaa taas luokka std::string, jonka käyttöön tarvitaan otsikkotiedosto string. Lisätietoja on oppassa.

Lisäksi muuttujat rivi ja pelaajalkm pitäisi alustaa nolliksi; nyt niissä voi olla satunnaisia lukuja, jolloin ohjelma voi kaatua.

Hente [14.07.2014 16:13:42]

#

hei Kiitos vastauksesta. Olinkin initialisoinut ne 0:ksi ohjelmassa mutta en muistanut laittaa tänne. Mutta ei auta se String määrittelyksi vaihtaminen. Ohjelma kysyy kerran tuon pelajaan nimen "oikein" ja sitten sen jälkeen luuppi pyörähtää sen pelaajalkm määrän samantien tulostaen putkeen Anna pelaajan nimi ?
Anna pelaajan nimi ?Anna pelaajan nimi ?Anna pelaajan nimi ?Anna pelaajan nimi ?Anna pelaajan nimi ?

T. Hente

Lisäys: toimii tämä nyt jo paremmin kylläkin, kun huomasin muuttaa myös nimi tyypin string:ksi. tuossa loopissa on jotain hämminkiä.

Lisäys: Joo nyt se näyttäisi toimivankin. Tulostuksessa enään ongelmia. Kiitoksia tästä oli paljon apua.

Oskuz [14.07.2014 19:50:28]

#

Jos haluat kirjoittaa vastauksen eri riveille kuin millä kysymys on, niin:

cout << "Anna pelaajan nimi?"<<endl;

Vastaus

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

Tietoa sivustosta