Problem z warunkiem wielokrotnego wyboru!
Ostatnio zmodyfikowano 2019-02-17 16:11
newbieguy Temat założony przez niniejszego użytkownika |
Problem z warunkiem wielokrotnego wyboru! » 2019-02-17 15:39:37 Cześć,otóż chcę użyć operatora logicznego || w instrukcji switch,jednakże nie wiem gdzie popełniam błąd ;/ Wklejam kod,aby lepiej zobrazować problem: #include <iostream> #include <stdlib.h> int main() { int x1, y1, z1, zmienna; char znak; x1 = 1; y1 = 2; z1 = 3; std::cout << "Podaj zmienna:" << std::endl; std::cout << "x1=1,y1=2,z1=3" << std::endl; std::cin >> zmienna; system( "cls" ); std::cout << "Podaj X,Y lub Z:" << std::endl; std::cin >> znak; system( "cls" ); switch( znak ) { case 'X' || 'x': std::cout << x1 + zmienna << std::endl; break; case 'Y' || 'y': std::cout << y1 + zmienna << std::endl; break; case 'Z' || 'z': std::cout << z1 + zmienna << std::endl; break; } return 0; }
|
|
pekfos |
» 2019-02-17 16:08:48 Nie da się tak zrobić. Ale: nie każdy case musi mieć break, program po prostu będzie się wykonywać dalej, więc możesz to wykorzystać i zrobić tak: switch( c ) { case 'a': case 'A': cos; break; case 'x': case 'X': cos_innego; break; } Przy czym wygląda na to, że potrzebujesz tego tylko po to, by wielkość znaków nie miała znaczenia. W takim przypadku najprościej użyć funkcji toupper()/ tolower() z <cctype> i sprawdzać tylko jeden rozmiar litery. switch( tolower( c ) ) { case 'a': cos; break; case 'x': cos_innego; break; } |
|
newbieguy Temat założony przez niniejszego użytkownika |
» 2019-02-17 16:11:45 Dzięki za pomoc ;D Uczę się dopiero i nie wiedziałem że tak się da zrobić ;d |
|
« 1 » |