Code Tags bitte!
Und ja, switch ist folgendermaßen aufgebaut:
|
C-/C++-Quelltext
|
1
2
3
4
|
switch (zahl) {
case 10:
cout << "zahl ist 10 << endl;
break;
|
und nicht "case (zahl = 10):". Nichtmal wenn es eine if Abfrage wäre, wäre es korrekt, da ein Gleichheitszeichen eine Zuweisung von Variable und Wert ist (Bsp: const float PI = 3.14; ) und müsste folge richtig if (zahl == 10) lauten.
Weswegen eig. die ganzen Namens Variablen? Und wieso nicht ein Array dafür?
edit: Zu deinem Verständnis Problem: char ist
ein Zeichen, bzw. speicher für
ein Zeichen. Wenn du
mehrere Zeichen speichern willst, brauchst du auch
mehr Platz. Deswegen entweder std::string, Beispiel:
|
C-/C++-Quelltext
|
1
|
std::string name = "foobar";
|
oder aber ein char array bzw. Zeiger falls du, wie es den Anschein macht, noch keine Arrays kennst, Beispiel:
|
C-/C++-Quelltext
|
1
|
char * name = "foobar";
|
Dein bereinigter Code also:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#include <iostream>
using namespace std;
int main () {
//Variablen
//
char chName[10];
//Bitte den Name einzugeben
//
cout << "Bitte geben Sie ihren Namen ein (max. 10 Buchstaben):";
//Spieler definiert Variable "chName"
//
cin >> chName;
int zahl;
cout << "Bitte geben Sie eine Zahl an:";
cin >> zahl;
switch (zahl) {
case 1:
cout << ", du wirst Tomatenforscher";
break;
case 2:
cout << ", du wirst Schauspieler";
break;
case 3:
cout << ", du wirst Straßenfaeger";
break;
case 4:
cout << ", du wirst Arzt";
break;
case 5:
cout << ", du wirst Lottogewinner";
break;
// usw.
default:
cout << "Falsche Eingabe,";
}
return 0;
}
|