• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

switch i case czy da sie...

Object Storage Arubacloud
0 głosów
444 wizyt
pytanie zadane 15 kwietnia 2016 w C i C++ przez Diwad Początkujący (430 p.)
No więc witam Was, czy da się w switch i case wybrać coś za pomocą słów, a nie numerów?
Mam na myśli
switch(sdas)

case jeden:

case dwa:
Jeżeli tak to jak?

4 odpowiedzi

0 głosów
odpowiedź 15 kwietnia 2016 przez TheFeniks Gaduła (4,690 p.)

Chodzi ci o to że zamiast int'a będzie string ?

string wyraz;

switch( wyraz )

case costam:
    
break;

case costam:
    
break;

case costam:
    
break;

Jak najbardziej się da. :)

 

Pozdrawiam !

komentarz 15 kwietnia 2016 przez Diwad Początkujący (430 p.)
Próbowałem w ten sam sposób co Ty mi przedstrawiłeś, ale nie działa, wyświetla się błąd:

'jeden': undeclared indentifier
komentarz 15 kwietnia 2016 przez TheFeniks Gaduła (4,690 p.)
Wstaw ten jeden w " "
komentarz 15 kwietnia 2016 przez Diwad Początkujący (430 p.)

Jeszcze Cię troszkę pomęczę z tym switchem co tu jest źle?
Mój Sokoli wzrok tego nie widzi :D

string wybor;
	cin >> wybor;
	switch (wybor)
	{
	case "jeden":
	{
		dlug uno;
		cout << "To jest dlug ktory dostaniesz gdy zostanie splacony przez jednego z nich: " << uno.dlugi(lb[0]) << endl;
		break;
	}
	case "dwa":
	{
		dlug dos;
		cout << "To jest od dwoch: " << dos.dlugi(lb[0] + lb[1]) << endl;
		break;
	}
	case "trzy":
	{
		dlug tres;
		cout << "A to od wszystkich: " << tres.dlugi(lb[0] + lb[1] + lb[2]) << endl;
		break;
	}
	}

 

komentarz 15 kwietnia 2016 przez TheFeniks Gaduła (4,690 p.)
Co to jest ten dlug tres; ?

To jest chyba zbędne.

Sprawdź jeszcze dos.dlugi...
komentarz 16 kwietnia 2016 przez maly Nałogowiec (37,190 p.)

Jeszcze Cię troszkę pomęczę z tym switchem co tu jest źle?
Mój Sokoli wzrok tego nie widzi :D

Logi kompilatora mówią co masz źle.

Nie da się w switch użyć niczego poza typami całkowitymi.

0 głosów
odpowiedź 13 czerwca 2016 przez bolus150 Nowicjusz (220 p.)

A nie lepiej to zrobić ifem zrobić?

if(warunek)
{
instrukcja jesli tak
}
elseif(warunek2)
{
instrukcja jesli tak
}

i tak dalej?
komentarz 13 czerwca 2016 przez Bondrusiek Maniak (61,370 p.)
Lepiej zrobić to ifem gdyż switch() operuje tylko na wartosciach numerycznych.
0 głosów
odpowiedź 13 czerwca 2016 przez Declan Obywatel (1,000 p.)
Przykład menu z użyciem znaków ASCII:  https://pl.wikipedia.org/wiki/ASCII

       switch(znak)
        {
        case 49:
            menu();
            _getch();
            break;
        case 50:
            menu ();
            _getch();
            break;
        case 51:
            menu();
            _getch();
            break;
        case 52:
            menu();
            _getch();
            break;
        case 53: exit(0);
            break;            
        }
       _ getch();
}while(znak<49 || znak>53);
    
    //dopoki znak nie jest z zadanego przedzialu ASCII- CLS
    //znaki spoza przedzialu nie wyswietlaja sie
0 głosów
odpowiedź 14 czerwca 2016 przez MetRiko Nałogowiec (37,110 p.)

Z tego co widzę temat dość stary, ale dla wszystkich zainteresowanych.. Tak da się zrobić switch'a z tekstów.. jednak nie bezpośrednio.. polecam poczytać sobie o hashingu. Jest to metoda/algorytm przedstawiania tekstów w postaci liczby.. nie chodzi o konwersję (w stylu string>>int).. tutaj dla tekstu jest przypisywane ID.. albo raczej obliczane. W ten sposób można zapisać do jednej wielkiej liczby nawet zdanie składające się z liter i spacji.

Podobne pytania

0 głosów
1 odpowiedź 1,029 wizyt
0 głosów
2 odpowiedzi 337 wizyt
pytanie zadane 22 sierpnia 2022 w C i C++ przez Daaa22 Dyskutant (8,250 p.)
0 głosów
1 odpowiedź 111 wizyt

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...