Eingaben zur Laufzeit, Dreiecksberechnung

Letztes Update 2020/10/07 12:08
An der Konsole starten wir den Editor Nano:

nano dreieck.c

Hier geben wir folgendes ein:

/* dreieck.c Eingabe zur Laufzeit Dreiecksberechnung nach dem Satz des Heron scanf(), sqrt(), <math.h> 25.9.2020 */ #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { float a, b, c, F, U, s, inkr, umkr; printf("\nDreiecksberechnung nach dem Satz des Heron\n"); printf("Als Eingabe werden die Seiten a, b und c des Dreiecks benötigt!\n"); printf("\n"); printf("Seite a [mm]: "); scanf("%f", &a); printf("Seite b [mm]: "); scanf("%f", &b); printf("Seite c [mm]: "); scanf("%f", &c); printf("\n===========================\n"); // printf("\nSeite a = %.2f\nSeite b = %.2f\nSeite c = %.2f\n", a, b, c); printf("\nUmfang = %.2f mm\n", a+b+c); s = (a+b+c)/2; F = sqrt(s*(s-a)*(s-b)*(s-c)); printf("Fläche = %.2f mm2\n", F); inkr = 2*F/(a+b+c); printf("Radius Inkreis = %.2f mm\n", inkr); umkr = (a*b*c)/(4*F); printf("Radius Umkreis = %.2f mm\n", umkr); printf("\n===========================\n"); return 0; }

mit Strg+o den Text speichern und mit Strg+x den Editor verlassen.

Die neuen Funktionen im Listing

Mit der Funktion sqrt() wird die Quadratwurzel des in der Klammer befindlichen Wertes berechnet. sqrt() wird in C über math.h eingebunden. Aus einer negativen Zahl kann keine Quadratwurzel gebildet werden. Weitere Info

Das &-Zeichen in der scanf() Funktion ist der Adressoperator, der aber nur bei numerischen Werten verwendet werden darf. Bei der Eingabe von Zeichenketten darf dieser Adressoperator nicht verwendet werden.

Das Programm Compilieren

gcc enthält aus historischen Gründen standardmäßig nicht die mathematischen Funktionen. Sie wurden auch von libc in eine separate Bibliothek libm getrennt. Um mit diesen Funktionen zu verknüpfen, muss der Linker angewiesen werden, die Option Bibliothek -l Linker gefolgt vom Bibliotheksnamen m also -lm einzuschließen. Daher mus der Befehl zum Compilieren wie folgt lauten:

gcc -o dreieck dreieck.c -lm

Ausgeführt wird das Programm, indem folgendes eingegeben wird:

./dreieck

Die Ausgaben an der Konsole könnten dann so aussehen:

pi@server:~/c_kurs $ ./dreieck
Dreiecksberechnung nach dem Satz des Heron
Als Eingabe werden die Seiten a, b und c des Dreiecks benötigt!
Seite a [mm]: 3
Seite b [mm]: 4
Seite c [mm]: 5
===========================
Umfang = 12.00 mm
Fläche = 6.00 mm2
Radius Inkreis = 1.00 mm
Radius Umkreis = 2.50 mm
===========================
pi@server:~/c_kurs $