Rechenprogramm erstellen



  • Vielen Dank. An die Idee mit der while Schleife habe ich gar nicht gedacht. Jetzt funktioniert alles so wie es sollte. 🙂 🙂



  • Das Programm arbeitetso wie es sollte. Wenn ich aber irgendwo ein Buchstabe anstatt einer Zahl eingebe, dann läuft das Programm bis zum Ende der While schleife durch und geht wieder zu anfang, oder es Stürtzt ab.
    Gibt es eine Möglichkeit eine Eingabe zu beschränken (z.B. nur Zahlen oder nur j/n)?

    mfg. steport



  • Ja das kann man so machen. Allerdings müsstest du dir selber dazu Funktionen schreiben und dir mal in der Konsolen-FAQ den Beitrag zu getch() anschauen.



  • Hi!

    Wenn du nur willst das der Benutzer Zahlen eingeben kann, dann mach doch sowas:

    //main.cpp
    
    #include <iostream>
    
    using namespace std;
    
    int main(){
    
      int wahl;
    
    cout << "\n1.Addition" << endl;
    cout << "\n2.Multiplikation" << endl;
    
    cout << "\nBitte wählen sie eine Option:" << endl;
    
    cin  >> wahl;
    
    if(wahl == 1){
    
    // Addition....
    
    }
    else if(wahl == 2){
    
    // Subtraktion
    
    }
    else{
    
    cout << "\nSorry!" << endl;
    cout << "andere eingaben nicht möglich" << endl;
    
    }
    
    return 0;
    }
    

    So könnte man das doch machen oder ?
    Ich hoffe ich hab jetzt kein scheiss erzählt. 😉

    cu



  • Hi

    So habe ich das eigentlich nicht gedacht. Ich habe so etwas beim Menu gemacht, da ist das auch gut so. Aber wenn ich dann frage j/n dann kann man für nein(n) auch irgend eine andere eingabe eingeben. Das ist zwar eine nebensache, stört aber trozdem irgendwie.

    So ist das gemeint:

    if (fauswahl == j)
    {
    blabla
    }
    else
    {
    blabla
    }
    

    ich habe dann versucht die if elseif else Schleife zu verwenden (aus einem Buch)

    if (fauswahl == j)
    {
    cout << "blabla" << endl;
    }
    else if (fauswahl == n)
    {
    cout << "anderes blabla" << endl;
    }
    else
    {
    cout << "falsche eingabe!" << endl;
    }
    

    Dies funktionier bei mir aber nicht. Der else if teil wird einfach nicht behandelt. Wenn ich n eingebe, springt er trotzdem zum else Teil.
    Naja, wie gesag eigentlich nebensache aber trotzdem störend.

    Was ich eigentlich will ist, dass ich bei einer Rechnung nur Zahlen eingeben kann.
    Bsp:

    ...
    cout << "" << endl;
    				cout << setw(56) << "Flaeche eines Rechtecks/Quadrates" << endl;
                    cout << setw(60) << "-----------------------------------------" << endl << endl << endl;
                    cout << "Die Formel fuer ein Rechteck lautet: breite * hoehe" << endl;
                    cout << "Bitte Breite eingeben: ";
                    cin >> f1breite;
                    cout << "Bitte Laenge eingeben: ";
                    cin >> f1laenge;
                    cout << "---------------" << endl << endl << endl;
                    cout<<"Die Flaeche betraegt: "<<f1breite*f1laenge<<endl;
                    getch();
    ...
    

    Hier sollte f1laenge und f1breite nur Zahlen sein.

    Ich werde mal das konsolen faq lesen.

    mfg. steport



  • @project101
    Anstatt ewig vielen if-else würde ich eher einen switch nehmen 😉



  • @project101

    WAS spricht gegen

    void main(void)
    


  • Hallo,

    jj schrieb:

    @project101

    WAS spricht gegen

    void main(void)
    

    da spricht alles dagegen, denn es ist kein ANSI-Standard.

    Daran ändert auch nichts, daß es Compiler gibt, die das akzeptieren, lese auch:

    http://www.c-plusplus.net/forum/viewtopic.php?t=39346

    MfG



  • Hi, für sowas würde ich eigentlich net c++ benutzen. Delphi wehre besser. Dann musst du nicht in der Konsole rumschreiben.
    Ich hab dir mal ein kleines Proggy geschreiben:
    http://dking.funpic.de/Objektberechnung.rar
    Aber es ist nur ein Forschlag. c++ rulz, aber in dem Fall ist Delphie einfach praktischer.
    cya



  • Hi!

    @Gott der 2: Warum sollte delphi bitte für sowas besser sein !? 😕
    Mit c++ kann man sowas doch locker machen. Was ist denn bei delphi so viel besser ? 🙄

    cu



  • Danke für eure Hilfe

    Ich habe jetzt mein kleines Rechenprogramm fertig. Es ist mein erstes Programm dass mehr als 2 Dialoge hat. Wenn ihr es ausprobieren wollt:
    http://lpar.netappeal.ch/uploads/Project1.exe (Ziel speichern unter...)

    mfg. steport



  • [wegeditiert]
    ... zweite Seite nicht gesehen.
    MfG Aoeke



  • Hi!

    @steport: gar nich mal schlecht so als erstes prog 😉
    hatte sowas auch zuert gemacht. kannst dir das ja mal ankucken ...
    sind aber nur so die Grundsachen. nix großes .... aber wie ich finde ganz nett gemacht. 😉

    http://www.c-plus-plus-archiv.de/archiv/download.php?file=XPrechner+2004+V1.5.zip

    Das einzige was ich blöderweise vergessen habe is die wait() Funktion einzubinden, damit sich die exe nicht sofort schliesst nach dem starten. 🙄 Einfach aus dem Compiler aus starten dann gehts ....

    würde mich über Lob und Kretik freuen 🙂

    cu



  • @steport:
    Hab nen vermeintlichen Fehler gefunden 😉
    Wenn man das Programm startet, und dann statt einer Zahl einen Buchstaben eingibt, so beendet man das Programm mit Tastendruck, aber:
    Wenn man einmal etwas berechnet, z.B. eine Kugel, dann wieder zur Auswahl gelangt und NUN einen Buchstaben eingibt, kann man nichts mehr machen, außer oben auf Schließen zu drücken (zumindest bei mir ;))

    so far



  • Moin

    @jbmaier: jo der Fehler ist mir bei seinem Prog auch aufgefallen.
    beim meinem kommt man aber leider nach dem beenden nicht mehr zurück
    zum Menü. hab ich vergessen umzusetzen. 😉 könnte man mit ner while -schleife
    umsetzen .... bin jetzt aber zu faul 🕶

    cu all

    Ps: keine Tips oder Kretik über mein Prog !? please ......



  • Hi

    hm .... keine Tips oder Kretik !? 😕
    Wie schaut mein prog eigendlich vom Code Style aus ... ?
    Ist der ganz ok oder zum ***** ?

    @steport: Hast du vielleicht lust bei unserem Projekt mitzumachen !?
    Wir sind grad dabei einen aufwendigen Text-Adventure zu programmieren in c++.
    Kannst dich ja melden .... per e-mail oder so.

    THX für alle antworten!

    cu



  • Das problem mit dem Absturtz des Proggramms kenne ich. Leider habe ich keine ahnung wie ich das beheben kann. Gibts da vorschläge?

    @SpIriT alias PrOjEcT101: Ich finde dein Programm gut, leider ist das sofortige schliessen nach einer Aufgabe scheisse. Wie hast du denn eine einzelne Zeile blau machen können? Ich suche schon sooo lange nach einer lösung habe aber nichts gefunden. Hier im FAQ habe ich ein tutorial gefunden indem ich ein Library erstellen müsste. Leider habe ich keinen schimmer wie ich das beim Borland c++ Builder machen muss. ^Kann ich einfach deine nehemen, oder geht das nicht?

    Ich hätte schon interesse an eurem Tutorial mitzuwirken 😃

    mfg. steport



  • Moin

    @steport: Hier ist eine Funktion für dich die das Problem beheben sollte.

    void warte()
    {
    cin.clear();
    cin.sync();
    cin.get();
    }
    

    Hatte sowas in meinem Prog aber auch vergessen .....
    🙄

    Naja also ein Tuturial ist des nicht was wir machen wollen. Ist schon ein richtiges ernsthaftes Projekt! also wenn du bock hast da mitzumachen
    dann schaff dir mal bitte das Chat-prog ICQ an ok ? dann klappt das mit der Kommunikation besser 😉

    Die Grafik die ich in meinem Prog benutze ist nicht von mir ......
    http://www.c-plusplus.net/code/improved_console/
    Musst den Coder dieser Libery auch dann im quellcode erwähnen ne ... 😉

    cu



  • Die Funktion ist in einem Punkt falsch - sync(). Die richtige Version findet sich in der FAQ unter "Automatisches Schließen verhindern".

    Wenn bei deinem Compiler nur die hier gezeigte Version funktioniert ist er nicht standardkonform.

    MfG SideWinder



  • Hi

    oh ! 😮 gut zu wissen. thx für den Hinweis!

    cu


Anmelden zum Antworten