Zum Inhalt springen
  • 0

C++ Auswahlmenü


Frage

Geschrieben

Servus,

ich (FiSi) programmiere grad für die Schule einen Taschenrechner mit Switch-Case und würde gerne bevor die Switch-Case Auswahl kommt gerne eine Art Hauptmenü machen, quasi "Wollen Sie den Taschenrechner nutzen? Bei Ja springt der zur Switch-Case Funktion und man kann seine Rechnung eingeben und bei Nein beendet er das Programm.

Das ganze wäre in C++, hätte jemand eine Idee bzw. Vorschlag wie man sowas umsetzen kann? 

ps. bin ein sehr schlechter Programmierer, wie etwa 90% meiner Klasse ;):D

Lg

15 Antworten auf diese Frage

Empfohlene Beiträge

  • 1
Geschrieben

Da muss dein Lehrer ja wirklich chinesisch sprechen, wenn er Dinge wie Boolean nicht erklären kann. Vielleicht hilft auch ein bisschen, böse gesagt, selbst mitdenken beim Verständnis.

  • 0
Geschrieben

hier mal der bisherige Quelltext (und ja ich weiss das man den bestimmt anders machen kann oder sogar verkürzen kann, aber unser Lehrer der ebenfalls nicht programmieren kann will es so)

 

#include <iostream> // Standardbibliothek 

using namespace std; // Namespace std (::std fällt weg)
 
int main() // Das Main-Programm

{

    int Ja, Nein;
    float zahl1, zahl2, ergebnis;   // Deklaration Variablen mit double / float           
    char rechenzeichen, auswahl;                         

    system("Color A"); // Farbgebung Programm

    cout << "                        Taschenrechner by Luca v1.0\n" << endl;

    cout << "                    Wollen Sie den Taschenrechner benutzen?" << endl;

    cout << "Geben Sie eine Rechenaufgabe ein: ";
    cin >> zahl1 >> rechenzeichen >> zahl2;

    switch (rechenzeichen) // Switch Funktion 

    {
    case '+': ergebnis = zahl1 + zahl2; break;
    case '-': ergebnis = zahl1 - zahl2; break;
    case '*': ergebnis = zahl1*zahl2; break;
    case '/': ergebnis = zahl1 / zahl2; break;

    default: cout << "unbekanntes Rechenzeichen...\n";

        return 1;

    }

    cout << zahl1 << ' ' << rechenzeichen << ' ' << zahl2 << " = " << ergebnis << '\n'; // Ausgabe der Rechnung

    system("Pause"); // Das Programm hält an

}

  • 0
Geschrieben
Zitat

cout << "Wollen sie das Programm ausführen? "j" für ja: ";

cin >>auswahl;

if (auswahl == 'j')

{

// hier dann dein Rechenprogramm

}

system("Pause");

So würde ich es wohl machen. Auch wenn ich der Meinung bin, dass du das auch alleine hinbekommen solltest, sofern der obere Code von dir kommt.

  • 0
Geschrieben

@Rienne Erstmal danke für deinen Code. Ja, ein FiSi im 1. Lehrjahr sollte das hinbekommen, vor Allem ist das 1. Jahr Berufsschule bald um. Dennoch haben wirklich 90% der Leute aus meiner Klasse ein riesen Problem mit C++ da unser Lehrer nichts gebacken bekommt. Ich versuche ja deshalb meinen Taschenrechner selber ein wenig weiterzuentwickeln.. 

  • 0
Geschrieben

@KeeperOfCoffee Da hast du natürlich recht, mir fällt es nur schwer Sachen für C++ zu finden die auch verstehe.. wir sind von der Schule auch her wirklich nur bei den Basissachen und wenn ich jetzt Google frage wie man ein Auswahlmenü für einen Taschenrechner macht wird mir wahrscheinlich nicht viel angezeigt..

  • 0
Geschrieben (bearbeitet)

Was verstehst du denn genau nicht? Du liest einen Text ein per cin und fragst den eingegebenen Wert ab. Entweder beendest du das Programm oder eben nicht. Im Endeffekt hast du doch genau das schon in komplexer mit deinem Switch Case realisiert.

Edit:

#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
string benutzung;
 
cout << "Taschenrechner by Luca v1.0." << endl << endl;
 
cout << "Wollen Sie den Taschenrechner benutzen?" << endl;
 
cin >> benutzung;
 
if (benutzung == "ja")
{
cout << "Geben Sie eine Rechenaufgabe ein: " << endl;
 
double zahl1 = 0.0, zahl2 = 0.0, ergebnis = 0.0;
char rechenzeichen;
bool berechnet = true;
 
cin >> zahl1 >> rechenzeichen >> zahl2;
 
switch (rechenzeichen)
{
case '+':
ergebnis = zahl1 + zahl2;
break;
case '-':
ergebnis = zahl1 - zahl2;
break;
case '*':
ergebnis = zahl1 * zahl2;
break;
case '/':
ergebnis = zahl1 / zahl2;
break;
default:
cout << "Unbekanntes Rechenzeichen." << endl;
berechnet = false;
break;
}
 
if (berechnet == true)
{
cout << zahl1 << rechenzeichen << zahl2 << "=" << ergebnis << endl;
}
}
 
return 0;
}
Bearbeitet von D-eath
  • 0
Geschrieben
Am 29.6.2017 um 13:19 schrieb Revtic:

@KeeperOfCoffeeund wenn ich jetzt Google frage wie man ein Auswahlmenü für einen Taschenrechner macht wird mir wahrscheinlich nicht viel angezeigt..

So wird das nix. Lerne google zu benutzen.

Wenn ich "c++ taschenrechner" eingebe, erhalte ich 22.300 Ergebnisse.

 

  • 0
Geschrieben
Am 30.6.2017 um 12:51 schrieb D-eath:

Was verstehst du denn genau nicht? Du liest einen Text ein per cin und fragst den eingegebenen Wert ab. Entweder beendest du das Programm oder eben nicht. Im Endeffekt hast du doch genau das schon in komplexer mit deinem Switch Case realisiert.

 

Ich habs mittlerweile geschafft das ganze umzusetzen, dennoch habe ich das Problem da ich Sachen wie bool, String, etc. nicht verstehe, da unser Lehrer auf gut deutsch gesagt zu dumm ist uns das anständig beizubringen. Ich hab's eh schon aufgegeben, in 1 Monat wechseln wir eh von CPP zu VB.

  • 0
Geschrieben
2 minutes ago, Revtic said:

Ich hab's eh schon aufgegeben, in 1 Monat wechseln wir eh von CPP zu VB.

Sehr gut, C++ ist nämlich die einzige Sprache in der es Bool, Strings etc. gibt, das wird dein Problem lösen ;-)

  • 0
Geschrieben
vor 14 Minuten schrieb Klebrig:

Sehr gut, C++ ist nämlich die einzige Sprache in der es Bool, Strings etc. gibt, das wird dein Problem lösen ;-)

Mir geht's eigtl. nur darum das ich C++ aufgegeben habe, wir bekommen ja mit der neuen Sprache auch einen neuen Lehrer der wesentlich besser ist. Ich denke er wird uns Begriffe wie diese gut erklären können.

  • 0
Geschrieben
vor 1 Stunde schrieb D-eath:

Da muss dein Lehrer ja wirklich chinesisch sprechen, wenn er Dinge wie Boolean nicht erklären kann. Vielleicht hilft auch ein bisschen, böse gesagt, selbst mitdenken beim Verständnis.

Ich versuche wirklich was geht nach dem Unterricht mir selber was beizubringen. Mitdenken bringt da gar nichts, wenn der Lehrer selbst nichts kapiert.. der Typ sitzt vorne und lest von seinen PowerPoints runter und wenn du in was fragst zur Programmiermaterie dann kommt meistens was wie "Schauen Sie doch in ihr Skript".. im Skript steht leider rein gar nichts, wenn dann nur Theorie die man wirklich nicht brauchen kann. Und der Lehrer meint das gar nicht im bösen Sinne, er ist einfach nur ein grottenschlechter Programmierer.

  • 0
Geschrieben
vor 17 Stunden schrieb Revtic:

Und der Lehrer meint das gar nicht im bösen Sinne, er ist einfach nur ein grottenschlechter Programmierer.

Klingt eher so, als ob er es einfach nicht vermitteln kann, und nicht zwingend, dass er selber ein schlechter Programmierer ist.

Aber gerade die Themen "elementare Datentypen" und auch Variablen (Nutzen, Deklaration, ...) sind die absoluten Grundlagen in jeder (Programmier)sprache und auch die Unterschiede in den verschiedenen Sprachen sind gering. Soll heißen, dass du eigentlich mehr als eine verständliche Quelle im Internet dazu finden solltest.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...