Другие языки программирования и технологии

Как написать программу решения следующей задачи?

"Составить программу вычисляющую в зависимости от введенного признака n площадь одного тела: n=1 - прямоугольника; n=2 - круга; n=3 - треугольника. В соотвествии с введенным признаком выполнить ввод необходимых исходных данных в диалоговом режиме."

и как составить программу для вычисления и для вычисления по формулам, какие нужны команды
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <windows.h>
#define PI 3.141592
void circleArea(float);
void triangleArea(float, float, float);
void rectangleArea(float, float);
void menu();
void dataInput(int);
void error(int);
void main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");
menu();
}
void circleArea(float r)
{
printf("\n Площадь круга = %.4f", PI * r * r);
return;
}
void triangleArea(float a, float b, float c)
{
if (a + b > c && a + c > b && b + c > a)
{
float p = (abs(a) + abs(b) + abs(c)) / 2;
float area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("\n Площадь треугольника = %.4f", area);
return;
}
else error(2);
}
void rectangleArea(float a, float b)
{
printf("\n Площадь прямоугольника = %.4f", abs(a * b));
return;
}
void menu()
{
do
{
system("cls");
int choice;
printf("\n Для вычисления площади круга введите 1:");
printf("\n Для вычисления площади треугольника введите 2:");
printf("\n Для вычисления площади прямоуголника введите 3:");
printf("\n Для выхода из программы введите 0: ");
scanf("%d", &choice);

switch ( choice )
{
case 0: exit(0);
case 1:
case 2:
case 3: dataInput(choice); break;
default: error(1);
}
}
while (1);
}
void dataInput(int call)
{
switch ( call )
{
float a, b, c;
case 1:
printf("\n Дан круг с радиусом r.");
printf("\n Введите радиус круга: ");
scanf("%f", &a);
circleArea(a);
break;
case 2:
printf("\n Дан треугольник со сторонами a, b, c.");
printf("\n Введите сторону a: ");
scanf("%f", &a);
printf("\n Введите сторону b: ");
scanf("%f", &b);
printf("\n Введите сторону c: ");
scanf("%f", &c);
triangleArea(a, b, c);
break;
case 3:
printf("\n Дан прямоугольник со сторонами a, b.");
printf("\n Введите сторону a: ");
scanf("%f", &a);
printf("\n Введите сторону b: ");
scanf("%f", &b);
rectangleArea(a, b);
break;
}
getch();
menu();
}
void error(int err)
{
switch( err )
{
case 1:
printf("\n Ошибка при выборе пункта меню! \a");
Sleep(1000);
printf("\n Повторите, пожалуйста, ввод. ");
Sleep(1500);
menu();
break;
case 2:
printf("\n Треугольник не существует! \a");
Sleep(2000);
menu();
break;
}
}
Botir Nishonov
Botir Nishonov
58 431
Лучший ответ
молча
Язык? Если это делфи - то без проблем.

Похожие вопросы