Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Merkkijonomuuttuja

Hengilö [11.03.2013 21:52:25]

#

Tässä kokeillessani C++:aa heräsi kysymys: miten muuttujien tyypiksi saa vaihdettua merkkijonon? Vai onko tämä edes mahdollista? Kyseessä on tällainen

#include <iostream>

int main() {

  muutujatyyppi_merkkijono teksti;
  bool oikea;
  while (oikea != true)
    std::cout << "Syötä teksti." << std::endl;
    std::cin >> teksti;
    if (teksti == C++) {
      std::cout << "Oikea vastaus!" << std::endl;
      oikea = true;
    } else {
      std::cout << "Yritä uudelleen!" << std::endl;
      oikea = false;
    }
  }
}

Metabolix [11.03.2013 22:03:56]

#

Nyt hei, yrittäisit edes. C++:n merkkijono on string-otsikossa määritelty std::string.

Koodissasi siis pitää lisätä yksi include-rivi, laittaa teksti-muuttujalle tyypiksi std::string ja laittaa "C++" lainausmerkkeihin sekä lisätä while-riville avaava aaltosulku. Lisäksi oikea-muuttuja pitäisi alustaa, nyt sen alkuarvo on määrittelemätön ja se voi joskus olla sattumalta valmiiksi true.

yawnbits [13.03.2013 19:00:00]

#

Muistutan, että main funktiosta myös puuttuu palautus arvo.

Metabolix [13.03.2013 19:08:12]

#

yawnbits kirjoitti:

Muistutan, että main funktiosta myös puuttuu palautus arvo.

Muistutan, että main-funktiossa ei tarvitse olla return-riviä. Jos et usko, lue C++-standardista.

yawnbits [14.03.2013 21:09:10]

#

Metabolix kirjoitti:

yawnbits kirjoitti:

Muistutan, että main funktiosta myös puuttuu palautus arvo.

Muistutan, että main-funktiossa ei tarvitse olla return-riviä. Jos et usko, lue C++-standardista.

Anteeksi. Ohjelmoinu liikaa C:tä että olen unohtanut että C++ ei vaadi main funktiolle palautus arvoa. :D

Metabolix [15.03.2013 07:51:08]

#

yawnbits kirjoitti:

Ohjelmoinu liikaa C:tä että olen unohtanut että C++ ei vaadi main funktiolle palautus arvoa. :D

Aika heikko selitys sikäli, että myöskään C:ssä sitä ei ole tarvittu enää tällä vuosituhannella eli C99-standardin. "Reaching the } that terminates the main function returns a value of 0."

yawnbits [15.03.2013 16:16:41]

#

Metabolix, kuinka niin heikko selitys? En sanonut, että mitä C versiota olen käyttänyt. Taitaapi olla gnu89 koska se on edelleen oletus standardi GCC:ssä.

Vastaus

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

Tietoa sivustosta