Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
1

книга стивен прата как справиться с задачей стр 342 листинг 7.12

02.04.2016, 21:35. Показов 663. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
стивен прата 6 издание. стр 343 листинг 7.12 strctfun
переписал код, код полностью работает и проблем в этом нет, но при вводе данных по книге, я получаю иные результаты. так как я плохо понимаю формулы координат, я не смог найти причину проблемы.
при воде 30 40 программа должна дать такие результаты:
Enter the x and y values: 30 40
distance = 50, angle = 53.1301 degrees


а дает такие результаты:
Enter the x and y values: 30 40
distance = 50, angle = 2864.79 degrees


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
//strctfun.cpp -- функции с аргументами-структурами
#include <iostream>
#include <cmath>
 
//объявления структур
struct polar
{
    double distance;      //расстояние от исходной точки
    double angle;         //направление от исходной точки
};
struct rect
{
    double x;             //расстояние по горизонтали от исходной точки
    double y;             //расстояние по вертикали от исходной точки
};
//Прототипы
polar rect_to_polar(rect xypos);
void show_polar(polar dapos);
int main()
{
    using namespace std;
    rect rplace;
    polar pplace;
    cout << "Enter the x and y values: ";      //ввод значений х и у
    while (cin >> rplace.x >> rplace.y)        //ловкое использование cin
    {
        pplace = rect_to_polar(rplace);
        show_polar(pplace);
        cout << "Next two numbers (q to quit): ";
             //Ввод следующих двух чисел (q для завершения)
    }
    cout << "Done.\n";
    system("pause");
    return 0;
}
//Преобразование прямоугольных координат в полярные 
polar rect_to_polar(rect xypos)
{
    using namespace std;
    polar answer;
    answer.distance = sqrt(xypos.x * xypos.x + xypos.y * xypos.y);
    answer.angle  =  atan2(xypos.y, xypos.x) ;
    return answer;                            //возврат структуры  polar
}
 
//Отображение полярных координат с преобразованием радиан в градусы
void show_polar(polar dapos)
{
    using namespace std;
    const long double Rad_to_deg = 57.29577951f;
    cout << "distance = " << dapos.distance;
    cout << ", angle = " << dapos.distance * Rad_to_deg;
    cout << " degrees\n";
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2016, 21:35
Ответы с готовыми решениями:

стивен прата стр 433 листинг 9.1 а также 9.2 и 9.3 ошибка при компоновке файлов
компилятор visual studio 2013 в книге написано что не надо включать #include. я так и не понял...

Стивен Прата - про decltype (гл. 8, стр. 422)
Прочитал раз десять. Сверился с оригиналом: Я что-то упустил или тип функции long?...

Стивен Прата Язык программирования C++ лекции и упражнения (6-е издание). Листинг 6.8 - странная штука
Извиняюсь заранее, если было уже где-то - я не нашел( Штудирую Прату 6-е издание. Полностью...

Книга стивен прата C++, создание "списка"
#pragma once #ifndef QUEUE_H_ #define QUEUE_H_ class Customer // Очередь, содержащая...

2
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,718
02.04.2016, 21:48 2
Цитата Сообщение от mercurygermes Посмотреть сообщение
cout << ", angle = " << dapos.distance * Rad_to_deg;
C++
1
cout << ", angle = " << dapos.angle * Rad_to_deg;
0
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
02.04.2016, 21:52  [ТС] 3
так в книге именно эта формула и описана но дает сбой. что здесь не так?

Добавлено через 2 минуты
о все понял спасибо большое. яне внимательный
0
02.04.2016, 21:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2016, 21:52
Помогаю со студенческими работами здесь

Как написать программу из книги Стивен Прата? Заранее благодарю
Масса одной молекулы воды приблизительно составляет 3.0e-23 грамм. Кварта воды весит примерно 950...

9 Задача 4 главы Стивен Прата
Выполните упражнение 6, но вместо объявления массива из трех структур CandyBar используйте операцию...

Стивен прата, задание с очередью
Привет. Хотелось бы немного помощи по листингу. Вообще сам листинг очень сложный для меня, я уже и...

Упражнение из книги" Стивен Прата Си
Не могу понять как вывести то что требуется. Воспользуйтесь вложенными циклами, чтобы вывести...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru