Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

String jako warunek switch

Ostatnio zmodyfikowano 2013-11-23 13:18
Autor Wiadomość
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:
C/C++
#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 :)
P-97120
mgrD
» 2013-11-23 13:15:02
else bez instrukcji if się wykona:
C/C++
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ą.


P-97124
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 :)
P-97125
« 1 »
  Strona 1 z 1