Zmienna typu string i instrukcja switch
Ostatnio zmodyfikowano 2011-07-31 23:23
Amigen Temat założony przez niniejszego użytkownika |
Zmienna typu string i instrukcja switch » 2010-06-03 13:12:44 Witam szanownych userów. Chciałbym prosić o pomoc w związku z instrukcją Switch. Mianowicie problem mam takiego rodzaju iż podczas kompilacji mojego programu instrukcja switch wywala błędy: error: switch quantity not an integer| error: `COSTAM' was not declared in this scope| error: `HELP' was not declared in this scope| Co o pierwszego to wszystko jasne: zmienna musi być typu int a jest typu string. Widziałem jednak programy które mając zmienną string w tym miejscu działały. Jak to poprawić? I o co chodzi z tymi deklaracjami (to są nazwy case'ów w switch'u)? |
|
ison |
» 2010-06-03 14:03:09 Z tego co mi wiadomo na tym forum nie ma wróżek. Wklej kod. Nikt telepatycznie go od ciebie nie weźmie |
|
szyx_yankez |
» 2010-06-03 14:03:58 Daj kod. |
|
Amigen Temat założony przez niniejszego użytkownika |
» 2010-06-03 17:53:27 Oto i kod, dodam tylko że zanim dodałem switch, to dobrze się kompilowało. #include <iostream> #include <conio.h> #include <string> #include <stdio.h>
using namespace std;
string com;
int main() { cout << "Terminal 0.1a\n"; cout << "---------------------------------------\n"; do { cout << ">:"; cin >> com; switch( com ) { case HELLOWORLD: cout << "HELLO WORLD\n"; break; case HELP: cout << "HELLOWORLD - Pokazuje napis Hello World\n"; cout << "HELP - Pokazuje to Okno\n"; cout << "EXIT - Wylancza program\n"; break; default: cout << "Nieznana Komenda\n"; break; } } while( com != "exit" ); return 0; } |
|
szyx_yankez |
» 2010-06-03 18:21:27 Stringa nie zabardzo się da do switcha wsadzić gdyż warunek w switch musi być typu całkowitego, enumeracyjnego lub klasowego (w którym zdefiniowano jeden operator konwersji na typ całkowity), a wyrażenie w case musi być stałą całkowitą. Aha jeszcze jedno nie pisze się tak: Tylko tak: Gdyż string to nie enum czy dyrektywa define. |
|
Miquel |
» 2011-07-31 23:23:50 Jesli w swoim programie chcesz uzyc zmiennej "string" uzyj instrukcji "if()..."
zadeklarowana zmienna nadaj w znacznikach "..."
string zmienna; if (zmienna=="HELP")
|
|
« 1 » |