WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 21.10.2003, 16:00   #1
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Unglücklich Probs mit 'case' und 'switch' in C++

Zitat:

#include <iostream.h>
#include <math.h>
int main() {

char s;
double p=0, q=0, x1=0, x2=0, w=0;
bool E=0;


do{
switch(s){

case 'e': cout<<"Enter Coefficients by pressing e";
cin>>p, q;

break;
case 'c': cout<<"To Compute enter c";
w=sqrt(pow((p/2), 2)-q);
x1=-p/2+w;
x2=-p/2-w;


if(p<=0){
cout<<"x1="<<-p<<"/2+i*"<<w;
cout<<"x2="<<-p<<"/2+i*"<<w;
}
else
cout<<"x1="<<x1<<" and "<<"x2="<<x2;



break;
case 'E': cout<<"press E to exit";
E=1;




default: return -1;

}




} while (E!=0);
}
return 0;
}
Also das Prog soll eine quadratische Gleichung lösen können.
In form eines Menüs werden 3 Eingabeaufforderungen verlangt: Koeffizienteneingabe, Berechnung der quadratischen Gleichung und Beenden mit Hilfe des Schleifenabbruches.

Wenn ich das compiliere bekomm ich ein Parse error in der Zeile 48...
Weiß seit langem nicht was da falsch ist.
Vielleicht passt was bei der Case, Switch Anweisung nicht?

Hoffentlich könnt ihr mir helfen.
Groovy ist offline   Mit Zitat antworten
Alt 21.10.2003, 16:08   #2
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard Re: Probs mit 'case' und 'switch' in C++

Verwend einen vernünftigen Editor und Einrückungen.

Zähl mal die auf- und zugehenden Klammern!

BTW - mit [ code ] behält er die Formatierungen bei.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 21.10.2003, 16:15   #3
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Standard

Ups eine Klammer zuviel...

Aber nun hab ich ein gröberes Problem...
Kompilieren funktioniert, aber beim Ausführen des Programmes tut sich nix.
Groovy ist offline   Mit Zitat antworten
Alt 21.10.2003, 16:42   #4
irrsinn
Veteran
 
Registriert seit: 05.04.2002
Beiträge: 331


Standard

änder das while (...) auf while (E == 0).
dann sollts gehn
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
irrsinn ist offline   Mit Zitat antworten
Alt 21.10.2003, 16:59   #5
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Standard

Das E ungleich 0 sollte passen wenn die Schleife bei case 'E' E = 1 enden soll.

Ist irgendwie verhext...wieso gibt der Compiler keine Fehlermeldung von sich?
Groovy ist offline   Mit Zitat antworten
Alt 21.10.2003, 17:24   #6
irrsinn
Veteran
 
Registriert seit: 05.04.2002
Beiträge: 331


Standard

tschuldige, hab mich verschaut. das problem is der default zweig. den solltest in dem fall leer lassen

außerdem wirst irgendwo was in die s variable einlesen müssen.
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
irrsinn ist offline   Mit Zitat antworten
Alt 21.10.2003, 19:54   #7
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Standard

Wie meinst du mit default zweig leer lassen?

Das ist zum Heulen das ding will einfach nicht...
Groovy ist offline   Mit Zitat antworten
Alt 21.10.2003, 20:10   #8
irrsinn
Veteran
 
Registriert seit: 05.04.2002
Beiträge: 331


Standard

also: du legst eine variable s an. die hat irgendeinen wert, aber nicht E oder e oder c. also springst du mit return -1 aus der mail funktion raus und das programm beendet sich.

wennsts wie folgt machst, bleibt er in der schleife.
default: break;
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
irrsinn ist offline   Mit Zitat antworten
Alt 21.10.2003, 21:39   #9
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Standard

Was ist eine Mailfunktion?
Ach das ist zum Verzweifeln...

Ich will ja nur eine Switch Anweisung in eine While Schleife einbaun und das geht nicht.

Achja mit ist außerdem aufgefallen dass ich an einigen stellen den Break nach den case Anweisungen vergessen hab.
Hab's zwar schon korrigiert, funktioniert aber immer noch nicht.
Groovy ist offline   Mit Zitat antworten
Alt 21.10.2003, 21:58   #10
irrsinn
Veteran
 
Registriert seit: 05.04.2002
Beiträge: 331


Standard

soll natürlich main funktion heißen.
vielleicht schaff ichs in zukunft mit weniger tippfehlern...
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
irrsinn ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:01 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag