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

Программа выводит таблицу значений синусов или косинусов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка LNK2019 при подключении библиотеки с несколькими исходными файлами (используется Qt 5.2.0) http://www.cyberforum.ru/cpp-beginners/thread1134991.html
Используется Qt 5.2.0, но думаю проблема более глобальная в плане своих корней. Есть класс CommonData, где объявлены несколько статических переменных CommonData.h struct Complex { double zed; ... };
C++ Создать класс автомашин Задание Создать класс автомашин. Свойства класса- цвет машины, марка, номер Методы- машина двигается, машина тормозит. Завести 3 объекта класса Седан, серый, номер КЗ56748УН, Шкода, красный, Н67854РО БМВ, желтый, ЛО5674В http://www.cyberforum.ru/cpp-beginners/thread1134988.html
C++ Фильтр для ввода даты в заданном формате
Смысл: осуществляется ввод даты в формате x/y/z (не по отдельности), где x-день, y-номер месяца итд, в структуру нужно занести всё x,y,z по отдельности. Почему то не могу допереть как осуществить отбор, чтобы пользователь вводил дату в вышеприведённом формате, а программа сама поняла что есть что. struct date { int d; //days int m; //months int y; //years };
Поиск второго минимума в массиве C++
можно ли сие как-нибудь реализовать одним циклом?
C++ Вычислить и вывести на экран в виде таблицы значения функции http://www.cyberforum.ru/cpp-beginners/thread1134967.html
#include <iostream> #include <conio.h> #include <math.h> #include <iomanip> #include <locale> #include <Windows.h> using namespace std; // int main() {//начало кода функции main
C++ Проверка числовой ли ввод Здравствуйте! Задача такая. Написать программу, читающую в массив double до 10 значений пожертвований. ПРограмма должна прекращать ввод при получении нечисловой величины. Она должна выдавать среднее значение полученных чисел. А так же количество значений в массиве превышающих среднее. Написал программу, вот что получилось: #include "stdafx.h" #include <cctype> #include <iostream> const int... подробнее

Показать сообщение отдельно
andreyananas
21 / 21 / 8
Регистрация: 15.10.2013
Сообщений: 854
Завершенные тесты: 2

Программа выводит таблицу значений синусов или косинусов - C++

31.03.2014, 21:47. Просмотров 1244. Ответов 7
Метки (Все метки)

Суть проблемы в том, что не выводит косинусы в диапазоне 90-270...
Помогите решить проблему.

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
#include <iostream>
#include <windows.h>
#include <math.h>
#include <iomanip> // для таблицы
 
using namespace std;
 
int main()
{
    SetConsoleOutputCP(1251);
    double sinus1(0), cosinus1(0), sinus2(0), cosinus2(0), r(0);
    float x1(0), x2(0), dx(0), eps(0);
    char con, choice;
    do
    {
        system("cls");
        cout << " Программа выводит таблицу значений синусов или косинусов.\n";
        cout << " Для вычисления cos() введите: 'c' \n для вычисления sin() введите: 's'... \n";
        cin >> choice;
        cout << " Введите границу диапазона - х1: " << endl;
        cin >> x1;
        cout << " Введите границу диапазона - х2: " << endl;
        cin >> x2;
        cout << " Введите шаг изменения аргумента (в градусах) - dx: " << endl;
        cin >> dx;
        cout << " Введите точность вычисления - eps: " << endl;
        cin >> eps;
        system("cls");
        cout << " *sin(x)/cos(x) - табличное значение; \n *sin(x)2/cos(x)2 - рассчитаны с помощью разложения функции в ряд Тейлора.\n";
        // синус
        if (choice=='s')
        {
            cout.fill('_');
            cout << setw(45) << "" << endl;
            cout.fill(' ');
            cout << "|" << setw(10) << "градусы" << "|" << setw(10) << "sin(x)" << "|" << setw(10) << "sin(x)2" << "|" << setw(12) << "разница|\n";
            cout.fill('_');
            cout << setw(45) << "" << endl;
            for(float x = x1; x < x2; x = x+dx)
            {
                if(x==180)
                {
                    cout << "|" << setw(10) << x;
                    cout << "|" << setw(10) << "0";
                    cout << "|" << setw(10) << "0";
                    cout << "|" << setw(10) << "0" << "|" << endl;continue;
                }
                else if(x>180)
                {
                    x=x-180;
                    sinus1=sin(x*M_PI/180);
                    for(double sigma = sinus1, n = 1; sigma >= eps; n=n+2)
                    {
                        x=x*M_PI/180;
                        sigma = sigma*(((-x)*x)/((n+1)*(n+2)));
                        sinus2 = sinus1+sigma;
                        r = sinus1-sinus2;
                        x=x*180/M_PI;
                        cout.flags(ios::fixed);
                        cout << "|" << setw(10) << setprecision(1) << (x+180);
                        cout << "|" << setw(10) << setprecision(2) << (-1)*sinus1;
                        cout << "|" << setw(10) << setprecision(2) << (-1)*sinus2;
                        cout << "|" << setw(10) << setprecision(2) << r << "|" << endl;
                    }
                    x=x+180;continue;
                }
                sinus1=sin(x*M_PI/180);
                for(double sigma = sinus1, n = 1; sigma >= eps; n=n+2)
                {
                    x=x*M_PI/180;
                    sigma = sigma*(((-x)*x)/((n+1)*(n+2)));
                    sinus2 = sinus1+sigma;
                    r = sinus1-sinus2;
                    x=x*180/M_PI;
                    cout.flags(ios::fixed);
                    cout << "|" << setw(10) << setprecision(1) << x;
                    cout << "|" << setw(10) << setprecision(2) << sinus1;
                    cout << "|" << setw(10) << setprecision(2) << sinus2;
                    cout << "|" << setw(10) << setprecision(2) << r << "|" << endl;
                }
            }
        }
        // косинус
        else if(choice=='c')
        {
            cout.fill('_');
            cout << setw(45) << "" << endl;
            cout.fill(' ');
            cout << "|" << setw(10) << "градусы" << "|" << setw(10) << "cos(x)" << "|" << setw(10) << "cos(x)2" << "|" << setw(12) << "разница|\n";
            cout.fill('_');
            cout << setw(45) << "" << endl;
            for(float x = x1; x < x2; x = x+dx)
            {
                cosinus1=cos(x*M_PI/180);
                for(double sigma = cosinus1, n = 1; sigma >= eps; n=n+1)
                {
                    x=x*M_PI/180;
                    sigma = sigma*(((-x)*x)/(2*n*(2*n-1)));
                    cosinus2 = cosinus1+sigma;
                    r = cosinus1-cosinus2;
                    x=x*180/M_PI;
                    cout.flags(ios::fixed);
                    cout << "|" << setw(10) << setprecision(1) << x;
                    cout << "|" << setw(10) << setprecision(2) << cosinus1;
                    cout << "|" << setw(10) << setprecision(2) << cosinus2;
                    cout << "|" << setw(10) << setprecision(2) << r << "|" << endl;
                }
            }
        }
        cout << " Для продолжения программы введите - y: " << endl;
        cout << " для завершения программы введите любой символ... " << endl;
        cin >> con;
    }
    while(con == 'y');
    return 0;
}
Добавлено через 4 часа 11 минут
никто не может помочь???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru