Taschenrechner C++

Tach auch

Ich habe in der schule ein hausaufgabe in C++ wir sollten einen Taschenrechner programmieren der die grundrechenarten kennt 3 zahlen miteinander verrechnet und punkt vor strichrechnung beachtet

ich darf nur iostream.h und conio.h includen und muss alles mir if else cin>> und cout<< lösen ich hab mein struktogramm was ich bekommen hatte verlegt und bitte nicht um fertigen code sondern um einen kleinen bis mittelgroßen tipp wie ich das lösen könnte

mfG

Phibrizzo
 
so das hab ich mir auch grade zur aufgabe gemacht denn ich bin c neuling und wollt damit mal anfangen und werd mal meinen senf abgeben wenn ich wo dazu getoßenm bin

aber mal so rein von der überlegung her müsstest du nur mit if else schauen lassen welcher rechenoperator benutzt wird und je nach dem halt dann den rechenwege beschreiben oder?
 
Das ist klar aber bei zwei rechenzeichen werden die in der reihenfolge gerechnet in der sie eingegeben werden und nicht nach punkt vor strichrechnung und das ist das problem
 
Ich bin zwar kein C Ass, aber ich würde eine zweite IF Bedingung laufen lassen, die prüft, ob eine Operation evnt. Vorrang hat.

Der Hesse
 
So weit bin ich bis jetzt gekommen aber da fehlt noch am ende ein teil der noch die fehlende zahl hinzurechnet aber ich komm nicht weiter aber ich weiß nicht wie ich das schreiben soll
Code:
#include <iostream.h>
#include <conio.h>
float zahl1,zahl2,zahl3;
float erg1, erg2;
char rop1, rop2;
void main (void)
{
	cout<<"Eine Zahl eingeben ";
    cin>>zahl1;
    cout<<"Bitte Rechenoperation eingeben ";endl;
    cout<<"+ - * / ";
    cin>>rop1;
	cout<<"Zweite Zahl eingeben";
    cin>>zahl2;
	cout<<"zweites rechenzeichen";
	cin>>rop2;
	cout<<"dritte zahl eingeben";
	cin>>zahl3;
if (rop1=='+, -')
{
	
	if (rop2=='+')
	{
	erg1=zahl2+zahl3;
	}
	if (rop2=='-')
	{
	erg1=zahl2-zahl3;
	}
	if (rop2=='*')
	{
	erg1=zahl2*zahl3;
	}
	if (rop2=='/')
	{
	erg1=zahl2/zahl3;
	}

else 
	if (rop1=='+')
	{
	erg1=zahl1+zahl2;
	}
	if (rop1=='-')
	{
	erg1=zahl1-zahl2;
	}
	if (rop1=='*')
	{
	erg1=zahl1*zahl2;
	}
	if (rop1=='/')
	{
	erg1=zahl1/zahl2;
	}
	}

}
cout<<erg2;
getch();
}
hoffentlich kann mir einer helfen
 
So mein erster Post und so ca. mein erstes c++ Programm :-).
Bin mir sicher das man das besser und mit weniger Zeilen schreiben kann aber ich denk mal so funkt's auch vielleicht hilfts ja wem.

Code:
/* Taschenrechner der die Grundrechnungsarten mit 3 Zahln bearbeiten kann und
  dabei Punkt vor Strich beachtet.
  Dabei soll nur iostream.h, conio.h cin, cout und if else verwendet werden.
*/

#include <iostream.h>
#include <conio.h>

double Zahl1, Zahl2, Zahl3, Erg;
char Op1, Op2;

void main (void)
{
//Zahln und Operatoren einlesen
  cout << "Erste Zahl eingeben: ";
  cin  >> Zahl1;
  cout << "Bitte Rechenoperation eingeben (+ - * /): ";
  cin >> Op1;
  cout << "Zweite Zahl eingeben: ";
  cin  >> Zahl2;
  cout << "Bitte Rechenoperation eingeben (+ - * /): ";
  cin >> Op2;
  cout << "Dritte Zahl eingeben: ";
  cin  >> Zahl3;

  if (Op1 == '+' && Op2 == '+')
  { Erg = Zahl1 + Zahl2 + Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '+' && Op2 == '-')
  { Erg =Zahl1 + Zahl2 - Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '+' && Op2 == '*')
  { Erg = (Zahl2 * Zahl3) + Zahl1;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '+' && Op2 == '/')
  { Erg = (Zahl2 / Zahl3) + Zahl1;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '-' && Op2 == '+')
  { Erg = Zahl1 - Zahl2 + Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '-' && Op2 == '-')
  { Erg = Zahl1 - Zahl2 - Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '-' && Op2 == '*')
  { Erg = (Zahl2 * Zahl3) - Zahl1;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '-' && Op2 == '/')
  { Erg = (Zahl2 / Zahl3) - Zahl1;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '*' && Op2 == '+')
  { Erg = (Zahl1 * Zahl2) + Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '*' && Op2 == '-')
  { Erg = (Zahl1 * Zahl2) - Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '*' && Op2 == '*')
  { Erg = Zahl1 * Zahl2 * Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '*' && Op2 == '/')
  { Erg = Zahl1 * Zahl2 / Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '/' && Op2 == '+')
  { Erg = (Zahl1 / Zahl2) + Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '/' && Op2 == '-')
  { Erg = (Zahl1 / Zahl2) - Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '/' && Op2 == '*')
  { Erg = Zahl1 / Zahl2 * Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  else if (Op1 == '/' && Op2 == '/')
  { Erg = Zahl1 / Zahl2 / Zahl3;
    cout << "Ergebnis: ";
    cout << Erg;
  }
  while(1);
}

mfg poldi
 
@poldi Geschickt gelöst.
Ich hatte heute wieder schule und hab einfach mal meinen pgr lehrer gefragt. Der hats mir genau erklärt wies zu machen is und ich denk ich hab nun mit diesem taschenrechner keine probleme mehr ich poste bei gelegenheit den code in den thread hier nur hab ich das prog grad nich zur hand
 
Zurück
Oben