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!
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.
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.
Jos haluat kirjoittaa vastauksen eri riveille kuin millä kysymys on, niin:
cout << "Anna pelaajan nimi?"<<endl;
Aihe on jo aika vanha, joten et voi enää vastata siihen.