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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
relax-z
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 32
#1

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

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

алгоритм-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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2010, 12:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка на ввод C++ (C++):

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

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

Проверка на ввод букв - C++
Как в данной программе реализовать проверку на ввод букв.:umbrage: #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; ...

Проверка на ввод текста - C++
Здравствуйте, у меня есть 2 программы, они полностью рабочие. Но я должна сделать проверку на ввод текста. Если он введен, то программа...

Проверка на ввод данных - C++
В интернете немогу найти примера кода на проверку вводимых данных. Можите написать простинький пример к примеру такой: if...

Проверка на ввод строки - C++
Вводим строку (имя). Если в строке есть число, то вывести определённое сообщение. void enterDoc(Doctor *pdoctor, int i) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2010, 14:51
Привет! Вот еще темы с ответами:

проверка на неправильный ввод - C++
Ничего в голову не приходит.Как реализовать следующее:При вводе одного слова(не символа) писало ошибка введите минимум 2 слова?Сделал если...

Проверка на ввод символа - C++
Предположим вместо числа был введен символ, тогда после ввода символа пропускается вторая строчка cin&gt;&gt;b; и далее заного перезапускается...

Проверка на ввод букв - C++
В общем такая проблемка Задача: сделать программу для расчета периметра, площади, медианы, бисектрисы и высоты. # include &lt;stdio.h&gt;; ...

Проверка на ввод пола - C++
#include&lt;iostream&gt; using namespace std; int main() { char sex; cin.getline(sex, 9); if () // проверка на ввод cout &lt;&lt;...


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

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

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