Übung der Funktionsnutzung
In diesem letzten Schritt wenden Sie alles an, was Sie über Funktionen in C gelernt haben, indem Sie ein umfassendes Programm erstellen, das verschiedene Funktionstypen und deren Verwendung demonstriert.
Erstellen Sie eine Datei namens calculator.c
im Verzeichnis ~/project
:
cd ~/project
touch calculator.c
Nun schreiben wir ein Programm, das einen einfachen Taschenrechner mit verschiedenen Funktionen implementiert:
#include <stdio.h>
// Funktion zur Addition zweier Zahlen
int add(int a, int b) {
return a + b;
}
// Funktion zur Subtraktion zweier Zahlen
int subtract(int a, int b) {
return a - b;
}
// Funktion zur Multiplikation zweier Zahlen
int multiply(int a, int b) {
return a * b;
}
// Funktion zur Division zweier Zahlen mit Fehlerbehandlung
float divide(int a, int b) {
if (b == 0) {
printf("Error: Division by zero!\n");
return 0;
}
return (float)a / b;
}
// Void-Funktion zur Anzeige des Taschenrechner-Menüs
void display_menu() {
printf("\n--- Simple Calculator ---\n");
printf("1. Addition\n");
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n");
printf("Enter your choice: ");
}
int main() {
int choice, num1, num2;
float result;
while (1) {
display_menu();
scanf("%d", &choice);
// Abbruchbedingung
if (choice == 5) {
printf("Goodbye!\n");
break;
}
// Überprüfung der Eingabe
if (choice < 1 || choice > 4) {
printf("Invalid choice. Try again.\n");
continue;
}
// Benutzer-Eingabe abfragen
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
// Berechnung basierend auf der Benutzerauswahl durchführen
switch (choice) {
case 1:
result = add(num1, num2);
printf("Result: %d + %d = %d\n", num1, num2, (int)result);
break;
case 2:
result = subtract(num1, num2);
printf("Result: %d - %d = %d\n", num1, num2, (int)result);
break;
case 3:
result = multiply(num1, num2);
printf("Result: %d * %d = %d\n", num1, num2, (int)result);
break;
case 4:
result = divide(num1, num2);
printf("Result: %d / %d = %.2f\n", num1, num2, result);
break;
}
}
return 0;
}
Lassen Sie uns die wichtigsten Konzepte analysieren:
- Es werden verschiedene Funktionstypen verwendet (Rückgabewerte, void-Funktionen).
- Die Funktionen führen spezifische mathematische Operationen aus.
display_menu()
ist eine void-Funktion, die das Menü anzeigt.
- Die arithmetischen Funktionen geben berechnete Ergebnisse zurück.
- Die
main()
-Funktion implementiert einen menügesteuerten Taschenrechner.
- Es ist eine Fehlerbehandlung für Division durch Null enthalten.
- Ein
switch
-Statement wird verwendet, um die Operation auszuwählen.
Kompilieren und starten Sie das Programm:
gcc calculator.c -o calculator
./calculator
Beispielinteraktion:
--- Simple Calculator ---
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 1
Enter two numbers: 10 5
Result: 10 + 5 = 15
--- Simple Calculator ---
...
Enter your choice: 5
Goodbye!
Wichtige Punkte zur Funktionsnutzung:
- Kombinieren Sie verschiedene Funktionstypen.
- Verwenden Sie Funktionen, um komplexe Probleme zu zerlegen.
- Implementieren Sie Fehlerbehandlung.
- Erstellen Sie modularen und wiederverwendbaren Code.