Hallo, bin neu hier
und habe ein Problem und zwar habe ich ein Programm geschrieben, mit dessen Hilfe man zwischen verschiedenen Berechnungen wählen kann... In diesem Fall zwischen Kreis und Viereck und deren Unterpunkte:
-Kreis: Umfang, Fläche und Durchmesser
leider stürzt hierbei (egal welches man auswählt) direkt das Programm (Codeblocks) ab, bzw es kommt die Meldung dass das Programm nicht mehr Funktioniert....
-Viereck: Volumen, Grundfläche und Oberfläche
hier gibt er mir bei der Oberfläche einen völlig komischen Wert aus..
Quelltext folgt:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <conio.h>
#include <math.h>
void kreisberechnung();
double kreisflaeche(double radius);
double kreisumfang(double radius);
double kreisdurchmesser(double radius);
void vierecksberechnung();
double vierecksvolumen(double laenge, double breite, double hoehe);
double vierecksgrundflaeche(double laenge, double breite);
double vierecksoberflaeche(double laenge, double breite, double hoehe);
void bildschirmloeschen();
main()
{
int auswahl1;
bool ende = false;
printf("-Flaechenberechnung-\n\n");
printf("Bitte waehlen:\n");
printf("1. Kreis\n2. Viereck \n3. Beenden\n");
scanf("%d", &auswahl1);
switch(auswahl1)
{
case 1:
kreisberechnung();
bildschirmloeschen();
break;
case 2:
vierecksberechnung();
break;
case 3:
printf("Das Programm wird beendet.");
ende = true;
break;
}
}
void kreisberechnung()
{
double radius = 0;
int auswahl2;
printf("Bitte waehlen: \n");
printf("1. Flaeche \n2. Umfang \n3. Durchmesser\n");
scanf("%d", auswahl2);
switch(auswahl2)
{
case 1:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Die Flaeche betraegt: %.2lf", kreisflaeche(radius));
getch();
break;
case 2:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Der Umfang betraegt: %.2lf", kreisumfang(radius));
getch();
break;
case 3:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Der Durchmesser betraegt: %.2lf", kreisdurchmesser(radius));
getch();
break;
}
}
double kreisflaeche(double radius)
{
return 3.14159 * radius * radius;
}
double kreisumfang(double radius)
{
return 2 * 3.14159 * radius;
}
double kreisdurchmesser(double radius)
{
return 2 * radius;
}
void vierecksberechnung()
{
int auswahl2;
double laenge, breite, hoehe;
printf("Bitte waehlen:\n");
printf("1. Volumen \n2. Grundflaeche \n3. Oberflaeche\n");
scanf("%d", &auswahl2);
switch(auswahl2)
{
case 1:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &breite);
printf("Hoehe--> ");
scanf("%lf", &hoehe);
printf("Volumen: %.2lf", vierecksvolumen(laenge, breite, hoehe));
bildschirmloeschen();
getch();
break;
case 2:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &breite);
printf("Grundflaeche: %.2lf", vierecksgrundflaeche(laenge, breite));
bildschirmloeschen();
break;
case 3:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &laenge);
printf("Hoehe--> ");
scanf("%lf", &hoehe);
printf("Oberflaeche: %.2lf", vierecksoberflaeche(laenge, breite, hoehe));
bildschirmloeschen();
break;
}
}
double vierecksvolumen(double laenge, double breite, double hoehe)
{
return laenge * breite * hoehe;
}
double vierecksgrundflaeche(double laenge, double breite)
{
return laenge * breite;
}
double vierecksoberflaeche(double laenge, double breite, double hoehe)
{
return 2 * laenge * breite + 2 * laenge * hoehe + 2 * breite * hoehe;
}
void bildschirmloeschen()
{
getch();
system("cls");
}
wäre schön wenn ihr mir evtl helfen könntet.

-Kreis: Umfang, Fläche und Durchmesser
leider stürzt hierbei (egal welches man auswählt) direkt das Programm (Codeblocks) ab, bzw es kommt die Meldung dass das Programm nicht mehr Funktioniert....
-Viereck: Volumen, Grundfläche und Oberfläche
hier gibt er mir bei der Oberfläche einen völlig komischen Wert aus..
Quelltext folgt:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <conio.h>
#include <math.h>
void kreisberechnung();
double kreisflaeche(double radius);
double kreisumfang(double radius);
double kreisdurchmesser(double radius);
void vierecksberechnung();
double vierecksvolumen(double laenge, double breite, double hoehe);
double vierecksgrundflaeche(double laenge, double breite);
double vierecksoberflaeche(double laenge, double breite, double hoehe);
void bildschirmloeschen();
main()
{
int auswahl1;
bool ende = false;
printf("-Flaechenberechnung-\n\n");
printf("Bitte waehlen:\n");
printf("1. Kreis\n2. Viereck \n3. Beenden\n");
scanf("%d", &auswahl1);
switch(auswahl1)
{
case 1:
kreisberechnung();
bildschirmloeschen();
break;
case 2:
vierecksberechnung();
break;
case 3:
printf("Das Programm wird beendet.");
ende = true;
break;
}
}
void kreisberechnung()
{
double radius = 0;
int auswahl2;
printf("Bitte waehlen: \n");
printf("1. Flaeche \n2. Umfang \n3. Durchmesser\n");
scanf("%d", auswahl2);
switch(auswahl2)
{
case 1:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Die Flaeche betraegt: %.2lf", kreisflaeche(radius));
getch();
break;
case 2:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Der Umfang betraegt: %.2lf", kreisumfang(radius));
getch();
break;
case 3:
printf("Radius--> ");
scanf("%lf", &radius);
printf("Der Durchmesser betraegt: %.2lf", kreisdurchmesser(radius));
getch();
break;
}
}
double kreisflaeche(double radius)
{
return 3.14159 * radius * radius;
}
double kreisumfang(double radius)
{
return 2 * 3.14159 * radius;
}
double kreisdurchmesser(double radius)
{
return 2 * radius;
}
void vierecksberechnung()
{
int auswahl2;
double laenge, breite, hoehe;
printf("Bitte waehlen:\n");
printf("1. Volumen \n2. Grundflaeche \n3. Oberflaeche\n");
scanf("%d", &auswahl2);
switch(auswahl2)
{
case 1:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &breite);
printf("Hoehe--> ");
scanf("%lf", &hoehe);
printf("Volumen: %.2lf", vierecksvolumen(laenge, breite, hoehe));
bildschirmloeschen();
getch();
break;
case 2:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &breite);
printf("Grundflaeche: %.2lf", vierecksgrundflaeche(laenge, breite));
bildschirmloeschen();
break;
case 3:
printf("Laenge--> ");
scanf("%lf", &laenge);
printf("Breite--> ");
scanf("%lf", &laenge);
printf("Hoehe--> ");
scanf("%lf", &hoehe);
printf("Oberflaeche: %.2lf", vierecksoberflaeche(laenge, breite, hoehe));
bildschirmloeschen();
break;
}
}
double vierecksvolumen(double laenge, double breite, double hoehe)
{
return laenge * breite * hoehe;
}
double vierecksgrundflaeche(double laenge, double breite)
{
return laenge * breite;
}
double vierecksoberflaeche(double laenge, double breite, double hoehe)
{
return 2 * laenge * breite + 2 * laenge * hoehe + 2 * breite * hoehe;
}
void bildschirmloeschen()
{
getch();
system("cls");
}
wäre schön wenn ihr mir evtl helfen könntet.
