Case mit ODER
-
Hallo,
ich habe folgendes Programm:
#include <iostream>
using namespace std;
void main()
{
int zahl;
cout << "Bitte Zahl eingeben [1-4] :\n ";
cin >> zahl;
switch (zahl)
{
case 1 : cout << "ungerade" << endl; break;
case 2 : cout << "gerade" << endl; break;
case 3 : cout << "ungerade" << endl; break;
case 4 : cout << "gerade" << endl; break;
default : cout << "falsche Eingabe!" << endl; break;
}
}So Sinn dieses Programm sei Ausgeschlossen. So wie es jetzt ist funktioniert es auch. Mir geht es jetzt darum die ODER Funktion einzubauen, stelle mir das so vor:
...
case (1 || 3): cout << "ungerade" << endl; break;
case (2 || 4): cout << "gerade" << endl; break;
...Leider klappt das so nicht, kann mir da jemand helfen?
-
switch() { case 1: csae 3: case 5: cout << "ungerade" << endl; break; // deswegen ist das break da, die ausführung hört nicht beim nächsten case auf sondern erst beim nächsten break;
Wesentlich einfacher ist das natürlich so:
if(zahl % 2 == 0) cout << "gerade" << endl; else cout << "ungerade" << endl;
MfG SideWinder
-
also ich wollte so etwas mal bei java machen
und da ging es nicht
ich denke dass es in c++ auch nicht gehen wirdes klappt nur mit ints, shorts, longs, chars
selbst bei double und flaot hängts glaub ich sogar schonbin mir aber nicht sicher...
habs auch grad mal mit dem g++ irgendwas probiert
meckern tut er nicht
aber funktionieren tuts nicht
sprich der compiler hat nix dagegen aber es klappt einfach nicht...
-
Skym0sh0 schrieb:
also ich wollte so etwas mal bei java machen
und da ging es nicht
ich denke dass es in c++ auch nicht gehen wirdes klappt nur mit ints, shorts, longs, chars
selbst bei double und flaot hängts glaub ich sogar schonbin mir aber nicht sicher...
habs auch grad mal mit dem g++ irgendwas probiert
meckern tut er nicht
aber funktionieren tuts nicht
sprich der compiler hat nix dagegen aber es klappt einfach nicht...Es ist ja auch sinnlos ein || im case. Mekern tut er imho nicht weil er aus
case (1 || 3):
einfach
case 1:
macht.
Da 1 true ist und 3 auch gibts eben ein true.
Wie SideWinder schon gesagt hat einfach das break verrrücken.