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; } } }
Tämä ei tosiaan kuulu tänne.
Yksinkertaisesti se, että Case-vertailtavasi ei ole kokonaisluku (tai char; char on myös kokonaisluku).
Muista, että char on taulukko. Tuossa switchissäsi vertaa taulukkoa yhteen merkkiin. Muuta switch muotoon switch(a[0]) jolloin tutkitaan yhtä merkkiä.
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.
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.
Tee siitä taulukosta vain yksittäinen char, koskakohan moderaattori siirtää tämän...
Moderaattori sais poistaa viestin, koska aika turhan tyhmä aihe. Ja muistutan tälla menolla pian trollia. =(
Aihe on jo aika vanha, joten et voi enää vastata siihen.