Strukturen "struct"
Aufgabenstellung:
Schreiben Sie bitte ein C-Programm zur Berechnung der Grundoperationen (+, -, *, /)
von zwei komplexen Zahlen. Dazu definieren Sie folgende Struktur:
CCode:
CCode:
complex add (complex x, complex y); // Addition zweier komplexen Zahlen
complex sub (complex x, complex y); // Subtraktion zweier komplexen Zahlen
complex mul (complex x, complex y); // Multiplikation zweier komplexen Zahlen
complex div (complex x, complex y); // Division zweier komplexen Zahlen
void print(complex z); // Ausgabe des Ergebnisses
Lösung:
CCode complex.h:
typedef struct {complex add (complex x, complex y);
complex sub (complex x, complex y);
complex mul (complex x, complex y);
complex div (complex x, complex y);
void print(complex z);
CCode complex.c:
#include "complex.h"CCode:
#include <stdio.h>Das Testprogramm liefert folgende Ausgabe :
Ausgabe stdout:
Testbeginn:
(3.01+2.50i) + (7.23+4.56i)=(10.24+7.06i)
(3.01+2.50i) - (7.23+4.56i)=(-4.22-2.06i)
(3.01+2.50i) * (7.23+4.56i)=(10.36-4.35i)
(3.01+2.50i) / (7.23+4.56i)=(0.38-0.16i)
(3.01+2.50i) / (0.00+0.00i)=(0.00+0.00i)
Test Ende!
mit den Fehlern
Ausgabe stderr:
Divide by Null error!: No error