Администратор
Уровень 999
Сообщений: 2104
Дата: Четверг, 02.01.2014, 00:47:48 | Сообщение # 1 |
Offline
|
Курсова робота на тему: Калькулятор для підрахунку площі та периметру геометричних фігур
Код #include <stdlib.h> #include <stdio.h> #include <math.h> #include <locale.h> #define Pi 3.141592 #define Rad 0.0174532925
void AreaTriangleBaseHeight(){ double S; int b, h; printf("\n Введите основание b: "); scanf_s("%d", &b); printf(" Введите высоту h: "); scanf_s("%d", &h); S=0.5*b*h; printf("\n S = %f\n",S); }
void AreaTriangleSideAngle(){ double S; int a, b, c; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); printf(" Введите синус угла: "); scanf_s("%d", &c); S=0.5*a*b*sin((double) c*Rad); printf("\n S = %f\n",S); }
void AreaTriangleHeron(){ double S, p; int a, b, c; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); printf(" Введите сторону c: "); scanf_s("%d", &c); p=0.5*(a+b+c); S=sqrt((double)p*(p-a)*(p-b)*(p-c)); printf("\n S = %f\n",S); }
void PerimeterTriangle(){ double S; int a, b, c; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); printf(" Введите сторону c: "); scanf_s("%d", &c); S=a+b+c; printf("\n S = %f\n",S); }
void AreaRectangle(){ double S; int a, b; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); S=a*b; printf("\n S = %f\n",S); }
void PerimeterRectangle(){ double S; int a, b; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); S=2*(a+b); printf("\n S = %f\n",S); }
void AreaSquareSide(){ double S; int a; printf("\n Введите сторону a: "); scanf_s("%d", &a); S=pow((double)a,2); printf("\n S = %f\n",S); }
void AreaSquareDiagonal(){ double S; int d; printf("\n Введите диагональ d: "); scanf_s("%d", &d); S=pow((double)d,2)/2; printf("\n S = %f\n",S); }
void AreaPerimeterSide(){ double S; int a; printf("\n Введите сторону a: "); scanf_s("%d", &a); S=4*a; printf("\n S = %f\n",S); }
void AreaPerimeterSideDiagonal(){ double S; int d; printf("\n Введите диагональ d: "); scanf_s("%d", &d); S=2*sqrt((double)2)*d; printf("\n S = %f\n",S); }
void AreaTrapezoidBaseHeight(){ double S; int a, b, h; printf("\n Введите основание a: "); scanf_s("%d", &a); printf(" Введите основание b: "); scanf_s("%d", &b); printf(" Введите высоту h: "); scanf_s("%d", &h); S=0.5*(a+b)*h; printf("\n S = %f\n",S); }
void AreaTrapezoidMidlineHeight(){ double S; int m, h; printf("\n Введите среднюю линию m: "); scanf_s("%d", &m); printf(" Введите высоту h: "); scanf_s("%d", &h); S=m*h; printf("\n S = %f\n",S); }
void PerimeterTrapezoid(){ double S; int a, b, c, d; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); printf(" Введите сторону c: "); scanf_s("%d", &c); printf(" Введите сторону d: "); scanf_s("%d", &d); S=a+b+c+d; printf("\n S = %f\n",S); }
void AreaParallelogramBaseHeight(){ double S; int a, h; printf("\n Введите основание a: "); scanf_s("%d", &a); printf(" Введите высоту h: "); scanf_s("%d", &h); S=a*h; printf("\n S = %f\n",S); }
void AreaParallelogramTwoSidesAngleBetween(){ double S; int a, b, c; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf("\n Введите сторону b: "); scanf_s("%d", &b); printf(" Введите синус угла: "); scanf_s("%d", &c); S = a*b*sin((double) c*Rad); printf("\n S = %f\n",S); }
void PerimeterParallelogram(){ double S; int a, b; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите сторону b: "); scanf_s("%d", &b); S=2*(a+b); printf("\n S = %f\n",S); }
void AreaRhombusBaseAreaHeight(){ double S; int a, h; printf("\n Введите основание a: "); scanf_s("%d", &a); printf(" Введите высоту h: "); scanf_s("%d", &h); S=a*h; printf("\n S = %f\n",S); }
void AreaRhombusSideAngle(){ double S; int a, c; printf("\n Введите сторону a: "); scanf_s("%d", &a); printf(" Введите синус угла: "); scanf_s("%d", &c); S = a*a*sin((double) c*Rad); printf("\n S = %f\n",S); }
void AreaRhombusDiagonal(){ double S; int a, b; printf("\n Введите диагональ d1: "); scanf_s("%d", &a); printf("\n Введите диагональ d2: "); scanf_s("%d", &b); S = 0.5*a*b; printf("\n S = %f\n",S); }
void PerimeterRhombusSide(){ double S; int a; printf("\n Введите сторону a: "); scanf_s("%d", &a); S=4*a; printf("\n S = %f\n",S); }
void PerimeterRhombusDiagonal(){ double S; int a, b; printf("\n Введите диагональ d1: "); scanf_s("%d", &a); printf("\n Введите диагональ d2: "); scanf_s("%d", &b); S=4*sqrt((double)pow((double) a/2,2)+pow((double) b/2,2)); printf("\n S = %f\n",S); }
void AreaCircleRadius(){ double S; int R; printf("\n Введите радиус R: "); scanf_s("%d", &R); S=Pi*pow((double) R,2); printf("\n S = %f\n",S); }
void AreaCircleDiameter(){ double S; int D; printf("\n Введите диаметр D: "); scanf_s("%d", &D); S=Pi*(pow((double) D,2)/4); printf("\n S = %f\n",S); }
void PerimeterCircleRadius(){ double S; int R; printf("\n Введите радиус R: "); scanf_s("%d", &R); S=2*Pi*R; printf("\n S = %f\n",S); }
void PerimeterCircleDiameter(){ double S; int D; printf("\n Введите диаметр D: "); scanf_s("%d", &D); S=Pi*D; printf("\n S = %f\n",S); }
int main(){ system("color f0" ); setlocale(0, ""); int i, n=1, q=0; while(n){ printf("\n Что Вы хотите получить ?\n\n"); printf(" 1 - Площадь геометрических фигур ?\n"); printf(" 2 - Периметр геометрических фигур ?\n\n "); scanf_s("%d", &i); switch (i){ case 1: printf("\n 1 - Площадь треугольника ?\n"); printf(" 2 - Площадь прямоугольника ?\n"); printf(" 3 - Площадь квадрата ?\n"); printf(" 4 - Площадь трапеции ?\n"); printf(" 5 - Площадь параллелограмма ?\n"); printf(" 6 - Площадь ромба ?\n"); printf(" 7 - Площадь круга ?\n\n "); scanf_s("%d", &i);
switch (i){ case 1: printf("\n 1 - Через основание и высоту ?\n"); printf(" 2 - Через стороны и угол ?\n"); printf(" 3 - Через формулу Герона ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaTriangleBaseHeight(); break; case 2: AreaTriangleSideAngle(); break; case 3: AreaTriangleHeron(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 2: AreaRectangle(); break; case 3: printf("\n 1 - Через сторону ?\n"); printf(" 2 - Через диагональ ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaSquareSide(); break; case 2: AreaSquareDiagonal(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 4: printf("\n 1 - Через основания и высоту ?\n"); printf(" 2 - Через среднюю линию и высоту ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaTrapezoidBaseHeight(); break; case 2: AreaTrapezoidMidlineHeight(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 5: printf("\n 1 - Через основания и высоту ?\n"); printf(" 2 - Через две стороны и угол между ними ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaParallelogramBaseHeight(); break; case 2: AreaParallelogramTwoSidesAngleBetween(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 6: printf("\n 1 - Через основание и высоту ?\n"); printf(" 2 - Через сторону и угол ?\n"); printf(" 3 - Через диагонали ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaRhombusBaseAreaHeight(); break; case 2: AreaRhombusSideAngle(); break; case 3: AreaRhombusDiagonal(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 7: printf("\n 1 - Через радиус ?\n"); printf(" 2 - Через диаметр ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaCircleRadius(); break; case 2: AreaCircleDiameter(); break; default: printf("\n Вы ничего не выбрали\n "); } break; default: printf("\n Вы ничего не выбрали\n "); } break; case 2:
printf("\n 1 - Периметр треугольника ?\n"); printf(" 2 - Периметр прямоугольника ?\n"); printf(" 3 - Периметр квадрата ?\n"); printf(" 4 - Периметр трапеции ?\n"); printf(" 5 - Периметр параллелограмма ?\n"); printf(" 6 - Периметр ромба ?\n"); printf(" 7 - Периметр круга ?\n\n "); scanf_s("%d", &i);
switch (i){ case 1: PerimeterTriangle(); break; case 2: PerimeterRectangle(); break; case 3: printf("\n 1 - Через сторону ?\n"); printf(" 2 - Через диагональ ?\n "); scanf_s("%d", &i); switch (i){ case 1: AreaPerimeterSide(); break; case 2: AreaPerimeterSideDiagonal(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 4: PerimeterTrapezoid(); break; case 5: PerimeterParallelogram(); break; case 6: printf("\n 1 - Через сторону ?\n"); printf(" 2 - Через диагонали ?\n "); scanf_s("%d", &i); switch (i){ case 1: PerimeterRhombusSide(); break; case 2: PerimeterRhombusDiagonal(); break; default: printf("\n Вы ничего не выбрали\n "); } break; case 7: printf("\n 1 - Через радиус ?\n"); printf(" 2 - Через диаметр ?\n "); scanf_s("%d", &i); switch (i){ case 1: PerimeterCircleRadius(); break; case 2: PerimeterCircleDiameter(); break; default: printf("\n Вы ничего не выбрали\n "); } break; default: printf("\n Вы ничего не выбрали\n "); } break; default: printf("\n Вы ничего не выбрали\n "); } printf("\n Хотите продолжить Да - 1 / Нет - 0 ? "); scanf_s("%d", &q); if(q==0) n=0; system("cls"); } return 0; }
Подпись пользователя
|
|
| |