Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Описание программы - C++

27.05.2014, 16:59. Просмотров 748. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста с описанием, никак не могу понять как сделать его
Постановка задачи. Описание варианта решаемой задачи на естественном языке
Метод решения задачи. Описание решения задачи в математическом виде с пояснениями, связывающими алгоритм с методом решения задачи.
Вложение 404234

вот код моей программы
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
///////////////////////////////////////////////////////////////////////////////////////////////////////
//                  РАСЧЕТ ПОЛОЖЕНИЯ САМОЛЕТА ПО ИЗМЕРЕНИЯМ ЛОКАТОР НА БОРТУ ВС                      //
// Измерения: прямая дальность до ориентира (метры), высота полета ВС (метры),                       //
//            угол азимута на ориентир (градусы).                                                    //
// Положение: широта и долгота ВС (геогр. градусы), ошибка положения ВС (метры).                     //
// О г р а н и ч е н и я :                                                                           //
// Планета Земля считается плоской, 1 градус широты и долготы = 111120 метров                        //
// Бесконечный цикл ввода измерений. Для завершения программы закрыть окно!!!                        //
///////////////////////////////////////////////////////////////////////////////////////////////////////
 
#include<iostream>
#include<iomanip>
#include<cmath>
#include<stdlib.h>
#include<windows.h>
 
using namespace std;
 
main(void)
{
    setlocale(0,"");
    
    //параметры схемы измерения с инициализацией!!!
    
    double LatLok_deg=80;       //широта локатора в(град)
    double LonLok_deg=20;       //долгота локатора в(град)
    double ErrMeasDist_proc=1;  //погрешность измерения расстояний в(%)
    double ErrMeasAlt_proc=1;   //погрешность измерения высоты в(%)
    double ErrMeasAngle_deg=1;  //погрешность измерения углов в(гард)
 
    //измерение
    
    double StrDistToOr_m;       //прямая дальность до оринетира в(м)
    double AltitudeToAirp_m;    //высота полета ВС в(м)
    double AzimToOr_deg;        //азимут на ориентир в(град)
 
    //положение
    double LatAirp_deg;     //широта самолета в градусах ( - + на север)
    double LonAirp_deg;     //долгота самолета в градусах ( - + на восток)
    double ErrPosAirp_m;    //ошибка положения самолета в(м)
 
    //рабочие переменные
    double HorDistToOr_m;                   //гориз. дальность до ориентира в(м)
    double DistLokToOrLat_m;                //расстояние от локатора до ориентира по широте в(м)
    double DistLokToOrLon_m;                //расстояние от локатора до ориентира по долготе в(м)
    double AngleHorDistToEast_rad;          //угол гор.дальности с востоком в(рад)
    double Pi=3.14159, DegToRad=Pi/180.0;   //Pi и коэф. перевода (град) в (рад)
    double MeterToGeoDeg=1.0/111120;        //коэф. перевода метров в геогр.градусы плоской Земли
    double ErrHorDist_m,ErrAzim_m;          //ошибки по дальности и азимуту в(м)
 
    cout<<(LPCTSTR)"РАСЧЕТ ПОЛОЖЕНИЯ САМОЛЕТА ПО ИЗМЕРЕНИЯМ ЛОКАТОР НА БОРТУ ВС "<<endl
        <<"Измерения: прямая дальность до ориентира (метры), высота полета ВС (метры), угол азимута на ориентир (градусы). "<<endl
        <<"Положение: широта и долгота ВС (геогр. градусы), ошибка положения ВС (метры).";
 
    cout<<endl
        <<"Планета Земля считается плоской, 1 градус широты и долготы = 111120 метров"<<endl
        <<"Бесконечный цикл ввода измерений. Для завершения программы закрыть окно!!!"<<endl;
 
    //ввод параметров схемы измерения с отображением в консоли
    cout<<endl<<"Введите параметры схемы измерения"<<endl;
    cout<<"широта локатора в градусах:                  ";  cin>>LatLok_deg;
    cout<<"долгота локатора в градусах:                 ";  cin>>LonLok_deg;
    cout<<"погрешность измерения расстояний в процентах ";  cin>>ErrMeasDist_proc;
    cout<<"погрешность измерения высоты в процентах     ";  cin>>ErrMeasAlt_proc;
    cout<<"погрешность измерения углов в градусах       ";  cin>>ErrMeasAngle_deg;
 
REPEAT:    //повторения расчета
 
    //ввод измерения
    cout<<endl<<"Введите азимут на ориентир в градусах ";   cin>>AzimToOr_deg;
    cout      <<"Введите дальность до ориентира в метрах "; cin>>StrDistToOr_m;
    cout      <<"Введите высоту полета ВС в метрах ";       cin>>AltitudeToAirp_m;
    
    //если ошибка диапазона данных, повторить расчет
    if(AzimToOr_deg<0||AzimToOr_deg>=360||StrDistToOr_m<0||StrDistToOr_m<AltitudeToAirp_m) goto REPEAT;
 
    //расчет координат самолета и ошибки положения
      //расстояния от локатора до ориентира по широте и долготе и ошибки в метрах
        //если ВС над ориентиром, то особый случай расчета
    if(fabs(StrDistToOr_m - fabs(AltitudeToAirp_m))<0.0001)
    {
    //расстояния от локатора до ориентира по широте и долготе в метрах = 0
      DistLokToOrLat_m=DistLokToOrLon_m=0.0;
    //ошибка положения в метрах
      ErrPosAirp_m=AltitudeToAirp_m*ErrMeasAlt_proc*0.01;
    }
    else
    {
      HorDistToOr_m = sqrt(pow(StrDistToOr_m, 2) - pow(AltitudeToAirp_m, 2)); //расчет горизонтальной дальности в метрах
      AngleHorDistToEast_rad=(90-AzimToOr_deg)*DegToRad;                      //расчет угла гор.дальности с востоком в радианах
      DistLokToOrLon_m=HorDistToOr_m * cos(AngleHorDistToEast_rad);           //расстояние от локатора до самолета по долготе в метрах
      DistLokToOrLat_m=HorDistToOr_m * sin(AngleHorDistToEast_rad);           //расстояние от локатора до самолета по широте в метрах
 
      //ошибка по дальности = дальность * погрешность измерения дальности
      ErrHorDist_m=HorDistToOr_m*sqrt(pow(ErrMeasDist_proc, 2) - pow(ErrMeasAlt_proc, 2))*0.01;
      
      //ошибка по азимуту = дальность * sin(погрешность измерения угла)
      ErrAzim_m=HorDistToOr_m*sin(ErrMeasAngle_deg*DegToRad);
      
      //ошибка положения = максимальной из них
      ErrPosAirp_m=max(ErrHorDist_m,ErrAzim_m);
    }
    
    LatAirp_deg = LatLok_deg + DistLokToOrLat_m * MeterToGeoDeg;
    LonAirp_deg = LonLok_deg + DistLokToOrLon_m * MeterToGeoDeg;
 
  //вывод координат самолета и ошибки
  cout<<endl<<"азимут= "<<AzimToOr_deg<<"(град)"<<endl;
  cout<<"дальность= "<<StrDistToOr_m<<"(м)"<<endl;
  cout<<"высота= "<<AltitudeToAirp_m<<"(м)"<<endl;
  cout<<"широта= "<<LatAirp_deg<<"(град)"<<endl;
  cout<<"долгота= "<<LonAirp_deg<<"(град)"<<endl;
  cout<<"ошибка= "<<ErrPosAirp_m<<"(м)  "<<endl;
 
 
goto REPEAT; //повторить расчет
 
  system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 16:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описание программы (C++):

Описание программы - C++
Помогите разобратся в программе... кто нибудь может написать описание к каждой строчке?? Вот текст программы: #include &lt;stdio.h&gt; ...

описание программы - C++
#include &lt;stdio.h&gt; #define MIN(a, b) ( (a) &gt; (b) ? (b) : (a) ) #define MAX(a, b) ( (a) &lt; (b) ? (b) : (a) ) #define MIN3(a, b, c)...

Пошаговое описание программы - C++
Ребят можете пошагово рассказать программу готовую #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;string&gt; ...

Описание и пример программы - C++
Здравствуйте! У меня вот такая проблема. Тема: &quot;Менеджер закачек&quot;. Нужно написать синтаксис языка программирования в расширенной...

Описание работы программы - C++
помогите, пожалуйста, описать работу программы #include &lt;iostream&gt; using namespace std; unsigned to_seconds(unsigned hours,...

Сделать описание программы на классы - C++
Нужно составить описание этой программы #ifndef complexH #define complexH #include &lt;math.h&gt; ...

4
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
28.05.2014, 01:04  [ТС] #2
тема всё ещё актуальна
0
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
30.05.2014, 15:47  [ТС] #3
актуально
0
SatanaXIII
Супер-модератор
Эксперт С++
5618 / 2653 / 246
Регистрация: 01.11.2011
Сообщений: 6,550
Завершенные тесты: 1
30.05.2014, 15:58 #4
Цитата Сообщение от Kora Посмотреть сообщение
Помогите пожалуйста с описанием
Что значит "с описанием"? Код прокомментировать?
0
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
30.05.2014, 16:16  [ТС] #5
Цитата Сообщение от SatanaXIII Посмотреть сообщение
з
Описание варианта решаемой задачи на естественном языке
Описание решения задачи в математическом виде с пояснениями, связывающими алгоритм с методом решения задачи.

Добавлено через 1 минуту
Я принесла этот код без комментариев и меня преподаватель заставил прокомментировать все строки.
Когда я это прокомментировала, он сказал чтоб я ещё и это сделала...
0
30.05.2014, 16:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 16:16
Привет! Вот еще темы с ответами:

Где пишется описание для выходного файла .exe (например описание процесса) - C++
Консольный проект, скомпилировали, получили exe. Жмем правой кнопкой на нем\свойства\вкладка подробно, почти все описание exe файла...

Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание - C++
Начал изучать программирование на С++, делаю упражнения из книги Мюррэй Хилл, Нью Джерси Бьярн Страустрап &quot;Язык C++&quot; Программу &quot;Hello,...

описание функции - C++
Описать функцию mmax(x,y), которая присваивает первому парамтру большее,а второму - меньшее из значений x и y.Используя эту...

Описание структуры - C++
Заранее извиняюсь, если кому-то мой вопрос покажется слишком уж элементарным и не стоящим внимания, но я зашел уже в тупик :( Итак,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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