Switch in C++

01/06/2011 19:39 green.green#1
Hi ich hab ein Problem bei der Switch-Funktion:

Code:
// Quadratzahlengenerator.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//


#include "stdafx.h"
#include <string>
#include <iostream>
#include <Windows.h>
#include <math.h>
using namespace std; 


int _tmain(int argc, _TCHAR* argv[])
{
int Quadrz ;
cout << endl ;
cout << "Menue: " << endl ;
cout << "Quadratzahlengenerator         <1>" << endl ;
cout << "Formelanzeige                  <2>" << endl ;


cin >> Quadrz ;
Sleep (1000) ;


}
	




[color=#ff0000]switch[/color] (Quadrz) ;
[color=#ff0000]{[/color]
case 1:
	int d  ;
	int x  ;
	int x2 ;
	int y2 ;
	
	cout << "Geben sie eine ungerade Zahl fuer d ein." << endl ;
	cin >> d ;
	x = (d - 1.0) / 2.0 ;
	cout << " x ist  gleich " << x << endl ;
	Sleep (2500) ;
	x2 = x * x ;
	cout << "x^2 ist gleich " << x2 << endl ;
	Sleep (2500) ;
	y2 = x2 + d ;
	cout << "y^2 ist gleich " << y2 << endl ;
	Sleep (2500) ;
	
	Sleep (2000) ;
	getchar () ;
	
	[color=#ff0000]break[/color] ;
	

[color=#ff0000]case[/color] 2:
	cout << "Danke, das Sie sich für neue Funktionen entscheiden." << endl ;
	[color=#ff0000]break[/color] ;

[color=#ff0000]default[/color]:
	cout <<"Benutzen Sie bitte nur die Taste 1 und 2." << endl ;

}

{
getchar () ;
return () ;
}

Das Rote wird als falsch unterstrichen.
01/06/2011 19:44 Medix#2
wie wärs mit fehlermeldung lesen?
in der switch zeile gehört kein semikolon hin.
01/06/2011 19:49 nkkk#3
ist ja auchnicht inner halb einer funktion.
01/06/2011 20:11 Medix#4
Das kommt noch hinzu.

Ich würd mal das zeugs alles löschen und bei kapitel 1 in deinem Buch/tutorial anfangen.
01/14/2011 19:54 Telithanor#5
ist doch eig. ganze einfach

so müsste es eig richtig heißen:


Quote:
int _tmain(int argc, _TCHAR* argv[])
{
int Quadrz ;
cout << endl ;
cout << "Menue: " << endl ;
cout << "Quadratzahlengenerator <1>" << endl ;
cout << "Formelanzeige <2>" << endl ;


cin >> Quadrz ;
Sleep (1000) ;

switch (Quadrz) ;
{
case 1:
int d ;
int x ;
int x2 ;
int y2 ;

cout << "Geben sie eine ungerade Zahl fuer d ein." << endl ;
cin >> d ;
x = (d - 1.0) / 2.0 ;
cout << " x ist gleich " << x << endl ;
Sleep (2500) ;
x2 = x * x ;
cout << "x^2 ist gleich " << x2 << endl ;
Sleep (2500) ;
y2 = x2 + d ;
cout << "y^2 ist gleich " << y2 << endl ;
Sleep (2500) ;

Sleep (2000) ;
getchar () ;

break ;


case 2:
cout << "Danke, das Sie sich für neue Funktionen entscheiden." << endl ;
break ;

default:
cout <<"Benutzen Sie bitte nur die Taste 1 und 2." << endl ;

}
...

}
...
Fehler:

switch musst du dir vorstellen wie etwa eine if-abfrage.
die variable dafür also Quadrz ist ja in _tmain deklariert. außerhalb dieser funktioniert ist diese variable ungültig. und deswegen kannst du sie außerhalb dieser nicht benutzen.

und 2ten muss switch innerhalb der funktion stehen

;)
hoffe konnte helfen, auch wenn der thread einige tage alt ist