String jako warunek switch
Ostatnio zmodyfikowano 2013-11-23 13:18
Zdziwiony Temat założony przez niniejszego użytkownika |
String jako warunek switch » 2013-11-23 12:55:41 Witam. Mam do Was pytanie, czy da się zrobić coś takiego, żeby warunkiem switcha był tekst ? Wiem, że można to zrobić na if'ach, ale one nie pozwalają na ustawienie domyślnego tekstu gdy nie spełni się ŻADNEGO z warunków Przykład: #include <iostream> #include <windows.h> #include <conio.h> #include <string>
using namespace std; int main() { cout <<( "Podaj ciag znakow!\n" ); do { unsigned char znak; string komenda; SetConsoleTitleA( "programik" ); cin >> komenda; if( komenda == "help" ) { cout << "Takakatampomoc\n"; cout << "yhye\n"; cout << "bleble\n"; cout << "costam\n"; cout << "cos2\n"; cout << "cos\n"; } if( komenda == "obliczto" ) { cout << "cos"; } else { std::cout << "Wpisales zly wyraz!" << std::endl; } } while( true ); return 0; }
Przy takim kodzie niestety po wpisaniu "help" wyświetli się to co ma się wyświetlić ale pod tym wywali "wpisales zly wyraz!" dlatego, ze nie zostanie spełniony warunek "obliczto". I tu moje pytania: 1. Czy można użyć stringa (czyli tekstu) w switchu? 2. Jeśli nie to jak zapisać to w ifach, żeby każdy warunek był brany pod uwagę i w przypadku nie spełnienia, żadnego wywalało, że wpisałeś zły wyraz.... Pozdrawiam :) |
|
mgrD |
» 2013-11-23 13:15:02 else bez instrukcji if się wykona: printf( "Wybierz numer 1-3" ); if( a ) print( "Wybrales 1" ); else if( a == 2 ) printf( "wybrales 2" ); else if( a == 3 ) printf( "trzy!" ); else { a = 2; printf( "No ponioslo Cie kolego! Do zmiennej a przypisuje DOMYSLNA WARTOSC!" ); }
A co do switcha to się nie da, bo wartość w case musi być stałą całkowitą. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-23 13:18:48 Aha... Wystarczy dopisać Else if :)
Dzięki za pomoc wszystko działa jak należy :) |
|
« 1 » |