C Programm zur Berechnung von Umfang und Flächeninhalt verschiedener geomatrischer Figuren

C Programm zur Berechnung von Umfang und Flächeninhalt verschiedener geomatrischer Figuren

C Program for calculating the volume and acreage different geometric figures.


Solution For C Program :

/* C Program for calculating the volume and acreage different geometric figures.*/

#include <stdio.h>
#include <string.h>

/* KONSTANTEN */
#define RECHTECK 1
#define DREIECK 2
#define KREIS 3
#define YES 'y'
#define ENDE 0
#define PI 3.14159265358979323846

/* PROTOTYPEN */
void rechteck(float, float);
void dreieck(float, float);
void kreis(float);
int control(void);
int menue(void);
float wertlesen();




//int *feld;
int feld[] = { 0,0 };
float umfang = 0.0;
float radius = 0.0;
float flaeche = 0.0;




rechteck(seiteA, seiteB)
{
float flaeche = 0.0;
float umfang = 0.0;
flaeche = seiteA*seiteB;
umfang = (2*seiteA)+(2*seiteB);
feld[0] = flaeche;
feld[1] = umfang;
printf("feld[0]: %d",feld[0]);
printf("feld[1]: %d",feld[1]);
}

dreieck(seite, hoehe)
{
float flaeche = 0.0;
flaeche = (seite*hoehe)/2;
feld[0] = flaeche;
//return flaeche;
}
kreis(radius)
{
float flaeche = 0.0;
float umfang = 0.0;
int r;
int u;
*r = radius*radius*PI;
*u = 2*PI*radius;
}

int main(void)
{
control();
}
/* Menüsteuerung */
menue(void)
{
int pruefeEingabe = 0;
int nutzerauswahl = 0;
char endzeichen = '\0';
printf("Bitte waehlen Sie:\n");
printf("1: Rechteck\n");
printf("2: Dreieck\n");
printf("3: Kreis\n");
printf("0: Beenden\n");
do
{
printf("\nBitte treffen Sie eine gültige Auswahl:\n");
// Nutzereingabe zur Menüauswahl
pruefeEingabe = scanf("%d%c",&nutzerauswahl,&endzeichen);
fflush(stdin);
}
while(pruefeEingabe !=2 || endzeichen != '\n'); //Ausschluss falscher Eingaben durch Benutzer
return nutzerauswahl;
}

/* Funktion zum Einlesen der notwendigen Zahlen für die Funktionen 1 bis 3 */
float wertlesen()
{
int pruefeEingabe = 0;
float zahl = 0.0;
char endzeichen = '\0';
do
{
// printf("Bitte geben Sie eine positive Zahl ein:\n");
// Nutzereingabe für Werte
pruefeEingabe = scanf("%f%c",&zahl,&endzeichen);
fflush(stdin);
}
while(pruefeEingabe !=2 || endzeichen != '\n' || zahl < 0);
printf("\n");
return zahl;
}

/* Kontroll-Funktion */
int control(void)
{
float *rzeiger;
int *uzeiger;
int *fzeiger;
rzeiger = &radius;
uzeiger = &umfang;
fzeiger = &flaeche;
int nutzerauswahl = 0;
float ersteZahl=0.0;
float zweiteZahl=0.0;
//float ergebnis = 0.0;
char endzeichen = '\0';
char weiter = '\0';
/* Startbedingungen und Überprüfung */
do
{
if(weiter!=YES)
{
// Ansteuerung des Menü
nutzerauswahl=menue();
// switch-case zur Menüsteuerung
switch(nutzerauswahl)
{
case RECHTECK: // Wertelesen
printf("\nBitte Laenge der Seite a eingeben: ");
ersteZahl=wertlesen();
printf("\nwertlesen: %f", ersteZahl);
printf("\nBitte Laenge der Seite b eingeben: ");
zweiteZahl=wertlesen();
printf("\nwertlesen: %f", zweiteZahl);
// Funktionsaufruf
rechteck(ersteZahl, zweiteZahl);
printf("\nDie Flaeche betraegt: %d.", feld[0]);
printf("\nDer Umfang betraegt: %d.", feld[1]);
break;
case DREIECK: // Wertelesen
printf("\nBitte Laenge der Grundseite eingeben: ");
ersteZahl=wertlesen();
printf("\nBitte Hoehe eingeben: ");
zweiteZahl=wertlesen();
// Funktionsaufruf
// ergebnis=dreieck(ersteZahl, zweiteZahl);
// Ergebnisauswertung
// printf("\nDie Flaeche betraegt: %d.",ergebnis);
printf("\nDie Flaeche betraegt: %d.", feld[0]);
break;
case KREIS: // Funktionsaufruf
printf("\nBitte Radius eingeben: ");
ersteZahl = wertlesen();
printf("\nDie Flaeche betraegt: %d.", *rzeiger);
printf("\nDer Umfang betraegt: %d.", *uzeiger);
break;
case ENDE: printf("\n\n");
break;
default: printf("\nSie haben keine gültige Auswahl getroffen.\n");
}
}
// Steuerung der Abbruchkriterien
else
{
nutzerauswahl=ENDE;
}
if(nutzerauswahl!=ENDE)
{
printf("\nWollen Sie das Programm beenden? y - ja, sonst beliebiges Zeichen angeben.\n");
// Nutzereingabe zur Wiederholung oder dem Abbruch des Programms
scanf("%c%c",&weiter,&endzeichen);
fflush(stdin);
if(weiter == YES && endzeichen != '\n')
{
nutzerauswahl=ENDE;
}
printf("\n\n");
}
}
while(nutzerauswahl!=ENDE);
}


Learn More :