kleiner Taschenrechner
-
Hallo,
ich bin noch Anfänger in C++ und habe zum Einstieg einen Taschenrechner programmiert und wollte jetzt von euch wissen, was ihr davon haltet.
#include <iostream> #include <conio.h> using namespace std; #define ESC 27 int EINTRAEGE = 4; int taste = 0; int nummer = 0; float zahl1, zahl2; char* titel[] = {"Addition 0","Subtraktion 1","Multiplikation 2","Division 3","Drücke ESC, um zu beenden 4"}; bool ende = false; void Funktion() { system("cls"); switch(nummer) { case 0: cout <<"\nSie haben die Rechenoperation Addition ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >> zahl1; cin >> zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDie Summe der beiden Zahlen beträgt: "<< zahl1+zahl2<< endl; break; case 1: cout <<"\nSie haben die Rechenoperation Subtraktion ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDie Differenz der beiden Zahlen beträgt: "<< zahl1-zahl2<< endl; break; case 2: cout <<"\nSie haben die Rechenoperation Multiplikation ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDas Produkt der beiden Zahlen beträgt: "<< zahl1*zahl2<< endl; break; case 3: cout <<"\nSie haben die Rechenoperation Division ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDer Quotient der beiden Zahlen beträgt: "<< zahl1/zahl2<< endl; break; } getch(); } int main() { while (!ende) { system("cls"); cout << " Ein kleiner Taschenrechner: \n ------------------------- \n\n"; for (int i=0;i<=EINTRAEGE;i++) { if (i == nummer) { cout << " -> "<< titel[i] << " <- \n"; } else { cout << " " << titel[i] << " \n"; } } taste = getch(); if (taste == 80) //P { if (nummer == EINTRAEGE) { nummer = 0; } else { nummer++; } } if (taste == 72) // H { if (nummer == 0) { nummer = EINTRAEGE; } else { nummer--; } } if(taste == 13) { Funktion(); } switch(getch()) { case ESC: ende =true; } } }
-
Scheint sehr langsam zu sein, dein Programm. Denn scheinbar altert man nach dem Auswählen einer Operation so sehr, dass man bei der Bestätigung auf einmal gesiezt wird.
Man kann die Sache mit den Ascii-Codes umgehen, indem man den Buchstaben in Literale setzt.
if (taste == 'P')...
Außerdem fällt auf, dass deine 4 case Abfragen sich sehr ähneln. Da kann man doch bestimmt was zusammenpacken und in eine gemeinsame Funktion auslagern.
Eine Sicherheitsabfrage für die Division könnte auch nicht schaden, sonst steigt dein Programm bei der 0 im Nenner aus.
-
Ich habe jetzt den Code noch etwas ergänzt. Er soll das Ergebnis von z.B. Summe in der Rechenoperation Subtraktion weiterverwenden. Dass er dann z.B. Summe - 50 rechnet.
Das wollte ich mit Zeigern machen. Jetzt habe ich aber das Problem, dass ich nicht weiß, wie ich das machen soll, dass er dann mittels der Zahl 1 zu dieser Funktion geht oder nicht.#include <iostream> #include <conio.h> using namespace std; #define ESC 27 int EINTRAEGE = 4; int taste = 0; int nummer = 0; float zahl1, zahl2, Summe; char* titel[] = {"Addition 0","Subtraktion 1","Multiplikation 2","Division 3","Drücke ESC, um zu beenden 4"}; bool ende = false; int x = 1; void Funktion() { system("cls"); switch(nummer) { case 0: cout <<"\nSie haben die Rechenoperation Addition ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >> zahl1; cin >> zahl2; Summe = zahl1+zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDie Summe der beiden Zahlen beträgt: "<< Summe<< endl; break; case 1: cout <<"Sie haben die Rechenoperation Subtraktion ausgewählt."; cout <<"\nWollen Sie mit einem Ergebnis aus Summe berechnen? \nDann drücken sie die 1"; if (cin >> x) { float *ptr; ptr = &Summe; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie von der Summe abzuziehen."; cin >> zahl2; cout<<"\nDie Differenz ist: " << *ptr - zahl2 << endl; break; } else { cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDie Differenz der beiden Zahlen beträgt: "<< zahl1-zahl2<< endl; break; } case 2: cout <<"\nSie haben die Rechenoperation Multiplikation ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDas Produkt der beiden Zahlen beträgt: "<< zahl1*zahl2<< endl; break; case 3: cout <<"\nSie haben die Rechenoperation Division ausgewählt."; cout <<"\nBitte geben Sie nun zwei Zahlen ein, um zu rechnen"; cin >>zahl1; cin >>zahl2; if(zahl2 == 0) { cout<<"Error, die 2. Zahl darf keine Null sein!"; } else { cout<<"\nSie haben die Zahlen: "<<zahl1<<" und "<<zahl2<<" ausgewählt"<< endl; cout<<"\nDer Quotient der beiden Zahlen beträgt: "<< zahl1/zahl2<< endl; } break; } getch(); } int main() { while (!ende) { system("cls"); cout << " Ein kleiner Taschenrechner: \n ------------------------- \n\n"; for (int i=0;i<=EINTRAEGE;i++) { if (i == nummer) { cout << " -> "<< titel[i] << " <- \n"; } else { cout << " " << titel[i] << " \n"; } } taste = getch(); if (taste == 'P') //80 { if (nummer == EINTRAEGE) { nummer = 0; } else { nummer++; } } if (taste == 'H') // 72 { if (nummer == 0) { nummer = EINTRAEGE; } else { nummer--; } } if(taste == 13) //Enter { Funktion(); } switch(getch()) { case ESC: ende =true; } } }
Ich habs jetzt erstmal bei Subtraktion gemacht. Net dass ich mir dann die Arbeit umsonst gemacht habe
.
Ihr müsst halt jetzt in Kauf nehmen, dass er euch mit Sie anspricht.
-
Ich habe hier nochmal ein überarbeitete Version meines TRs. Man kann jetzt auch unter anderem auf die Ergebnisse zurückgreifen und mit denen rechnen.
#include <iostream> #include <conio.h> #include <cstdlib> #include <string> #include <iomanip> using namespace std; #define ESC 27 int EINTRAEGE = 4, taste = 0, nummer = 0, x,a; double zahl1, zahl2, Summe,Differenz,Produkt,Quotient; char* titel[] = {" Addition "," Subtraktion "," Multiplikation "," Division "," Druecke ESC, um zu beenden "}; bool ende = false; string commands = "[ESC] = Beenden "; double func(double *zahl1, double *zahl2); void Funktion() { system("cls"); switch(nummer) { case 0: cout<<"Sie haben die Rechenoperation Addition gewählt."; func(&zahl1,&zahl2); Summe = zahl1+zahl2; cout<<"\nDie Summe der beiden Zahlen beträgt: "<< Summe<< endl; system("pause"); system("cls"); cout <<"\nWollen Sie mit einem Ergebnis aus Subtraktion/Multiplikation oder Divison \nrechnen?"; cout<<"\nDann druecken sie die 1,2,3 oder eine Taste und Enter zum Beenden\n"; cin >> a; switch (a) { case 1: double *ptr; ptr = &Differenz; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie zu addieren."; cin >> zahl2; cout<<"\nDie Summe ist: " << *ptr<<" + " << zahl2 <<" = " << *ptr+zahl2<< endl; break; case 2: ptr = &Produkt; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie zu addieren."; cin >> zahl2; cout<<"\nDie Summe ist: " << *ptr<<" + " << zahl2 <<" = " << *ptr+zahl2<< endl; break; case 3: ptr = &Quotient; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie zu addieren."; cin >> zahl2; cout<<"\nDie Summe ist: " << *ptr<<" + " << zahl2 <<" = " << *ptr+zahl2<< endl; break; } break; case 1: cout<<"Sie haben die Rechenoperation Subtraktion gewählt"; func(&zahl1,&zahl2); Differenz = zahl1-zahl2; cout<<"\nDie Differenz: "<<Differenz<< endl; system("pause"); system("cls"); cout <<"\nWollen Sie mit einem Ergebnis aus Addition/Multiplikation oder Division rechnen?"; cout<<"\nDann druecken sie die 1,2,3 oder eine Taste und Enter zum Beenden\n"; cin >> a; switch(a) { case 1: double *ptr; ptr = &Summe; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie von der Summe abzuziehen."; cin >> zahl2; cout<<"\nDie Differenz ist: " << *ptr << " - " << zahl2<< " = " <<*ptr-zahl2 << endl; break; case 2: ptr = &Produkt; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie von dem Produkt abzuziehen."; cin >> zahl2; cout<<"\nDie Differenz ist: " << *ptr << " - " << zahl2 << " = " << *ptr-zahl2 << endl; break; case 3: ptr = &Quotient; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie von dem Quotient abzuziehen."; cin >> zahl2; cout<<"\nDie Differenz ist: " << *ptr << " - " << zahl2 <<" = " << *ptr-zahl2 << endl; break; } break; case 2: cout<<"Sie haben die Rechenoperation Multiplikation gewählt"; func(&zahl1,&zahl2); Produkt = zahl1*zahl2; cout<<"\nDas Produkt der beiden Zahlen beträgt: "<< Produkt<< endl; system("pause"); system("cls"); cout <<"\nWollen Sie mit einem Ergebnis aus Addition/Subtraktion oder Division rechnen?"; cout<<"\nDann druecken sie die 1,2,3 oder eine Taste und Enter zum Beenden\n"; cin >> a; switch(a) { case 1: double *ptr; ptr = &Summe; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie mit der Summe zu multiplizieren."; cin >> zahl2; cout<<"\nDas Produkt ist: " << *ptr << " * " << zahl2 << " = " << *ptr*zahl2 << endl; break; case 2: ptr = &Differenz; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie mit der Differenz zu multiplizieren."; cin >> zahl2; cout<<"\nDas Produkt: " << *ptr << " * " << zahl2 << " = " << *ptr*zahl2 << endl; break; case 3: ptr = &Quotient; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie mit dem Quotienten zu multiplizieren."; cin >> zahl2; cout<<"\nDas Produkt ist: " << *ptr << " * " <<zahl2 << " = " << *ptr*zahl2 << endl; break; } break; case 3: cout<<"Sie haben die Rechenoperation Division gewählt"; func(&zahl1,&zahl2); Quotient = zahl1/zahl2; if(zahl2 == 0) { cout<<"Error, die 2. Zahl darf keine Null sein!"; } else { cout<<"\nDer Quotient der beiden Zahlen beträgt: "<< zahl1/zahl2<< endl; } system("pause"); system("cls"); cout <<"\nWollen Sie mit einem Ergebnis aus Addition/Subtraktion oder Multiplikation rechnen?"; cout<<"\nDann druecken sie die 1,2,3 oder eine Taste und Enter zum Beenden\n"; cin >> a; switch(a) { case 1: double *ptr; ptr = &Summe; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie durch die Summe zu teilen."; cin >> zahl2; cout<<"\nDer Quotient ist: " << *ptr << " / " << zahl2 << " = " << *ptr/zahl2 << endl; break; case 2: ptr = &Differenz; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie durch die Differenz zu teilen."; cin >> zahl2; cout<<"\nDer Quotient ist: " << *ptr << " / " << zahl2 << " = " << *ptr/zahl2 << endl; break; case 3: ptr = &Summe; cout<<"\nBitte geben Sie eine 2.Zahl ein, um sie durch das Produkt zu teilen."; cin >> zahl2; cout<<"\nDer Quotient ist: " << *ptr << " / " << zahl2 << " = " << *ptr/zahl2 << endl; break; } break; } } int main() { while (!ende) { system("cls"); cout << " ---------------------------\n"; cout << " Ein kleiner Taschenrechner\n"; cout<<"\n Copyright by Christopher H."; cout<<"\n --------------------------- \n\n"; for (int i=0;i<=EINTRAEGE;i++) { if (i == nummer) { cout << " -> "<< titel[i] << " <- \n"; cout<< right << setw(6) <<"-"<<"-----------\n"; } else { cout << " " << titel[i] << " \n"; } } taste = getch(); if (taste == 'a') { if (nummer == EINTRAEGE) { nummer = 0; } else { nummer++; } } if (taste == 'q') { if (nummer == 0) { nummer = EINTRAEGE; } else { nummer--; } } if(taste == 13) //Enter { Funktion(); } switch(getch()) { case ESC: ende =true; } } } ////////////////////////////////////////////////////////////////////////////// double func(double *pzahl1, double *pzahl2) { system("cls"); cout <<"\nBitte geben Sie die erste Zahl ein: "; cin >> *pzahl1; cout<<"\nGeben Sie nun die zweite Zahl ein: "; cin >> *pzahl2; }
-
andere Umsetzung. Stilistische Elemente muss ich mir noch aneignen merke ich
#include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main(int nNumberofArgs, char* pszArgs[]) { cout << "Rechner v0.001\n"; cout << "von KAKMNEsu\n"; int wechsel = 0; double zahleins; do { if (wechsel < 1) { cout << "Bitte erste Zahl eingeben: "; cin >> zahleins; } else { } double zahlzwei; cout << "\nBitte zweite Zahl eingeben: "; cin >> zahlzwei; int faktor; cout << "(1)addieren, (2)substrahieren, (3)multiplizieren oder (4)dividieren? "; cin >> faktor; if (faktor <5>0) { if (faktor > 3) { double teilen = zahleins / zahlzwei; cout << zahleins << " geteilt durch " << zahlzwei << " ergibt: " << teilen << "\n"; while (true) { zahleins = teilen; teilen = zahleins / zahlzwei; cout << "Erneut teilen? (4)ja (5)nein: "; int weiterteilen; cin >> weiterteilen; if (weiterteilen < 5) { cout << zahleins << " geteilt durch " << zahlzwei << " ergibt: " << teilen << "\n"; } else { wechsel = 1; break; } } } else { if (faktor > 2) { double malnehmen = zahleins * zahlzwei; cout << zahleins << " mal " << zahlzwei << " ergibt: " << malnehmen << "\n"; while (true) { zahleins = malnehmen; malnehmen = zahleins * zahlzwei; cout << "Erneut malnehmen? (3)ja (4)nein: "; int weitermalnehmen; cin >> weitermalnehmen; if (weitermalnehmen < 4) { cout << zahleins << " mal " << zahlzwei << " ergibt: " << malnehmen << "\n"; } else { wechsel = 1; break; } } } else { if (faktor > 1) { double abziehen = zahleins - zahlzwei; cout << zahleins << " minus " << zahlzwei << " ergibt: " << abziehen << "\n"; while (true) { zahleins = abziehen; abziehen = zahleins - zahlzwei; cout << "Nochmal abziehen? (2)ja (3)nein: "; int weiterabziehen; cin >> weiterabziehen; if (weiterabziehen < 3) { cout << zahleins << " minus " << zahlzwei << " ergibt: " << abziehen << "\n"; } else { wechsel = 1; break; } } } else { if (faktor > 0) { double dazuzaehlen = zahleins + zahlzwei; cout << zahleins << " plus " << zahlzwei << " ergibt: " << dazuzaehlen << "\n"; while (true) { zahleins = dazuzaehlen; dazuzaehlen = zahleins + zahlzwei; cout << "Nochmal dazuzählen? (1)ja (2)nein: "; int weiterdazuzaehlen; cin >> weiterdazuzaehlen; if (weiterdazuzaehlen < 2) { cout << zahleins << " plus " << zahlzwei << " ergibt: " << dazuzaehlen << "\n"; } else { wechsel = 1; break; } } } else { } } } } } else { } }while (true); return 0; }
-
Ein paar Änderungen.
#include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main(int nNumberofArgs, char* pszArgs[]) { cout << "Rechner v0.011\n"; cout << "von KAKMNEsu\n"; int wechsel = 0; int faktor; double zahleins; double zahlzwei; do { if (wechsel < 1) { cout << "Erste Zahl: "; cin >> zahleins; cout << "addieren(2) substrahieren(3) multiplizieren(4) dividieren(5): "; cin >> faktor; cout << "Zweite Zahl: "; cin >> zahlzwei; } else { cout << "Erste Zahl: " << zahleins << "\naddieren(2) substrahieren(3) multiplizieren(4) dividieren(5): "; cin >> faktor; cout << "Zweite Zahl: "; cin >> zahlzwei; } if (faktor ==5) { double teilen = zahleins / zahlzwei; cout << zahleins << " / " << zahlzwei << " = " << teilen << "\n"; while (true) { zahleins = teilen; cout << "Neu(1) Nochmal(5) Weiter(6): "; int weiterteilen; cin >> weiterteilen; if (weiterteilen == 5) { teilen = zahleins / zahlzwei; cout << zahleins << " / " << zahlzwei << " = " << teilen << "\n"; } else { if (weiterteilen == 6) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } if (faktor ==4) { double malnehmen = zahleins * zahlzwei; cout << zahleins << " * " << zahlzwei << " = " << malnehmen << "\n"; while (true) { zahleins = malnehmen; cout << "Neu(1) Nochmal(4) Weiter(5): "; int weitermalnehmen; cin >> weitermalnehmen; if (weitermalnehmen == 4) { malnehmen = zahleins * zahlzwei; cout << zahleins << " * " << zahlzwei << " = " << malnehmen << "\n"; } else { if (weitermalnehmen == 5) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } if (faktor ==3) { double abziehen = zahleins - zahlzwei; cout << zahleins << " - " << zahlzwei << " = " << abziehen << "\n"; while (true) { zahleins = abziehen; cout << "Neu(1) Nochmal(3) Weiter(4): "; int weiterabziehen; cin >> weiterabziehen; if (weiterabziehen == 3) { abziehen = zahleins - zahlzwei; cout << zahleins << " - " << zahlzwei << " = " << abziehen << "\n"; } else { if (weiterabziehen == 4) { wechsel = 1; break; } else { wechsel = 2; break; } } } } else { } if (faktor ==2) { double dazuzaehlen = zahleins + zahlzwei; cout << zahleins << " + " << zahlzwei << " = " << dazuzaehlen << "\n"; while (true) { zahleins = dazuzaehlen; cout << "Neu(1) Nochmal(2) Weiter(3): "; int weiterdazuzaehlen; cin >> weiterdazuzaehlen; if (weiterdazuzaehlen == 2) { dazuzaehlen = zahleins + zahlzwei; cout << zahleins << " + " << zahlzwei << " = " << dazuzaehlen << "\n"; } else { if (weiterdazuzaehlen == 3) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } }while (true); return 0; }
-
*hust*, so langsam sollte ich mich mal registrieren.. leider war da ein Fehler drin
den ich nicht editieren kann.
#include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main(int nNumberofArgs, char* pszArgs[]) { cout << "Rechner v0.011\n"; cout << "von KAKMNEsu\n"; int wechsel = 0; int faktor; double zahleins; double zahlzwei; do { if (wechsel < 1) { cout << "Erste Zahl: "; cin >> zahleins; cout << "addieren(1) substrahieren(2) multiplizieren(3) dividieren(4): "; cin >> faktor; cout << "Zweite Zahl: "; cin >> zahlzwei; } else { cout << "Erste Zahl: " << zahleins << "\naddieren(1) substrahieren(2) multiplizieren(3) dividieren(4): "; cin >> faktor; cout << "Zweite Zahl: "; cin >> zahlzwei; } if (faktor ==4) { double teilen = zahleins / zahlzwei; cout << zahleins << " / " << zahlzwei << " = " << teilen << "\n"; while (true) { zahleins = teilen; cout << "Neu(1) Nochmal(2) Weiter(3): "; int weiterteilen; cin >> weiterteilen; if (weiterteilen == 2) { teilen = zahleins / zahlzwei; cout << zahleins << " / " << zahlzwei << " = " << teilen << "\n"; } else { if (weiterteilen == 3) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } if (faktor ==3) { double malnehmen = zahleins * zahlzwei; cout << zahleins << " * " << zahlzwei << " = " << malnehmen << "\n"; while (true) { zahleins = malnehmen; cout << "Neu(1) Nochmal(2) Weiter(3): "; int weitermalnehmen; cin >> weitermalnehmen; if (weitermalnehmen == 2) { malnehmen = zahleins * zahlzwei; cout << zahleins << " * " << zahlzwei << " = " << malnehmen << "\n"; } else { if (weitermalnehmen == 3) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } if (faktor ==2) { double abziehen = zahleins - zahlzwei; cout << zahleins << " - " << zahlzwei << " = " << abziehen << "\n"; while (true) { zahleins = abziehen; cout << "Neu(1) Nochmal(2) Weiter(3): "; int weiterabziehen; cin >> weiterabziehen; if (weiterabziehen == 2) { abziehen = zahleins - zahlzwei; cout << zahleins << " - " << zahlzwei << " = " << abziehen << "\n"; } else { if (weiterabziehen == 3) { wechsel = 1; break; } else { wechsel = 2; break; } } } } else { } if (faktor ==1) { double dazuzaehlen = zahleins + zahlzwei; cout << zahleins << " + " << zahlzwei << " = " << dazuzaehlen << "\n"; while (true) { zahleins = dazuzaehlen; cout << "Neu(1) Nochmal(2) Weiter(3): "; int weiterdazuzaehlen; cin >> weiterdazuzaehlen; if (weiterdazuzaehlen == 2) { dazuzaehlen = zahleins + zahlzwei; cout << zahleins << " + " << zahlzwei << " = " << dazuzaehlen << "\n"; } else { if (weiterdazuzaehlen == 3) { wechsel = 1; break; } else { wechsel = 0; break; } } } } else { } }while (true); return 0; }
Das sollte jetzt funktionieren.
-
addieren(1) substrahieren(2) multiplizieren(3) dividieren(4):
Hier z. B. solltest Du noch eine Eingabe > 4 abfangen.
Ich arbeite mich selbst auch gerade in C++ ein und weiss Deine Leitung daher recht gut einzuschaetzen, gratuliere.
Gruss
Guenther
-
Ich habe mich gerade noch ein wenig mehr mit Deinem Source beschaeftigt, und ich denke, dass hier waere noch eine interessante Verfeinerung:
char keystroke = getch(); switch( keystroke ) { case 'a': case 'b': case 'c': case 'd': KeyABCDPressed(); break; case 'e': KeyEPressed(); break; default: UnknownKeyPressed(); break; }
Ich selbst versuche mich gerade in ncurses einzuarbeiten. Mal sehen, ob ich damit Deinen Rechner um einen 'Tippstreifen' erweitern kann. Aehnliches habe ich vor 15 Jahren mal in Clipper realisiert.
-
Hi,
Wie kann man dem Prog mitteilen, dass wenn z.B. links vom Gleicheitszeichen ein bestimmter Aufbau, Zahlen etc. ist, dann etwas machen soll. Zum Beispiel bei Gleichungen umstellen.
-
progerchris schrieb:
Hi,
Wie kann man dem Prog mitteilen, dass wenn z.B. links vom Gleicheitszeichen ein bestimmter Aufbau, Zahlen etc. ist, dann etwas machen soll. Zum Beispiel bei Gleichungen umstellen.
Hast Du mal ein Beispiel?
-
Naja...
eben: 5x + 6 = 7x + 8
jetzt habe ich mich gefragt, wie man die x auf eine Seite bekommen könnte.
Mna müsste ihm irgendwie sagen, dass wenn auf der rechten Seite des Gleichehitszeichen eine zahl mit einem 'x' steht, dass er die Zahl von der anderen Zahl mit 'x' abzieht.
Also das ist nur ein kleines Beispiel. Das würde ich dann noch verfeinern, um z.B. größere Gleichungen zu berechnen.
-
Noch was:
Kann man denn nicht auch mit den variablen x rechnen, die eben keinen bestimmten Wert haben. So wie bei f(x) = 2x +2. Man müsste ihm irgendwie sagen können, dass das x zu der Zahl vor x gehört.
Das wäre ganz nett, um z.B. (5x^2+2x+5)/(x+2) zu rechnen.
-
progerchris schrieb:
Kann man denn nicht auch mit den variablen x rechnen, die eben keinen bestimmten Wert haben. So wie bei f(x) = 2x +2. Man müsste ihm irgendwie sagen können, dass das x zu der Zahl vor x gehört.
Das wäre ganz nett, um z.B. (5x^2+2x+5)/(x+2) zu rechnen.Falls Du damit so was wie Algebra meinst, dann hilft Dir diese Seite hier vieleicht weiter:
http://www.mathtools.net/C_C__/Mathematics/
Oder schau mal hier nach 'Algebra': http://www.freetechbooks.com/
Guenther