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

Как сделать проверку на ввод? С++ - C++

Восстановить пароль Регистрация
 
relax-z
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 32
01.10.2010, 05:35     Как сделать проверку на ввод? С++ #1
y=2*(tgx+sinx/2);
tgx стремится к бесконечности когда cos(x) стремится к нулю
надо сделать проверку на это, и вывести сообщения об ошибке, помогите пожалуйста
вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
     double x , y ;
     char k;
     do
     {
         cout << " Введите x: ";
         cin >> x;
         y = 2 * (tan(x) + sin(x) / 2 );
         cout << "y=" << y << endl;     
         cout << " Введите букву Y если хотите рассчитать заново, если решили закончить расчет для выхода нажмите любую клавишу : ";
         cin >> k;
     }
     while(k == 'y' || k == 'Y');
     return 0;
}
Добавлено через 9 часов 31 минуту
Ни кто не знает? :/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2010, 05:35     Как сделать проверку на ввод? С++
Посмотрите здесь:

C++ Как в С сделать проверку на вхождение в диапазон?
C++ Как сделать проверку на ввод? Чтоб вводилась дата в формате только dd/mm/yyyy
C++ Как сделать проверку на букву?
C++ Подскажите, как добавить проверку на ввод букв? код внутри
C++ Как сделать проверку на ввод в классе?
Помогите сделать проверку на ввод отрицательных чисел C++
Как сделать проверку на ввод символов? C++
Как организовать проверку на ввод определенных букв переменной string? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dzhej-Dzhej
Заблокирован
01.10.2010, 08:49     Как сделать проверку на ввод? С++ #2
relax-z, может как-то так
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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
     double x , y ;
     char k;
     double d=0.01;
     do
     {
         cout << " Введите x: ";
         cin >> x;
         if(abs(cos(x))<d)
             cout <<"tg(x) ушел в бесконечность, вычисление невозможно"<< endl;
         else
         {
             cout<<cos(x);
             y = 2 * (tan(x) + sin(x) / 2 );
             cout << "y=" << y << endl;     
         }
         cout << " Введите букву Y если хотите рассчитать заново, если решили закончить расчет для выхода нажмите любую клавишу : ";
         cin >> k;
     }
     while(k == 'y' || k == 'Y');
     return 0;
}
в d задать число, которое можно считать бесконечностью
relax-z
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 32
01.10.2010, 20:14  [ТС]     Как сделать проверку на ввод? С++ #3
Я вот так попробовал... можно ли так?

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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
     double x , y , z;
     char k;
     do
     {
         cout << " Введите x: ";
         cin >> x;
         z = cos(x);
         if (z==0)
         cout << "Ошибка";
         else
         {
              y = 2 * (tan(x) + sin(x) / 2 );
              cout << "y=" << y << endl;
              k=0;     
              cout << " Введите букву Y если хотите рассчитать заново, если решили закончить расчет для выхода нажмите любую клавишу : ";
              cin >> k;
         }   
     }
     while(k == 'y' || k == 'Y');
     return 0;
}
Yandex
Объявления
01.10.2010, 20:14     Как сделать проверку на ввод? С++
Ответ Создать тему
Опции темы

Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru