C++ error C2143 Es fehlt ';'

Mit Break ; -> programm läuft bis break dan beendet es sich . Kann man da nicht wieder zum Anfang kommen ?

cin.clean kennt der nicht kennt nur cin.clear ist das das slebe :confused:
 
Hi
statt break kannst du continue nehmen, um den Schleifendurchgang von vorn zu beginnen

oder goto :)
nein, besser nicht ;-)

gruß
 
Also ich mag goto ^^ ist halt simpel und funktioniert. Das Problem war nur das in der Schleife das goto wirkungslos ist da die Schleife ja erst zuende laufen muss ( es gibt einfach Fehler oder Schleife läuft weiter ) .

Nach braek ist einfach alles aus aber da soll halt das Programm wieder von vorne Anfangen und nicht ausgehen
 
warum steckst du nicht alles in eine while(1)-schleife,
wenn du dass programm immer wieder von vorne ausführen willst

Übrigens...ich mag goto auch :)
ist aber leider bei vielen programmierern verpönt
warum eigentlich :)

gruß
 
Gibts noch mehr Befehle als Break und Continue ? oder nur die 2 ?

- Und ma so nebenbei gibts hier irgendwo einen Eintrag wie man c++ mit Access Datenbanken verbindet ?
 
exit und return ... beide dienen dazu, das Programm auf der Stelle zu killen.

Ansonsten zum Goto ... das funktioniert nur zuverlaessig, solange der Sprungpunkt in der gleichen c-Datei ist. Sobald man in eine andere Funktion springen will kommt es immer wieder zu Fehlern.

Noch dazu ist es eine Sache von verstaendlichem Code, Goto mag lustig sein ... aber versuch mal einen Code zu lesen, indem alles mit goto gespickt ist ... da wirste dein Leben lang nicht froh, wenn man staendig versucht den Programmfluss nachzuvollziehen und alle nase lang zu irgendwelchen Sprungmarken zu huepfen ... das macht auf dauer keinen Spass, zumal ein debuggen aeusserst aufwaendig und Zeitintensiv wird so. Schleifen kann man erheblich leichter debuggen als bloede Gotos ... ;)

Schlussendlich kann man sagen ... Goto ist bei kleinen Programmen lustig, aber sinnlos, bei groesseren birgt es erhebliches Fehlerpotential, nochdazu traegt es zu einer Verkomplizierung des Codes bei, was die Geschichte sehr schwer wartbar und verstaendlich macht, was dazu fuehrt, dass das Programm im unterhalt teuer wird, denn Programmierzeit ist meist Arbeitszeit und die kostet Geld, da braucht man durch miesen Fehleranfaelligen Code nicht die noetige Arbeitszeit hochschrauben ...

Gewoehnt man sich von vorn herein komplizierte Programmiertechniken an bekommt man die kaum raus, deswegen sollte man von Anfang an einen gewissen Standard halten, damit man dann fuer spaeter fuer etwas mehr als 30-100 Zeilen Code gewappnet ist ... ;)
 
Wieder ich mit nem Problem anderen foren und so haben mich nicht weitergebracht :

C:
 #include<iostream>
#include<conio.h>
using namespace std;
void main()
{
	int VARI1, VARI2, VARI3;
	int auswahl1;
	char ja='ja';
	char ja1='ja';
while(ja='ja')
{
hier:
cout<<"Flaechen Berechner"<<endl;
cout<<"Moechten Sie die Flaeche von einer der folgenden Geometrischen Figuren ausrechnen?\n\n"<<endl;
cout<<"Kreis    : \" 1\" Druecken"<<endl;
cout<<"Dreieck  : \" 2\" Druecken"<<endl;
cout<<"Rechteck : \" 3\" Druecken"<<endl;
cin>>auswahl1;

while(cin.fail())  
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine zahl Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
switch(auswahl1)
{
case 1:
und so weiter ist mein Programm da kommen nun folgende Fehler




C:
>c:\dokumente und einstellungen\rh\eigene dateien\visual studio 2008\projects\geo rechner\geo rechner\rechner.cpp(49) : error C2784: 'std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,unsigned char)' : could not deduce template argument for 'std::basic_ostream<char,_Traits> &' from 'std::istream'
1>        c:\programme\microsoft visual studio 9.0\vc\include\ostream(930) : see declaration of 'std::operator <<

Was sagt mir das jetzt ? Ich hab durch andere Foren anregungen andere includes genommen aber das macht kaum unterschied . Mit widows.h gehen zwar meist alle fehler weg aber er erkännt windows.h nicht usw. bin am verzweifeln -.-
 
Hi.
und so weiter ist mein Programm da kommen nun folgende Fehler
Code:
>c:\dokumente und einstellungen\rh\eigene dateien\visual studio 2008\projects\geo rechner\geo rechner\rechner.cpp(49) : error C2784: 'std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,unsigned char)' : could not deduce template argument for 'std::basic_ostream<char,_Traits> &' from 'std::istream'
1>        c:\programme\microsoft visual studio 9.0\vc\include\ostream(930) : see declaration of 'std::operator <<
Du hast zwar den relevanten Codeteil nicht gezeigt :rolleyes:, aber anscheinend hast du versucht Ausgabeoperatoren mit einem Eingabestream zu verwenden:
C++:
cin << ":: fehler"; // falsch.

// anstatt:
cout << "richtig";
Gruß
 
Oh ver#### wie peinlich -.- , warum passiert mir das immer ....... hm hab immer ne Schleifen Abfrage falsch kopiert sry euch damit zu belästigen ^^ .


nun ist aber immer noch der Fehler da aber ich find da nichts mehr oder starre ich wie vorhin immer nur auf den Bildschirm und sehe nichts ?

C:
#include<iostream>
#include<conio.h>
using namespace std;
void main()
{
	int VARI1, VARI2, VARI3;
	int auswahl1;
	char ja='ja';
	char ja1='ja';
while(ja=='ja')
{
hier:
cout<<"Flaechen Berechner"<<endl;
cout<<"Moechten Sie die Flaeche von einer der folgenden Geometrischen Figuren ausrechnen?\n\n"<<endl;
cout<<"Kreis    : \" 1\" Druecken"<<endl;
cout<<"Dreieck  : \" 2\" Druecken"<<endl;
cout<<"Rechteck : \" 3\" Druecken"<<endl;
cin>>auswahl1;

while(cin.fail())  
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine zahl Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
switch(auswahl1)
{
case 1:
	do
	{
	cout<<"Kreis Berechnung .  Bitte Variablen nach Beispiel Eingeben!"<<endl;
	cout<<"Beispiel"<<endl;
	cin>>VARI1;
	cin>>VARI2;
	cin>>VARI3;

	while(cin.fail())  
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine zahl Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }
	while(ja1=='ja');
	cout<<"Weitere Variablen eingaben machen ? Geben Sie \" ja\" ein um weiter zu machen."<<endl;
	cin>>ja1;

while(cin.fail())
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine ja Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

	}


	break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 2:
	do
	{
		cout<<"Dreieck Berechnung . Bitte Variablen nach Beispiel eingeben."<<endl;
			cout<<"Beispiel"<<endl;
		cin>>VARI1;
		cin>>VARI2;
		cin>>VARI3;

while(cin.fail()) 
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine Zahl Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

	while(ja1=='ja');
	cout<<"Weitere Variablen eingaben machen ? Geben Sie \" ja\" ein um weiter zu machen."<<endl;
	cin>>ja1;

	while(cin.fail())
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine ja Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

	}
	break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case 3:
	do
	{
	cout<<"Rechteck Berechnung . Bitte Variablen nach Beispiel eingeben."<<endl;
			cout<<"Beispiel"<<endl;
		cin>>VARI1;
		cin>>VARI2;
		cin>>VARI3;

while(cin.fail()) 
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine Zahl Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

	while(ja1=='ja');
	cout<<"Weitere Variablen eingaben machen ? Geben Sie \" ja\" ein um weiter zu machen."<<endl;
	cin>>ja1;

	while(cin.fail())
 {
	 cout<<"Falsche Eingabe\n\t Bitte eine ja Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

	}
	break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
default:
	cout<<"Fehlerhafte Eingabe oder Programmfehler!"<<endl;
}
cout<<"Weiter mit dem Programm Arbeiten ? Geben Sie \" ja\" ein um weiter zu machen."<<endl;
cin>>ja;

while(cin.fail()) 
 {
	 cout<<"Falsche Eingabe\n\t Bitte ja Eingeben!"<<endl;
	 cout<<"Das Programm wird sich nun Beenden ."<<endl;
	 cin.clear();
	 continue;
	 goto hier;
 }

}
}
 
Ein wenig umstaendlich geschrieben das ganze ...
goto mag ich nicht, liesse sich auch anders loesen ...

Hauptproblem ist aber, dass char-Variablen nur ein Zeichen aufnehmen koennen ... du hast char mit 2 Zeichen initialisiert, das kann nicht gehen. Wenn du vor hast das in Strings umzubauen wirds im verlauf komplizierter, lieber die Chars nur mit einem Zeichen initialisieren.
 

Neue Beiträge

Zurück