Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
12345678
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 54
#1

Площадь многоугольников - C++

19.09.2012, 19:24. Просмотров 565. Ответов 3
Метки нет (Все метки)

Дана задача: Компонент ListBox содержит названия правильных многоугольников. Составить программу, вычисляющую площадь выбранного многоугольника по введенной длине стороны.

Нашла формулу, по которой можно вычислить площадь любого правильного многоугольника - S= (na^2)/(4 tan⁡〖(180/n)〗 ) где n - количество сторон, а - длина стороны

Текст программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a,b, cm2, n;
switch (ListBox1->ItemIndex)
{case 0: n=3;break;
case 1: n=4;break;
case 2: n=5;break;
case 3: n=6;break;
case 4: n=7;break;
case 5: n=8;break;
case 6: n=9;break;
case 7: n=10;break;
}
a=StrToFloat(Edit1->Text);
b=180/n;
cm2=(n*(pow(a,2)))/(4*(tan(b))) ;
Label3->Caption="Площадь многоугольника " +
FloatToStrF(cm2,ffFixed,6,3) + " см ";
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ListBox1->ItemIndex=0;
}
//---------------------------------------------------------------------------
В итоге программа работает, но считает не правильно. Например, когда выбираешь длину 5 и многоугольник квадрат, программа выдает число 15, хотя должно быть 25.

Подскажите, что не так в программе? Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2012, 19:24     Площадь многоугольников
Посмотрите здесь:

Площадь пересечения многоугольников - C++
Мне дали задачу с непонятной условий для меня. Помогите понять а то до меня доходит. Вот само условие: Даны два прямоугольника, каждый...

Проверить лежит ли один из многоугольников строго внутри другого и определить площади многоугольников - C++
Два выпуклых многоугольника заданы на плоскости перечислением координат вершин в порядке обхода границы. Проверить лежит ли один из них...

Пересечение двух многоугольников - C++
Имеются два многоугольника, например два пятиугольника, координаты заданны массивом объектов класса точка. Надо определить, пересекаются...

Координаты вершин многоугольников - C++
...люди добрые....не знаю как это сделать - . Среди заданных координатами вершин многоугольников на плоскости найти многоугольник с...

Приложение должно обеспечивать формирование и редактирование группы фигур многоугольников и эллипсов - C++
Разрабатываемое приложение должно обеспечивать формирование и редактирование группы геометрических фигур в виде многоугольников и эллипсов...

Вычислить площадь многоугольника с использованием функции,которая определяет площадь по координатам его вершин - C++
Народ помогите пож нужно очень срочно. совсем запутался с этим задание,буду благодарен за помощь. Вычислить площадь многоугольника с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fler
208 / 210 / 9
Регистрация: 20.12.2011
Сообщений: 635
19.09.2012, 19:41     Площадь многоугольников #2
предположу, что стоит использовать не 180/n, а M_PI/n, т.к. тригонометрические функции принимают аргументы не в градусах, а в радианах
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
19.09.2012, 19:43     Площадь многоугольников #3
я бы посоветовал вместо 180 использовать 3.1415926
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2012, 19:45     Площадь многоугольников
Еще ссылки по теме:

Определить площадь круга и площадь заштрихованных областей - C++
Помогите с ответом, как сделать задачу: Напишите функцию double circle_area(double R) которая узнает площадь круга, . С помощью...

Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов... - C++
Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов,...

Площадь - C++
По случаю юбилея города было принято решение о замощение площади прямоугольными гранитными плитами. Каждая плита имеет размер K × L метров....

площадь треугольника - C++
Помогите сделать прогу. Пож. Условие: Напишите программу, которая вычисляет площадь треугольника, если известны координаты его углов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12345678
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 54
19.09.2012, 19:45  [ТС]     Площадь многоугольников #4
Да!Это помогло! Спасибо большое)
Yandex
Объявления
19.09.2012, 19:45     Площадь многоугольников
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru