Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Apua!

Azure [14.01.2006 22:21:33]

#

Mikä vikana, oon tehny jo kaikkeni, mutta kääntäjä valittaa koko ajan että `switch quantity not an integer´ tästä koodiastani:

#include <iostream>
using namespace std;

int main(void)
{
 char a[22];
 cout << "PÖÖ" << endl;
 cout << "Valitse A,B,C tai D ja paina enter" << endl;
 cin >> a;
 {
 switch(a) {
  case 'A':
    cout << "Se on A kirjain";
  break;
  case 'B':
    cout << "Se on B kirjain";
  break;
  case 'C':
    cout << "Se on C kirjain";
  break;
  case 'D':
    cout << "Se on D kirjain";
  break;
  default:
    cout << "Jahas ajattelit alkaa kapinoimaan";
  return 0;
   }
  }
}

Metabolix [14.01.2006 22:25:09]

#

Tämä ei tosiaan kuulu tänne.

Yksinkertaisesti se, että Case-vertailtavasi ei ole kokonaisluku (tai char; char on myös kokonaisluku).

Meitsi [14.01.2006 22:31:38]

#

Muista, että char on taulukko. Tuossa switchissäsi vertaa taulukkoa yhteen merkkiin. Muuta switch muotoon switch(a[0]) jolloin tutkitaan yhtä merkkiä.

Metabolix [14.01.2006 22:39:05]

#

Meitsi kirjoitti:

Muista, että char on taulukko.

Ja mitähän tuo nyt yrittää tarkoittaa? Taulukolla ei ole mitään tekemistä charin kanssa. char on yksi merkki.

Meitsi [14.01.2006 22:44:39]

#

Metabolix kirjoitti:

Meitsi kirjoitti:

Muista, että char on taulukko.

Ja mitähän tuo nyt yrittää tarkoittaa? Taulukolla ei ole mitään tekemistä charin kanssa. char on yksi merkki.

No tarkoitin sitä että tuossa on käytetty char taulua mutta kuitenkin verrataan yhteen merkkiin. :/ Huonostippa selitin taas asiani.

TeeVee [14.01.2006 22:46:08]

#

Tee siitä taulukosta vain yksittäinen char, koskakohan moderaattori siirtää tämän...

Azure [14.01.2006 23:21:42]

#

Moderaattori sais poistaa viestin, koska aika turhan tyhmä aihe. Ja muistutan tälla menolla pian trollia. =(

Vastaus

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

Tietoa sivustosta