|
You last visited: Today at 08:11
Advertisement
C++ brauche Hilfe bei Taschenrechner
Discussion on C++ brauche Hilfe bei Taschenrechner within the C/C++ forum part of the Coders Den category.
10/15/2010, 21:22
|
#1
|
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
|
|
|
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.
|
|
|
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";
|
|
|
|
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.
|
|
|
10/15/2010, 21:40
|
#5
|
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
|
Quote:
Originally Posted by Disconnect
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
|
|
|
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
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
|
|
|
10/16/2010, 00:27
|
#7
|
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866
|
Quote:
Originally Posted by MoepMeep
@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.
|
|
|
10/16/2010, 00:32
|
#8
|
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.
|
|
|
10/16/2010, 01:09
|
#9
|
elite*gold: LOCKED
Join Date: Aug 2006
Posts: 3,292
Received Thanks: 866
|
Quote:
Originally Posted by bloodx
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.
|
|
|
10/16/2010, 10:10
|
#10
|
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
|
Quote:
Originally Posted by MoepMeep
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
|
|
|
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
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
|
|
|
10/16/2010, 23:21
|
#12
|
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
}
//-----------------------
}
|
|
|
10/16/2010, 23:36
|
#13
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Quote:
Originally Posted by BliszZ
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
|
|
|
10/16/2010, 23:40
|
#14
|
elite*gold: 0
Join Date: Nov 2009
Posts: 116
Received Thanks: 13
|
Danke!!! Ich bin so dumm -.-
|
|
|
10/17/2010, 00:11
|
#15
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
|
|
|
|
|
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.
|
|