Problem mit'n Taschenrechner
-
Warum läuft das so nicht?
//--------------Moduldatein, Headerdatein oder Programmbiblotheken-------------- #include<iostream.h> //enthält Programme für cin und cout #include<conio.h> //enthält Programme wie getch oder clrscr #include<math.h> //für mathematische Berechnungen nötig #include<stdio.h> //für standart Ein- und Ausgaben #include<iomanip.h> //----------------------------Globale Deklarationen----------------------------- char op; float zahl1,zahl2,summe; //--------------------------------Hauptprogramm--------------------------------- void main() { clrscr(); cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl<<endl; cout<<"(g)rundrechenarten"<<endl<<"(t)rigonomische "; cout<<"Funktion"<<endl<<"(p)otenzrechnung"<<endl; cout<<"(w)urzel"<<endl<<"(n)-te wurzel"<<endl<<"(k)ehrwert"<<endl; cout<<"(p)otenzrechnung"<<endl<<"(f)akultaet"<<endl; cout<<"(s)chaltjahrberechnung"<<endl<<endl; cout<<"Tippen Sie den Buchstaben fuer die Rechenart ein,"<<endl; cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: "; cin>>op; //Ist das Hauptmenü durch welches man in die Rechenmenüs kommt. switch(op) { case 'g': clrscr(); cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl<<endl; cout<<"Du kannst: "<<endl<<endl; cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren"<<endl; cout<<"dividieren"<<endl<<endl; cout<<"Gib die Rechenaufgabe ein: "; cin>>zahl1>>op>>zahl2; //Ist das Rechenmenü für die Grundrechenarten. switch(op) { case'+': cout<<endl<<zahl1+zahl2;break; case'-': cout<<endl<<zahl1-zahl2;break; case'*': cout<<endl<<zahl1*zahl2;break; case'/': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"geben sie eine neue Zahl ein"; cin>>zahl2; } cout<<endl<<zahl1/zahl2;break; case':': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"bitte geben sie eine neue Zahl ein"; cin>>zahl2; } cout<<endl<<zahl1/zahl2;break; break; } //Hier sind die Rechnungen für die Grundrechenarten { case't': clrscr(); cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl<<endl; cout<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl; cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)"<<endl; cout<<endl<<"Tipp erst den Buchstaben der Funktion ein,"<<endl; cout<<"die du benutzen willst, dann die Zahl die berechnet"<<endl; cout<<"werden soll und bestätige dann mit Enter"; cin>>op>>zahl1 //Ist das Rechenmenü für Trigonomischen Funktionen. switch(op) { case's': cout<<endl<<sin(zahl1);break; case'c': cout<<endl<<cos(zahl1);break; case't': cout<<endl<<tan(zahl1);break; } break; //Hier sind die Rechnungen der Trigonomischen Funktionen } getch(); }Hier kann man die cpp auch nochmal Downloaden
-
"Läuft nicht" ist keine ausreichende Problembeschreibung.
-
Also er findet beim Kompilieren folgende Fehler:
"Ambiguous operators need parenthese"
"Ambiguous operators need parenthese"
"Unreachable code"
"Statement missing ;"
"Compound statement missing }"Könnt euch ja mal die 3kb große cpp saugen und selber Kompilieren lassen.
Danke schonmal für die hilfe
-
Vielleicht bequemst du dich ja mal selbst noch ein bischen, der Sache auf den Grund zu gehen.
Sieh dir an, in welcher Zeile die Fehler auftreten und wie der Code in der unmittelbaren Umgebung aussieht (auch davor!). Und dann halt noch die üblichen Prüfungen, z.B. ob jede (geschweifte) Klammer ihr Gegenstück hat usw.
-
Hab ich gemacht, wenn ich was gefunden hätte, hät ich euch ja nicht um Hilfe geboten.

-
Mach's nochmal, aber gründlich, und beachte meine o.g. Hinweise.
Und wenn du bei einer Fehlermeldung nicht weiterkommst dann kümmere dich erstmal um die nächste.
-
so geht's bei mir:
//--------------Moduldatein, Headerdatein oder Programmbiblotheken-------------- #include<iostream.h> //enthält Programme für cin und cout #include<conio.h> //enthält Programme wie getch oder clrscr #include<math.h> //für mathematische Berechnungen nötig #include<stdio.h> //für stan**** Ein- und Ausgaben #include<iomanip.h> //----------------------------Globale Deklarationen----------------------------- char op; float zahl1,zahl2,summe; //--------------------------------Hauptprogramm--------------------------------- void main() { clrscr(); cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl<<endl; cout<<"(g)rundrechenarten"<<endl<<"(t)rigonomische "; cout<<"Funktion"<<endl<<"(p)otenzrechnung"<<endl; cout<<"(w)urzel"<<endl<<"(n)-te wurzel"<<endl<<"(k)ehrwert"<<endl; cout<<"(p)otenzrechnung"<<endl<<"(f)akultaet"<<endl; cout<<"(s)chaltjahrberechnung"<<endl<<endl; cout<<"Tippen Sie den Buchstaben fuer die Rechenart ein,"<<endl; cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: "; cin>>op; //Ist das Hauptmenü durch welches man in die Rechenmenüs kommt. switch(op) { case 'g': clrscr(); { cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl<<endl; cout<<"Du kannst: "<<endl<<endl; cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren"<<endl; cout<<"dividieren"<<endl<<endl; cout<<"Gib die Rechenaufgabe ein: "; cin>>zahl1>>op>>zahl2; //Ist das Rechenmenü für die Grundrechenarten. switch(op) { case'+': cout<<endl<<zahl1+zahl2;break; case'-': cout<<endl<<zahl1-zahl2;break; case'*': cout<<endl<<zahl1*zahl2;break; case'/': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"geben sie eine neue Zahl ein"; cin>>zahl2; cout<<endl<<zahl1/zahl2;break; } case':': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"bitte geben sie eine neue Zahl ein"; cin>>zahl2; cout<<endl<<zahl1/zahl2;break; } } break; } //Hier sind die Rechnungen für die Grundrechenarten case't': clrscr(); { cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl<<endl; cout<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl; cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)"<<endl; cout<<endl<<"Tipp erst den Buchstaben der Funktion ein,"<<endl; cout<<"die du benutzen willst, dann die Zahl die berechnet"<<endl; cout<<"werden soll und bestätige dann mit Enter"; cin>>op>>zahl1; //Ist das Rechenmenü für Trigonomischen Funktionen. switch(op) { case's': cout<<endl<<sin(zahl1);break; case'c': cout<<endl<<cos(zahl1);break; case't': cout<<endl<<tan(zahl1);break; } break; } //Hier sind die Rechnungen der Trigonomischen Funktionen } getch(); }Aber der Benutzer wird abwechselnd gesiezt und geduzt...
-kaljinka-
-
Dank dir. Ich bin jetzt eigentlich fertig und es hatte auch soweit alles funktioniert dann hab ich ein wenig den code aufgeräumt und jetzt hat der nen Problem bei den Grundrechenarten, der zeigt das Ergebnis nicht mehr an.

Und bei den anderen Rechenfunktionen klappt die Schleife nicht mehr.
Ich hab schon geschaut aber nix gefunden.Ihr könnt euch die cpp hier runterladen Download
hier ist der code:
//--------------Moduldatein, Headerdatein oder Programmbiblotheken-------------- #include<iostream> //enthält Programme für cin und cout #include<conio.h> //enthält Programme wie getch oder clrscr #include<math.h> //für mathematische Berechnungen nötig #include<iomanip> #include <stdio.h> //using namespace std; //void clrscr(){} //----------------------------Globale Deklarationen----------------------------- float zahl1,zahl2,summe,ergebnis; int Jahr,faku,zahl,i, op; bool neg; //--------------------------------Hauptprogramm--------------------------------- int main() { while(1){ //Hauptmenü durch welches man in die Rechenmenüs kommt clrscr(); cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl; cout<<endl<<"(1)Grundrechenarten"<<endl<<"(2)Trigonomische "; cout<<"Funktion"<<endl<<"(3)Prozentrechnung"<<endl; cout<<"(4)Wurzel"<<endl<<"(5)n-te wurzel"<<endl<<"(6)Kehrwert"<<endl; cout<<"(7)Potenzrechnung"<<endl<<"(8)Fakultaet"<<endl; cout<<"(9)Schaltjahrberechnung"<<endl<<"(10)Quadrieren"<<endl; cout<<"(11)natuerlicher Logarithmus (ln)"<<endl; cout<<"(12)Zehnerlogarithmus(log)"<<endl<<endl; cout<<"Tippen Sie die Zahl fuer die Rechenart ein,"<<endl; cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: "; cin>>op; switch(op) { case 1: //Grundrechenarten clrscr(); cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl; cout<<endl<<"Du kannst: "<<endl<<endl; cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren"; cout<<endl<<"dividieren"<<endl<<endl; cout<<"Gib die Rechenaufgabe ein: "; cin>>zahl1>>op>>zahl2; switch(op) { case'+': cout<<endl<<zahl1+zahl2; break; case'-': cout<<endl<<zahl1-zahl2; break; case'*': cout<<endl<<zahl1*zahl2; break; case'/': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"geben sie eine neue Zahl ein"; cin>>zahl2; } cout<<endl<<zahl1/zahl2; break; case':': if (zahl2==0) { cout<<endl<<"Die Division durch 0 ist nicht moeglich, "; cout<<"bitte geben sie eine neue Zahl ein"; cin>>zahl2; } cout<<endl<<zahl1/zahl2;break; break; } break; case 2: //Trigonomische Funktionen clrscr(); cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl; cout<<endl<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl; cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)"; cout<<endl<<endl<<"Tipp erst den Buchstaben der Funktion ein,"; cout<<endl<<"die du benutzen willst, dann die Zahl die berechnet"; cout<<endl<<"werden soll und bestätige dann mit Enter: "; cin>>op>>zahl1; //Ist das Rechenmenü für Trigonomischen Funktionen. switch(op) { case's': cout<<endl<<sin(zahl1);break; case'c': cout<<endl<<cos(zahl1);break; case't': cout<<endl<<tan(zahl1);break; case'g': cout<<endl<<1/tan(zahl1);break; } break; case 7: //Potenzrechnung clrscr(); ergebnis=1; cout<<"Rechnung eingeben (x^y; Nur natürliche Zahlen benutzen):"; cin>>zahl1>>op>>zahl2; zahl2=int(zahl2); neg=false; if(zahl2<0){ neg=true; zahl2*=-1; } while(zahl2){ ergebnis*=zahl1; zahl2--; } if(neg)ergebnis=1/ergebnis; cout<<endl<<ergebnis; break; case 9: //SChaltjahrberechnung clrscr(); cout<<"Geben Sie das Jahr ein: "; cin>>Jahr; if(Jahr%400==0) cout<<endl<<"Dies ist ein Schaltjahr!"; else if (Jahr%4==0&&Jahr%100!=0) cout<<endl<<"Dies ist ein Schaltjahr!"; else cout<<endl<<"Das ist kein Schaltjahr!"; break; case 6: //Kehrwert clrscr(); cout<<"Gib die Zahl ein von der du den Kehrwert bilden willst: "; cin>>zahl1; cout<<endl<<"Das Ergebnis ist: "<<1/zahl1; break; case 8: //Fakultät clrscr(); printf("Bitte geben sie die Zahl ein von der sie die Fakultaet"); printf("berechnen wollen: "); scanf("%d",&zahl); faku =1; for(i=1;i<=zahl;i=i+1) { faku =faku*i; printf("%d \n",faku); } printf("\n Die Fakultaet ist: %d",faku); break; case 4: //Wurzel clrscr(); cout<<"Gib die Zahl ein von der du die Wurzel ziehen möchtest: "; cin>>zahl1; cout<<endl<<"Das Ergebnis ist: "<<sqrt(zahl1); break; case 10: //Quadrat clrscr(); cout<<"Geben sie die Zahl ein die quadriert werden soll: "; cin>>zahl1; cout<<endl<<"Das Ergebnis beträgt: "<<pow(zahl1,2); break; case 3: //Prozentrechnung clrscr(); cout<<"Hier kannst du mit Prozent rechnen, tipp zuerst den "; cout<<"Prozentsatz ein und dann den Grundwert um den "; cout<<"Prozentwert zu erhalten: "; cin>>zahl1>>zahl2; cout<<"Der Prozentwert beträgt: "<<zahl1*zahl2/100<<"%"; break; case 5: //n-te Wurzel clrscr(); cout<<"Berechnung der n-ten Wurzel aus x."<<endl<<"n: "; cin>>zahl1; cout<<endl<<"x: "; cin>>zahl2; cout<<pow(zahl2,1/zahl1); break; case 11: //Logarythmus(ln) clrscr(); cout<<"Hier kannst du natürlichen Logarythmus berrechnen "<<endl; cout<<"Gib die gewuenschte Zahl ein: "; cin>>zahl1; cout<<endl<<"Das Ergebnis ist: "<<log(zahl1); break; case 12: //Zehnerlogarythmus(log) clrscr(); cout<<"Hier kannst du den Zehnerlogarythmus berrechnen "<<endl; cout<<"Gib die gewuenschte zahl ein: "; cin>>zahl1; cout<<endl<<"Das Ergebnis ist: "<<log10(zahl1); break; } cout<<endl<<endl<<"Zurueck zum Hauptmenue? (j)a, (n)ein "; cin>>op; if(op=='n')break; } return 0; }Danke schonmal für die Hilfe