tutorials.de Buch-Aktion 05/2012
Like Tree5Danke
  • 1 Beitrag von Steiner_B
  • 1 Beitrag von Steiner_B
  • 1 Beitrag von Steiner_B
  • 1 Beitrag von Steiner_B
  • 1 Beitrag von Matthias Reitinger
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
300
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Hallo,
    Ich bin heute Angefangen mit C++ und habe ein Problem bzw. suche etwas.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    
    #include "stdafx.h"
    #include <iostream>
     
     
    double Rechnen(int wahl, double zahl1, double zahl2);
     
    int main()
    {
        int wahl;
        double ergebnis, zahl1, zahl2;
     
        std::cout << "Wählen sie eine Rechenmothode aus: \n" << std::endl
                  << "(1)Addieren\n" << "(2)Subdrahieren\n" << "(3)Multi\n" << "(4)Divi\n";
        std::cin >> wahl;
        std::cout << "\n\n";
        std::cout << "\n\n";
     
     
     
        std::cout << "\Gebe Zahl 1 ein: ";
        std::cin >> zahl1;
        std::cout << "\Gebe Zahl 2 ein: ";
        std::cin >> zahl2;
        std::cout << "\n\n";
        std::cout << "\n\n";
     
        ergebnis = Rechnen(wahl, zahl1, zahl2);
     
        std::cout << "Das Ergebnis ist: " << ergebnis << std::endl;
     
        std::cin.ignore();
        std::cin.get();
        return 0;
    }
     
    double Rechnen(int wahl, double zahl1, double zahl2)
    {
        double ergebnis;
     
        if ( wahl == 1)
        {
            ergebnis = zahl1 + zahl2;
        }
         else if ( wahl == 2)
        {
            ergebnis = zahl1 - zahl2;
        }
     
     
         else if ( wahl == 3)
        {
            ergebnis = zahl1 * zahl2;
        }
     
        else if ( wahl == 4)
        {
            ergebnis = zahl1 / zahl2;
        }
        else
        {
            std::cout << "Falsche Eingabe!\n";
            
        }
     
        
     
     
        return ergebnis;
     
     
    }



    Möchte ich es so haben das ich eine Rechen Methode wähle die nicht 1-4 ist kommt falsche Eingabe und wenn ich enter drück schließst sich das Programm und fragt nicht noch nach Zahl1 und Zahl2.
    Schreibt mir jemand den Code um****?
    Oder sagt mir eine Möglichkeit****?

    mfG Jonas
     

  2. #2
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Schreibt mir jemand den Code um****?
    Nein, das ist ein Hilfe-Forum und kein "Wer kann mir was programmieren" Forum.

    Oder sagt mir eine Möglichkeit****
    Das jederzeit:
    Wie ich das verstanden hab möchtest du das dein Programm nicht nach Zahlen fragt wenn eine ungültige Rechenart gewählt wurde:
    Dann musst du zwischen den Zeilen 14 und 15 überprüfen ob "wahl" zwischen 1 und 4 liegt, wenn nicht dann gleich beenden, sonst nach Zahlen fragen:
    Code :
    1
    2
    3
    4
    5
    6
    
    wenn (zahl < 1 || zahl > 4)
       //Fehlermeldung
    sonst
    {
      //Zeile 15-32
    }
    Geändert von Steiner_B (27.08.11 um 22:09 Uhr)
    Jonas Meyer bedankt sich. 

  3. #3
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Das verstehe ich irgendwie nicht.
     

  4. #4
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Was konkret verstehst du nicht?
    Jonas Meyer bedankt sich. 

  5. #5
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    zahl > 0 && zahl < 0
     

  6. #6
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hoppla, da war wohl die Hand schneller als der Kopf. Es muss natürlich zahl < 1 || zahl > 4 heißen. Ich habs oben ausgebessert.
    Geändert von Steiner_B (27.08.11 um 22:08 Uhr)
    Jonas Meyer bedankt sich. 

  7. #7
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ok jetzt macht das auch sinn. Gibt es auch ne andere möglichkeit?
     

  8. #8
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Was tut diese Variante denn nicht, das du unbedingt haben möchtest? Das ist auf jeden Fall die sauberste Lösung.
    Jonas Meyer bedankt sich. 

  9. #9
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ja in diesen Fall aber wenn ich mehrerer Zeilen hab und mehrere solcher Abbruch schleifen oder wie man so was nennen soll ist das ganz schnell unverständlich und unübersichtlich.
    Geändert von Jonas Meyer (27.08.11 um 20:39 Uhr)
     

  10. #10
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Naja, man kann stattdessen folgendes verwenden (statt dem von mir oben geposteten Code)

    Code cpp:
    1
    2
    3
    4
    5
    
    if (zahl < 1 || zahl > 4)
    {
      //Fehlermeldung
      return 1;
    }

    Raten würde ich aber keinem dazu, da der Code für jemanden anderen dadurch schwer nachvollziehbar wird.
    Geändert von Steiner_B (27.08.11 um 22:08 Uhr)
     

  11. #11
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.802
    Blog-Einträge
    5
    Zitat Zitat von Steiner_B Beitrag anzeigen
    Hoppla, da war wohl die Hand schneller als der Kopf. Es muss natürlich zahl <= 1 || zahl >= 4 heißen. Ich habs oben ausgebessert.
    Immer noch nicht richtig. Es muss z.B.
    Code cpp:
    1
    2
    3
    
    if (zahl < 1 || zahl > 4) {
      // Fehlermeldung
    }
    heißen.

    Zitat Zitat von Steiner_B Beitrag anzeigen
    Naja, man kann stattdessen folgendes verwenden (statt dem von mir oben geposteten Code)

    Code cpp:
    1
    2
    3
    4
    5
    
    if (zahl <= 0 || zahl >= 1)
    {
      //Fehlermeldung
      return 1;
    }
    Die Bedingung ist ebenso falsch, da sie immer erfüllt ist.

    Zitat Zitat von Steiner_B Beitrag anzeigen
    Raten würde ich aber keinem dazu, da der Code für jemanden anderen dadurch schwer nachvollziehbar wird.
    Gegen ein return innerhalb einer Funktion ist grundsätzlich nichts einzuwenden. Das ist allemal übersichtlicher als viele ineinander geschachtelte if-else-Blöcke.

    Grüße,
    Matthias
    Steiner_B bedankt sich. 
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  12. #12
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Oh mann, das kommt davon wenn man während des Programmierens Fragen beantwortet. Danke für die Hinweise, ich hoff ich habs jetzt überall ausgebessert.
     

Ähnliche Themen

  1. Programm beenden
    Von anmae im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 21.04.06, 13:54
  2. Antworten: 0
    Letzter Beitrag: 25.04.05, 20:06
  3. Programm beenden
    Von Operator_Jon im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 26.01.05, 00:24
  4. Programm beenden
    Von smith99 im Forum Java
    Antworten: 2
    Letzter Beitrag: 13.12.04, 14:36
  5. [C#]Programm beenden
    Von bitmaster im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 27.06.03, 09:51

Stichworte