Einführung
In diesem Projekt werden wir lernen, wie man mithilfe der Programmiersprache C einen einfachen Taschenrechner erstellt. Der Taschenrechner soll in der Lage sein, grundlegende arithmetische Operationen wie Addition, Subtraktion, Multiplikation und Division durchzuführen. Wir werden auch Überprüfungen implementieren, um sicherzustellen, dass die Benutzereingabe gültig ist, und Fälle behandeln, in denen die Eingabe zu undefiniertem Verhalten führt.
👀 Vorschau
$./Calculator
32+11
=43.000000
$./Calculator
41-34.9
=6.100000
$./Calculator
10/2
=5.000000
$./Calculator
2*4
=8.000000
$./Calculator
10%3
=1
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie man in C Benutzereingaben mit
scanf()erhält - Wie man das Format des eingegebenen arithmetischen Ausdrucks überprüft
- Wie man arithmetische Berechnungen basierend auf der Benutzereingabe durchführt
- Wie man Division durch Null-Fehler behandelt
- Wie man den Restoperator nur für ganzzahlige Operanden implementiert
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Zu verstehen, wie man in C Benutzereingaben erhält
- Verschiedene arithmetische Operationen in C umzusetzen
- Fehlerprüfungen durchzuführen und ungültige Eingaben zu behandeln
- C-Programme mit dem
gcc-Compiler zu kompilieren und auszuführen
Benutzereingabe erhalten
Das Erhalten von Benutzereingaben ist sehr einfach. Man kann die formatierten Eingabe-Ausgabe-Funktionen printf() und scanf() der C-Sprache verwenden.
Hier ist der Programmcode, der für das Lesen von Benutzereingaben verantwortlich ist:
#include<stdio.h>
int main()
{
double number1=0.0; // Definiert das erste Operand
double number2=0.0; // Definiert das zweite Operand
char operation=0; // operation sollte '+', '-', '*', '/' oder '%' sein
printf("\nGeben Sie die Berechnung ein\n");
scanf("%lf%c%lf",&number1,&operation,&number2);
return 0;
}
Formatprüfung und Durchführung von Berechnungen
Die nächste Funktionalität, die unser Programm implementieren muss, ist die Überprüfung des Formats des eingegebenen arithmetischen Ausdrucks.
Die grundlegende Überprüfung besteht darin, zu bestimmen, ob die in der Eingabe angegebenen Operation gültig ist. Die gültigen Operationen sind +, -, *, /, %, also müssen wir überprüfen, ob die eingegebene Operation zu dieser Menge gehört.
Zusätzlich ist zu beachten, dass wenn die Operation / oder % ist, das zweite Operand nicht 0 sein darf. Wenn es 0 ist, ist die Operation ungültig.
Die Logik für diese Überprüfungen kann mit if-Anweisungen implementiert werden. Alternativ bietet eine switch-Anweisung eine bessere und präzisere Möglichkeit, dies zu behandeln. Sie ist einfacher zu verstehen und weniger umständlich als eine Reihe von if-Anweisungen.
switch(operation)
{
case '+':
printf("=%lf\n",number1+number2);
break;
case '-':
printf("=%lf\n",number1-number2);
break;
case '*':
printf("=%lf\n",number1*number2);
break;
case '/':
if(number2==0)
printf("\n\n\aDivision by zero error!\n");
else
printf("=%lf\n",number1/number2);
break;
case '%':
if((long)number2==0)
printf("\n\n\aDivision by zero error!\n");
else
printf("=%ld\n",(long)number1%(long)number2);
break;
default:
printf("\n\n\aInvalid operation!\n");
break;
}
Der Restoperator % hat keine Bedeutung für float- oder double-Typen, da diese präzise Ergebnisse darstellen können. Der %-Operator hat nur Bedeutung, wenn er auf ganzzahlige Typen angewendet wird. Daher müssen die Operanden vor der Anwendung dieses Operators in Ganzzahlen umgewandelt werden. Wenn der Operator % ist, wird das zweite Operand in eine Ganzzahl umgewandelt. Daher reicht es nicht, nur zu überprüfen, ob das zweite Operand 0 ist, sondern auch, ob der Wert von number2 0 ist, wenn er in einen long umgewandelt wird. Beispielsweise ist 0.5 nicht 0, wird aber in eine Ganzzahl umgewandelt, wird es 0.
Kompilieren und Ausführen von Dateien
Nachdem Sie die Programmdatei geschrieben haben, können Sie die Quell-Datei kompilieren, um eine ausführbare Datei zu erhalten. Der Befehl zum Kompilieren lautet wie folgt:
gcc -o Calculator Calculator.c
Hinweis: Das Format des obigen
gcc-Befehls lautetgcc -o output_filename source_filename.c. Wenn kein "output_filename" angegeben wird, ist der Standard-Ausgabedateinamea.out.
An diesem Punkt werden Sie in dem Verzeichnis eine neue Datei namens Calculator bemerken. Dies ist die ausführbare Datei, die wir nach der Kompilierung und Verknüpfung der Quell-Datei erhalten haben. Um sie auszuführen, verwenden Sie den Befehl ./Calculator.
./Calculator
$./Calculator
32+11
=43.000000
$./Calculator
41-34.9
=6.100000
$./Calculator
10/2
=5.000000
$./Calculator
2*4
=8.000000
$./Calculator
10%3
=1
Zusammenfassung
In diesem Projekt haben wir die C-Sprache verwendet, um einen einfachen Taschenrechner zu erstellen. Derzeit hat der Taschenrechner eingeschränkte Funktionen und kann nur einfache Berechnungen mit zwei Operanden unterstützen. Schüler können diesen Taschenrechner weiter erweitern, indem sie beispielsweise die Unterstützung für mehrere Operanden hinzufügen oder einen Operator-Präzedenz-Mechanismus einführen.



