Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 08:11

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ brauche Hilfe bei Taschenrechner

Discussion on C++ brauche Hilfe bei Taschenrechner within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
C++ brauche Hilfe bei Taschenrechner

Hi,
ich habe versucht in c++ einen Taschenrechner zu programmieren.
Soweit so gut wie es dann bei sowas fast immer ist, wenn man es das erste Mal macht , es geht nicht .
Ich weiß einfach nicht woran es liegen kann hier ma mein code:
Code:
#include<iostream>
using namespace std;

int main()
{
int plus=1;
int minus=2;
int mal=3;
int geteilt=4;
int auswahl;
int zahl1;
int zahl2;
int ergebnis;

cout<<"Was wollen sie rechnen? Plus(1), Minus(2), Mal(3), Geteilt(4).\n";
cin>>auswahl;
cout<<"Gebe sie die erste Zahl ein.\n";
cin>>zahl1;
cout<<"Gebe sie die zweite Zahl ein.\n";
cin>>zahl2;

if(auswahl==plus)
{
ergebnis=zahl1+zahl2;
cout<<"Das Ergebnis ist"<<ergebnis;
}
else(auswahl==minus)
{
    ergebnis=zahl1-zahl2;
    cout<<"Das Ergebnis ist"<<ergebnis;
}
else(auswahl==mal)
{
    ergebnis=zahl1*zahl2;
    cout<<"Das Ergebnis ist"<<ergebnis;
}
else(auswahl==geteilt)
{
    ergebnis=zahl1/zahl2;
    cout<<"Das Ergebnis ist"<<ergebnis;
}
}
hoffe ihr könnt mir helfen
mfg
©rossi™ is offline  
Old 10/15/2010, 21:33   #2
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
Nach jedem else schreibst du eine weitere Bedingung. Es muss also "else if" heißen.
ms​ is offline  
Thanks
1 User
Old 10/15/2010, 21:34   #3
 
elite*gold: 0
Join Date: Jul 2010
Posts: 62
Received Thanks: 4
Also ich poste dir jetzt nich n Source^^ Da gabs mal irgeneinen xD
Du sollst ja auch n bisschen nachdenken
Du solltest das ganze via:


Quote:
Originally Posted by C++ Code Idee
cout<<"Gebe deine Rechnung ein\n";
cin>>Zahl1, Rechenzeichen, Zahl2;

Switch
Case Rechenzeichen
+
-
*
/
else (Weis grad net den Ausdruck für die Switch Abfrage, aber du weist was ich mein)
cout<<"Du hast kein Rechenzeichen angegeben!\n";
Mr. Pancake-Trader is offline  
Thanks
1 User
Old 10/15/2010, 21:37   #4
 
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866


Versuch es lieber so, anstatt da dauerhaft ein else hin zu machen obwohl du nur eine if abfrage hast.
scenebase is offline  
Thanks
1 User
Old 10/15/2010, 21:40   #5
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by Disconnect View Post
Nach jedem else schreibst du eine weitere Bedingung. Es muss also "else if" heißen.
thx das wars
Danke auch für die Vorschläge mit den switch befehlen werd ich mir auchnomma angucken
mfg
©rossi™ is offline  
Old 10/15/2010, 23:42   #6
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Quote:
Originally Posted by Mr. Pancake-Trader View Post
Also ich poste dir jetzt nich n Source^^ Da gabs mal irgeneinen xD
Du sollst ja auch n bisschen nachdenken
Du solltest das ganze via:
jo nice, switch-case'n wir ne wildcard, noch mehr schlaue ideen?


@Rhilor Are you serious? Mal ganz ehrlich, wtf?! Bring den neuen doch bitte nicht so einen Stil bei.

Wenn schon, dann so

Code:
#include <iostream>
 
using namespace std;
 
int main()
{
    int ergebnis;
    int auswahl;
    int zahl1,zahl2 = 0;
 
 
    cout << "Was wollen sie rechnen?" << "\n" << "Plus(1), Minus(2), Mal(3), Geteilt(4)" << endl;
    cin >> auswahl;
 
    cout << "Bitte erste Zahl eingeben" << endl;
    cin >> zahl1;
 
    cout << "Bitte zweite Zahl eingeben" << endl;
    cin >> zahl2;
 
    switch(auswahl)
    {
        case 1: ergebnis = zahl1 + zahl2;
                break;
 
        case 2: ergebnis = zahl1 - zahl2;
                break;
 
        case 3: ergebnis = zahl1 * zahl2;
                break;
 
        case 4: ergebnis = zahl1 / zahl2;
                break;
        default:
                  cout << "Falsche Eingabe" << endl;
    }
    cout << ergebnis << "\n";
    cin.get();
    return 0;
}
Für vergessene Semikolons und sonstigen Kleinkram übernehm ich keine Haftung
MoepMeep is offline  
Thanks
1 User
Old 10/16/2010, 00:27   #7
 
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866
Quote:
Originally Posted by MoepMeep View Post
@Rhilor Are you serious? Mal ganz ehrlich, wtf?! Bring den neuen doch bitte nicht so einen Stil bei.
tut mir leid mir war aber irgendwie schon klar das du hier rein schreibst und mich verbessern wirst.
scenebase is offline  
Old 10/16/2010, 00:32   #8




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,537
Joa Moep muss überall seinen Senf dazu geben auch wenn es meistens nix gescheites ist.

Aber naja Rhilor du solltest trotzdem probieren falls du jemanden versuchst eine Lösung zu präsentieren dass sie auch Richtig + Logisch ist.
bloodx is offline  
Old 10/16/2010, 01:09   #9
 
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866
Quote:
Originally Posted by bloodx View Post
Joa Moep muss überall seinen Senf dazu geben auch wenn es meistens nix gescheites ist.

Aber naja Rhilor du solltest trotzdem probieren falls du jemanden versuchst eine Lösung zu präsentieren dass sie auch Richtig + Logisch ist.
i'm sorry :< hab nicht richtig nachgedacht als ich die "Lösung" geschrieben habe.
scenebase is offline  
Old 10/16/2010, 10:10   #10
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MoepMeep View Post
jo nice, switch-case'n wir ne wildcard, noch mehr schlaue ideen?


@Rhilor Are you serious? Mal ganz ehrlich, wtf?! Bring den neuen doch bitte nicht so einen Stil bei.

Wenn schon, dann so

Code:
#include <iostream>
 
using namespace std;
 
int main()
{
    int ergebnis;
    int auswahl;
    int zahl1,zahl2 = 0;
 
 
    cout << "Was wollen sie rechnen?" << "\n" << "Plus(1), Minus(2), Mal(3), Geteilt(4)" << endl;
    cin >> auswahl;
 
    cout << "Bitte erste Zahl eingeben" << endl;
    cin >> zahl1;
 
    cout << "Bitte zweite Zahl eingeben" << endl;
    cin >> zahl2;
 
    switch(auswahl)
    {
        case 1: ergebnis = zahl1 + zahl2;
                break;
 
        case 2: ergebnis = zahl1 - zahl2;
                break;
 
        case 3: ergebnis = zahl1 * zahl2;
                break;
 
        case 4: ergebnis = zahl1 / zahl2;
                break;
        default:
                  cout << "Falsche Eingabe" << endl;
    }
    cout << ergebnis << "\n";
    cin.get();
    return 0;
}
Für vergessene Semikolons und sonstigen Kleinkram übernehm ich keine Haftung
thx das sieht gut aus und geht auch iwie einfacher als mit den ganzen ifs :P

mfg
©rossi™ is offline  
Old 10/16/2010, 10:25   #11
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Quote:
Originally Posted by bloodx View Post
Joa Moep muss überall seinen Senf dazu geben auch wenn es meistens nix gescheites ist.

Aber naja Rhilor du solltest trotzdem probieren falls du jemanden versuchst eine Lösung zu präsentieren dass sie auch Richtig + Logisch ist.
Klappe kevin

@topic Was du natürlich noch machen musst, ist division durch 0 abfangen
MoepMeep is offline  
Thanks
1 User
Old 10/16/2010, 23:21   #12
 
MrSimonKeks's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 116
Received Thanks: 13
Wo gerade das Thema Problem beim selbstgeschriebenen Taschenrechner aufgegriffen wird hab da auch ein Problem .Bin noch Anfänger also hab nicht so die Ahnung und versucht ,,mit meinen eigenen Worten" ein Taschenrechner zu programmieren.Der Taschenrechner an sich funktioniert auch,aber ich habe eine Frage eingebaut, die nach jeder Rechnung fragt ob das Programm beendet werden soll.Leider interessiert es dem Compiler nicht wirklich das er bei eintippen von j das Programm beenden soll und beim eintippen von n wieder die ,,Schleife" einspielen soll. Nunja vllt. könnt ihr mir helfen...das ist der Code:
Code:
#include<iostream> //include Befehle
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
#include<cstdlib>
//----------------------------
using namespace std;
inline void keep_window_open() {char ch; cin>>ch;} //window offen halten
//-----------------------------------------------------
int main()
{
    cout<<"------------------------Wilkommen-------------------------\n";
    cout<<"----------------------------------------------------------\n";
    cout<<"-----------Dies ist ein Programm von Simon----------------\n";
    cout<<"-----------Es gibt bald Zahlreiche Funktionen-------------\n";
    cout<<"-----------Was wollen sie machen?-------------------------\n";
    cout<<"-----------Moegliche Funktionen:--------------------------\n-Taschenrechner\n"; //Mögliche Funktionen aufgelistet
    cout<<"Geben sie ihre gewuenschte Funktion ein:\n";
    string eingabe; //noch nicht benötigt da nur eine Funktion vrhanden ist
    cin>>eingabe; //--//-- (speichert eingabe)
    //---------------------------------------------------------------------------------------
    Schleife1:
    cout<<"Moegliche Rechenarten:\n-Addition(+)\n-Subtraktion(-)\n-Multiplikation(*)\n-Division(/)\n"; //mögliche Rechenarten aufgelistet
    cout<<"Aufgabe(ACHTUNG!:Hinter der Aufgabe kein = setzen dann beendet sich das programm):"; //zu schreibende Aufgabe
    double x; //x=erste Zahl die auch Gleitkomma zahl sein kann
    cin>>x; //erste geschriebene Zahl abschpeichern
    char zeichen; //rechenzeichen ist char
    cin>>zeichen; //rechenzeichen abspeichern
    double y; //y ist zweite zahl (Gleitkomma)
    cin>>y; //zweite Zahl abschpeichern
    //------------------------------------------------------------------
    char mal; //mal ist char
    mal='*'; //mal entspricht den maschinenmalzeichen *
    char plus; //plus ist char
    plus='+'; //plus entspricht dem Zeichen +
    char geteilt; //geteilt ist char
    geteilt='/'; //geteilt entspricht zeichen /
    char minus; //minus ist char
    minus='-'; //minus entspricht zeichen -
    char wurzel; //noch nicht verwendet
    wurzel='~'; //noch nicht verwendet
    //----------------------------------------------------------------
    if(zeichen==plus)cout<<"Ergebnis (Addition):"<<x+y<<"\n"; //wenn das zeichen ein plus (+) ist dann soll er jenes ergebnis herausgeben
    if(zeichen==minus)cout<<"Ergebnis (Subtraktion):"<<x-y<<"\n"; //wenn das zeichen ein minus (-) ist dann soll er jenes ergebnis herausgeben
    if(zeichen==mal)cout<<"Ergebnis (Multiplikation):"<<x*y<<"\n"; //wenn das zeichen ein mal (*) ist soll er jenes ergebnis herausgeben
    if(zeichen==geteilt)cout<<"Ergebnis (Division):"<<x/y<<"\n"; //wenn das zeichen ein geteilt (/) ist dann soll er jenes ergebnis herausgeben
    //----------------------------------------------------------------------
    cout<<"Ende?(j/n): "; //ausschalten Frage
    char jn;//jn ist char
    cin>>jn;//jn  einschpeichern
    //--------------------
    char j=j;//j ist char und hat den wert j
    char n=n;//n ist char und hat den wert n
    //--------------------
    if(jn==n)
    {
             keep_window_open();goto Schleife1; //wenn char jn gelich ist mit char ndann halte fenster offen und gehe zu Schleife1
}         
    else if(jn==j)
    {
         return 0; //wenn jn gleich ist mit j dann programm beenden
}     
    //-----------------------
}
MrSimonKeks is offline  
Old 10/16/2010, 23:36   #13


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Originally Posted by BliszZ View Post
Code:
cout<<"Ende?(j/n): "; //ausschalten Frage
    char jn;//jn ist char
    cin>>jn;//jn  einschpeichern
    //--------------------
    char j=j;//j ist char und hat den wert j
    char n=n;//n ist char und hat den wert n
    //--------------------
    if(jn==n)
    {
             keep_window_open();goto Schleife1; //wenn char jn gelich ist mit char ndann halte fenster offen und gehe zu Schleife1
}         
    else if(jn==j)
    {
         return 0; //wenn jn gleich ist mit j dann programm beenden
}     
    //-----------------------
}
es muss
Code:
char j= 'j';
//und
char n='n';
sein
MrSm!th is offline  
Thanks
1 User
Old 10/16/2010, 23:40   #14
 
MrSimonKeks's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 116
Received Thanks: 13
Danke!!! Ich bin so dumm -.-
MrSimonKeks is offline  
Old 10/17/2010, 00:11   #15
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
Bot_interesierter is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[VB.Net] Der kleine Taschenrechner
05/30/2010 - Coding Tutorials - 3 Replies
Hallo Elitepvpers! Heute zeige ich euch wie ihr mit der Programmiersprache Visual Basic 2008 einen kleinen Taschrechner programmieren könnt! So lasst uns anfangen! Zuerst sollte man ein neues Projekt erstellen, mit dem Namen Grundrechenarten. SO wenn ihr nun die Form vor euch habt, macht folgendes : Eine GroupBox in die Form ziehen In diese GroupBox zieht ihr 4 RadioButtons Diese Benennt ihr wie folgt : Addition(+)
[JAVA] Taschenrechner rechnet nicht!
05/11/2010 - General Coding - 1 Replies
Heho, ich sitz wiedermal in Informatik und komm nicht wirklich weiter. Wir arbeiten an einem Taschenrechner, Buttons usw sind auch alle schon vorhanden, jedoch weiß ich nicht wie ich den Wert aus dem Label übernehmen kann und wie ich die Rechen-Operatoren einfügen kann. Wenn mir jemand wenigstens bei einem Rechen-Operatoren helfen könnte wär ich sehr dankbar^^
Brauche Dringend Hilfe! Bin Metin spieler aber Brauche Hilfe
12/30/2009 - Metin2 Private Server - 0 Replies
Es gehört hier zwar nicht rein , aber ich weiß keine andere Lösung Ich habe seit einigen Tagen ein Problem... Microsoft Windows Search Protocol Host funktioniert nicht mehr Die Anwendung wird Aufgrund eines Problems nicht mehr richtig Ausgeführt. Ich weiß nicht was das ist und wie ich es loswerde.
Taschenrechner Coden
12/16/2009 - General Coding - 5 Replies
Hallo Com Es ist mir ein wenig peinlich aber ich habe ein Problem. Ich habe nun mit dem Coden bei Visual Basic begonnen. Mein erstes Projekt ist ein Taschenrechner :rolleyes: Ich habe das Design fertig gemacht aber bei dem Coden stecke ich fest :rolleyes: Ich wollte fragen ob mir einer Helfen könnte :) Hier: Was hab ich da Falsch gemacht? Was falsches eingestellt? Ich benutze das Programm Microsoft Visual Basic 2008 Express Edition.
[Hilfe] Nen AutoIt Taschenrechner
08/10/2009 - AutoIt - 5 Replies
Also ich habe mir nen taschenrechner mit autoit gemacht leider kann er nur PLUS rechnen xD siehe hier : kostenlos Dateien hochladen bei File Upload X und ich wollte mal fragen ob er auch minus rechnen kann und mal und geteil ^^ weil ich habe die 3 sachen schon ausprobiert wie : - ( minus rechnen ) und so aber das macht er nicht ?? muss ich andere zeichen verwenden ?? wenn ja bitte postet die hier mal !! DANKE p.s. ich spiele erst seid gestern mit autoit rum also nicht böse sein wenn ich...



All times are GMT +2. The time now is 08:11.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.