www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - taschenrechner
taschenrechner < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

taschenrechner: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:36 Fr 02.04.2010
Autor: max_e

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

hallo,

ich soll ein programm machen das einfache rechenarten wie  +-/* beherrscht. Nun habe ich gemacht und geht:

a) jedoch denke ich daran ein haupmenü zu machen, wo der user dann auswählen kann was er macht, bloss habe ich da keine ahnung. Wie kann ich da vorgehen..?

#include <iostream>

using namespace std;

int main()
{
double zahl1;  
double zahl2;  
char zeichen1;
char zeichen2;

cout << "Gib Zahl 1 ein: ";
cin >> zahl1;
cout << "Gib Zahl 2 ein: ";  
cin >> zahl2;

cout << zahl1 << "+" << zahl2 << "=" << (zahl1+zahl2) << endl;
cout << zahl1 << "-" << zahl2 << "=" << (zahl1-zahl2) << endl;
cout << zahl1 << "*" << zahl2 << "=" << (zahl1*zahl2) << endl;
cout << zahl1 << "/" << zahl2 << "=" << (zahl1/zahl2) << endl;

cout << "Gib Buchstabe 1 ein: ";
cin >> zeichen1;
cout << "Gib Buchstabe 2 ein: ";
cin >> zeichen2;

cout << zeichen1 << "+" << zeichen2 << "=" << (char)((int)zeichen1+(int)zeichen2) << endl;

//system("PAUSE");
return 0;


        
Bezug
taschenrechner: Antwort
Status: (Antwort) fertig Status 
Datum: 13:57 Fr 02.04.2010
Autor: Event_Horizon

Hallo!

Was hälst du von einer anderen Idee?

cin >> zahl1 >> zeichen >> zahl2;


Das cin holt sich immer nur soviele Zeichen, bis ein Leerzeichen auftritt.

Jetzt kannst du also 2 + 2 eingeben, darfst die Leerzeichen aber nicht vergessen.


In jedem Fall kannst du anschließend sowas machen:

if(zeichen1=='+'){
//addieren
}

if(zeichen1=='/'){
//teilen
}
...

oder besser:

switch(zeichen1){
case '+':
  //addieren
  break;
case '/':
  //teilen
  break;
...
default:
  cout << "ungültige Eingabe"<<endl;

}



Ich sehe aber noch was merkwürdiges bei dir:

Ein char ist in C ein 1Byte großer Datentyp, also eigentlich eine Zahl. Man benutzt chars gerne für Buchstaben, aber es gibt da so ne interne "Umrechnungstabelle" (Google -> ASCII-Tabelle)

das cout versucht daher auch, chars als Zeichen auszugeben.

Aber weil chars auch nur Zahlen sind, kannst du auch gleich so rechnen:

cout << (zeichen1+zeichen2)<<endl;

das umcasten in ein int ist unnötig, (und kann unter Umständen zu merkwürdigen Effekten führen)



Bezug
                
Bezug
taschenrechner: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:11 Fr 02.04.2010
Autor: max_e

ok vielen dank

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]