manu_herzberg Geschrieben 16. August 2009 Geschrieben 16. August 2009 hey leuts, hab mal nen taschenrechner geschrieben. bin in c noch ein totaler anfänger und wollt mal von euch wissen wie ihr den findet. er rechnet nur die grundrechnenarten( / * - +) und mit enter wird bestätigt. über euere rückmeldungen würde ich mich freuen. mfg manu#include <stdio.h> #include <conio.h> int main() { float zahl1, zahl2; char zeichen; you: scanf ("%f %c %f", &zahl1, &zeichen, &zahl2); switch (zeichen) { case 43: printf ("%f\n",zahl1+zahl2); break; case 45: printf ("%f\n",zahl1-zahl2); break; case 42: printf ("%f\n",zahl1*zahl2); break; case 47: printf ("%f\n",zahl1/zahl2); break; } goto you; return 0; }
Klotzkopp Geschrieben 16. August 2009 Geschrieben 16. August 2009 Benutz eine Schleife statt goto. Die Verwendung von goto macht größere Programme schnell unübersichtlich und unwartbar, also solltest du dir so schnell wie möglich angewöhnen, wie man ohne goto auskommt. Die Includedirektive für conio.h kannst du weglassen, weil du keine dort deklarierte Funktion benutzt. Außerdem würde ich statt der Zahlenwerte 43, 45, 27 und 47 die Zeichenliterale '+', '-', '*' und '/' benutzen. Ansonsten sieht das gut aus. Der Ansatz wird sich aber nicht auf komplexere Terme übertragen lassen.
robotto7831a Geschrieben 16. August 2009 Geschrieben 16. August 2009 Für den Anfang nicht schlecht. Hier ein paar Anmerkungen: goto Anweisungen sind pfuiman kann kein Zwischenergebnis bilden und mit diesen weiterrechnenwie beendet man dein Programm? Frank
flashpixx Geschrieben 16. August 2009 Geschrieben 16. August 2009 Was passiert bei Programm wenn Du 1/0 eingibst? Was passiert wenn Du a * b eingibst? Goto sollte man heute nicht mehr verwenden (intern auf Maschinenebene bleiben zwar Sprünge, aber in der Hochsprache umgeht man sie). Worin der Sinn in diesem Goto besteht, das zu einer Endlosschleife führt ist aber nicht klar
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden