Eine int Variable speichert ja erst einmal nur irgendeine Ganzzahl. In deinem Code legst du vier solcher Variablen an:
Code:
int x; // IVer
int y; // IIIer
int z; // IIer
int v; // Ier
Jetzt hast du vier Speicherstellen - dort legst du aber keinen Wert ab, die Speicherstellen sind uninitialisiert. Bei C++ bedeutet das: Der Wert von x, y, z und v ist zufällig Werte.
Du möchtest aber, dass das bestimmte Werte sind. Also musst du das auch sagen, zum Beispiel so:
Code:
int x = 4; // IVer
int y = 3; // IIIer
int z = 2; // IIer
int v = 1; // Ier
Jetzt sind die Variablen mit einem jeweiligen Wert initialisiert.
Nun möchtest du, dass der Benutzer sich einen der Werte auswählt. Dazu brauchst du kein Array, sondern einfach wieder eine int Variable, deren Wert durch das cin >> duch den Benutzer festgelegt wird:
Code:
int book;
cin >> book;
Egal welche Zahl der Benutzer nun eingibt, book speichert den Wert nun.
Jetzt kannst du dein switch so machen, wie du es schon hast. Im default Zeig hat der Benutzer einen Wert eingegeben, der weder dem von x, y, z noch v entspricht (also weder 1, 2, 3 oder 4).
Eigentlich brauchst du die Variablen x, y, z und v eigentlich gar nicht, sondern könntest auch einfach schreiben:
Code:
int book;
cin >> book;
switch (book) {
case 1: ... break;
case 2: ... break;
....
}
Von einem case kannst du nicht so einfach in einen anderen springen. Du kannst nur von einem case in den nächsten "weiterrutschen", indem du das break weglässt. Also zum Beispiel so:
Code:
switch (condition) {
case first_case:
// do stuff
case second_case:
// do other stuff
break;
case third_case:
// and so on
break;
}
Trifft first_case zu, wird first_case und second_case ausgeführt. Trifft second_case zu, nur second_case (wegen dem break).