[Gelöst]C: Problem mit Taschenrechner

Diskutiere [Gelöst]C: Problem mit Taschenrechner im Programmierung Forum im Bereich Software Forum; Hallo miteinander Ich habe mal versucht einen einfachen Taschenrechner zu Programmieren (bin noch ganz neu beim Programmieren), jedoch rechnet er...
M

m.molitor

Threadstarter
Mitglied seit
17.04.2007
Beiträge
189
Alter
32
Standort
Finnentrop
Hallo miteinander

Ich habe mal versucht einen einfachen Taschenrechner zu Programmieren (bin noch ganz neu beim Programmieren), jedoch rechnet er egal welchen Operator ich eingebe immer nur mit dem "/". Wo liegt mein Fehler?

Quelltext:
/***************************
*Taschenrechner.c *
*Autor: m.molitor *
*Einfaches Rechenprogramm *
****************************/

/*Header-Dateien*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>


/*Hauptfunktion*/

int main()
{
float Zahl1,Zahl2,Ergebnis; //die beiden Zahlen für die Rechnung
char o; //Der Operator der Rechnung

printf("Bitte geben Sie die erste Zahl ein\n");
scanf("%f",&Zahl1);
fflush(stdin);
printf("Bitte geben Sie die zweite Zahl ein\n");
scanf("%f",&Zahl2);
fflush(stdin);
printf("Bitte geben Sie den Rechenoperator ein\n");
scanf("%c",&o);
printf("Die Rechnung wird so aussehen:\n");
printf("%.2f %c %.2f \n",Zahl1,o,Zahl2);
printf("Ergebnis:\n");
switch(o) //Sucht welcher Operator eingegeben wurde.
{
case '+' : Ergebnis = Zahl1 + Zahl2;
case '-' : Ergebnis = Zahl1 - Zahl2;
case '*' : Ergebnis = Zahl1 * Zahl2;
case '/' : Ergebnis = Zahl1 / Zahl2;
}
printf("%.2f\n",Ergebnis);
system("PAUSE");
return 0;
}
 
Zuletzt bearbeitet:
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
31
Standort
RLP
hi,

ich würde das ganze nicht mit case machen den case ist bei solchen sachen nicht gerade mein freund mach es doch lieber mit einer if-else abfrage!
Aber egal ...
Weist du eigentlich was hinter jeden case kommen damit er falls eine bedingung erfüllt wurde das er dann nicht weiter macht?
http://www.cpp-tutor.de/cpp/le05/le05_02.htm -->hier break Anweisung lesen.
Und Rechnungen sollten immer in einer klammer() erfolgen -->sieht sauberer aus und ist übersichtlicher

So en Taschenrechner habe ich im meinem ersten Ausbildungsjahr geschrieben
PHP:
/***************************
*Taschenrechner.c *
*Autor: m.molitor *
*Einfaches Rechenprogramm *
****************************/

/*Header-Dateien*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>


/*Hauptfunktion*/

int main()
{
float Zahl1,Zahl2,Ergebnis; //die beiden Zahlen für die Rechnung
char o; //Der Operator der Rechnung

printf("Bitte geben Sie die erste Zahl ein\n");
scanf("%f",&Zahl1);

printf("Bitte geben Sie die zweite Zahl ein\n");
scanf("%f",&Zahl2);

fflush(stdin);
printf("Bitte geben Sie den Rechenoperator ein\n");
scanf("%c",&wahl);

printf("Die Rechnung wird so aussehen:\n");
printf("%.2f %c %.2f \n",Zahl1,o,Zahl2);

printf("Ergebnis:\n");

switch(o) //Sucht welcher Operator eingegeben wurde.
{
        case '+' : Ergebnis = (Zahl1 + Zahl2);//Hier die Klammern
        break;//Hier muss ein break hin damit er hingeht und rausspringt einfach                                      //gesagt
        case '-' : Ergebnis = (Zahl1 - Zahl2);//ist zwar unnötig
        break;//Und hier.....
        case '*' : Ergebnis = (Zahl1 * Zahl2);//ist aber besser
        break;//Und hier.....
        case '/' : Ergebnis = (Zahl1 / Zahl2);//wegen der übersicht usw
        break;//Und hier.....
}
printf("%.2f\n",Ergebnis);
system("PAUSE");
return 0;
}
und achte auch ein bissen auf die Formatierung wenn das mein ehemaliger Lehrer sehen würde .....:flenn dann gabs haue ;-)

mfg
schally
 
M

m.molitor

Threadstarter
Mitglied seit
17.04.2007
Beiträge
189
Alter
32
Standort
Finnentrop
Vielen Dank, ich werds mal so versuchen.

(Und was die Formatierung angeht, hab den Quelltext innem Quote gemacht, nicht innem Code-Fesnter, die Formatierung ist dabei verloren gegangen);)
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
31
Standort
RLP
Vielen Dank, ich werds mal so versuchen.

(Und was die Formatierung angeht, hab den Quelltext innem Quote gemacht, nicht innem Code-Fesnter, die Formatierung ist dabei verloren gegangen);)
Sry wegen der Formatierung habe es nicht gleich gesehn....

Aber als Anwendungsentwickler sieht man sowas :-D^^
nee spass wollte dir nur tipps geben!

mfg
schally
 
M

m.molitor

Threadstarter
Mitglied seit
17.04.2007
Beiträge
189
Alter
32
Standort
Finnentrop
So, habs nun geändert und es klappt wunderbar, danke nochmals.

Das mit der Formatierung nehm ich dir auch nich übel;)

Bin selbst nur FiSy und Programmieren mach ich nur Privat. Hab deshalb keinen Lehrer der mir da viel beibringt.
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
31
Standort
RLP
So, habs nun geändert und es klappt wunderbar, danke nochmals.

Das mit der Formatierung nehm ich dir auch nich übel;)

Bin selbst nur FiSy und Programmieren mach ich nur Privat. Hab deshalb keinen Lehrer der mir da viel beibringt.
Ich hab beide Ausbildungen gemacht (vom Betrieb her usw) aber ihr FiSy seit doch alle bekloppt(im positiven sinn) was ihr mit dem Netzwerk kram und allem drum rum macht :up:D

mfg
schally
 
Thema:

[Gelöst]C: Problem mit Taschenrechner

Sucheingaben

taschenrechner c programmieren

[Gelöst]C: Problem mit Taschenrechner - Ähnliche Themen

  • Gelöst: Windows 7, Aero Problem

    Gelöst: Windows 7, Aero Problem: Hallo, Aero funktioniert plötzlich nicht mehr. Gigabyte EP43-DS3 Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz 2x Micron 16HTF25664AY-1GAE1 AMD...
  • Problem gelöst

    Problem gelöst: Nach fast einem halben Jahr konnte das Problem gelöst werden. Mindestens scheint es so.
  • Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic

    Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic: Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic Liebe Community, vor kurzem hatte ich einen...
  • Ist das Problem mit KB4103721 gelöst?

    Ist das Problem mit KB4103721 gelöst?: Ich hatte Anfang Mai das Update KB4103721. Der PC war nicht mehr zu starten und auch das alte Windows nicht mehr wieder herzustellen. Es wurde...
  • Standby Problem Win10 (gelöst)

    Standby Problem Win10 (gelöst): Mein Problem war das der Standby Modus nicht mehr aufwachen wollte ich mußte resetten und neu starten. Alle Tips der Community waren erfolglos...
  • Ähnliche Themen

    • Gelöst: Windows 7, Aero Problem

      Gelöst: Windows 7, Aero Problem: Hallo, Aero funktioniert plötzlich nicht mehr. Gigabyte EP43-DS3 Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz 2x Micron 16HTF25664AY-1GAE1 AMD...
    • Problem gelöst

      Problem gelöst: Nach fast einem halben Jahr konnte das Problem gelöst werden. Mindestens scheint es so.
    • Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic

      Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic: Problem gelöst, Outlook: "Die eingegebene Endzeit liegt vor der Startzeit..." Speichern nicht möglic Liebe Community, vor kurzem hatte ich einen...
    • Ist das Problem mit KB4103721 gelöst?

      Ist das Problem mit KB4103721 gelöst?: Ich hatte Anfang Mai das Update KB4103721. Der PC war nicht mehr zu starten und auch das alte Windows nicht mehr wieder herzustellen. Es wurde...
    • Standby Problem Win10 (gelöst)

      Standby Problem Win10 (gelöst): Mein Problem war das der Standby Modus nicht mehr aufwachen wollte ich mußte resetten und neu starten. Alle Tips der Community waren erfolglos...
    Oben