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

Проверка на ввод C++

24.10.2010, 12:25. Показов 3054. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
алгоритм-1:
1)ввод x (например 1)
2)вывод y
3)расчет заново (y/n)
(работает)

алгоритм -2:
1) ввод x (например 1)
2) вывод y
3) расчет заново (y)
4) ввод x (например a, 12df)
5) выдает ошибка просит ввести x заново
(работает)

алгоритм - 3:
1) ввод x ( например a, 12df)
2) выдает ошибку и выходит из программы

вот суть проблемы, то есть нужно сделать чтоб алгоритме 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
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <cmath>
using namespace std;
int main()
  {
   double x , y ;
   char k;
   do
      {
       cout << " Введите x: ";
       cin >> x;
       if (cin.get()!='\n')
         {
           cout << "ошибка при вводе" << "\n";
         }
       else
         {
          if (cos(x) == 0)
            {
             cout << "ошибка" << "\n";
            }
          else
              {
               y = 2 * (tan(x) + sin(x) / 2 );
               cout << "y=" << y << "\n";
              }
          k = 0;
          cout << " Введите букву Y если хотите рассчитать заново, если решили закончить расчет для выхода нажмите любую клавишу : ";
          cin >> k;
          }
       cin.clear();
       cin.sync();
      }
    while(k == 'y' || k == 'Y');
    return 0;
  }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2010, 12:25
Ответы с готовыми решениями:

Проверка на ввод
Есть переменная целочисельная ввожу ее с клавиатуры , но когда ввожу букву нажимаю enter вываливает...

Проверка на ввод
Всем доброго времени суток. Помогите пожалуйста дописать программу, чтобы выдавалась ошибка, если...

Проверка на ввод
Знаю, что есть проверка, которая попросту блокирует нажатия букв. Как такую сделать?

Проверка на ввод
в borland С нужно осуществить проверку на ввод, пользователь дожлен ввести число, как проверить...

1
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
24.10.2010, 14:51 2
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
#include <iostream>
#include <limits>
 
using namespace std;
 
int main()
{
    int x;
    while (true)
    {
        cout << "x = ";
        cin >> x;
        // Если нет ошибки и конец строки, то break
        if (cin && cin.peek() == '\n')
            break;
        // Если конец файла, то на этом всё
        if (cin.eof())
            return 0;
        // Иначе очищаем флаги ошибок
        cin.clear(ios::goodbit);
        // И пропускаем все символы до конца строки
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }
}
0
24.10.2010, 14:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2010, 14:51
Помогаю со студенческими работами здесь

Проверка на ввод
в borland С нужно осуществить проверку на ввод, пользователь дожлен ввести число, как проверить...

Проверка на ввод
Помогите пожалуйста, пролистал форумы по JS по C++ , не могу понять как сделать проверку на ввод (...

Проверка на ввод аргумента
Не могу сообразить как запилить скрипт что бы делал проверку на ввод аргумента:umnik: Может у кого...

Проверка на некорректный ввод
подскажите как с помощью try catch отловить ошибку '-' is not a valid floating point value что бы...


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

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