Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Random_Name
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 2
1

Проверить введенное значение и, если это не цифра, вернуться ко вводу

13.03.2014, 18:07. Просмотров 599. Ответов 3
Метки нет (Все метки)

Программа должна проверить введенное значение и, если это не цифра, вернуться ко вводу, но она зацикливается. Также если можно, как это сделать без goto?
код:

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
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
int main ()
{
    double b,z1,z2;
y:  cout << "Input b:\n";
    bool k; 
    cin >> b;
    if (cin.good())
    {
        k=true;
        while (k)
        {       
            cout << "You're not a fool!\n";
            if (b > 2)
            {
                cout << "Let's count!\n";
                z1=sqrt(2*b+2*sqrt(pow(b,2)-4))/(sqrt(pow(b,2)-4)+b+2);
                z2=1/sqrt(b+2);
                cout << "Here is the first result: " << z1 << endl;
                cout << "And here is the second: " << z2 << endl;
                system("pause");
            }
            else
            {
                cout << "But that's not going to work...\n";
                goto y;
            }
        }
        system("pause");
    }
    else
    {       
        cout << "Sorry, but you're a fool :c\n";
        goto y;
    }
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2014, 18:07
Ответы с готовыми решениями:

Определить, является ли введенное значение года високосным, если введено корректное значение
Определить, является ли введенное значение года високосным, если введено...

Проверить, является ли введенное значение числом
int tmp; cout&lt;&lt;&quot;vvedite chislo&quot;; cin&gt;&gt;tmp; как проверить является ли...

Проверить, имеется ли в массиве число, введенное пользователем. Если да – вывести его индекс
кто-нибудь может подсказать как сделать? Язык С++. только мне по самому...

Проверить, является ли введенное значение числом или нет
Здрасти. как проверить число на то, является ли оно им или нет. Пробовал с...

Остановить цикл ввода последовательности, если введенное значение равно нулю.
В простую переменную последовательно вводятся числа. Окончание ввода 0. Сколько...

3
alsav22
5450 / 4845 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.03.2014, 18:09 2
C++
1
2
3
4
5
6
7
double a;
while (!(cin >> a) || (cin.peek() != '\n'))
{
    cin.clear();
    while (cin.get() != '\n');
    cout << "Error!" << endl;
}
1
Random_Name
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 2
13.03.2014, 18:20  [ТС] 3
спасибо, а можно объяснить что делается в каждой строчке?
0
alsav22
5450 / 4845 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.03.2014, 18:45 4
Нужен фильтр ввода данных
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 18:45

Присвоить переменной S определенное значение, если введенное число х лежит вне отрезков [2..5] и [-1..1]
. Не используя оператора if, присвоить переменной S значение 0, если введенное...

Вывести "return 0" если введенное значение равно -1
Вывести return 0 если в вводе есть -1 ,но есть одно но. я ввожу 3 элемента так...

Значение элемента матрицы по вводу его индекса
Привет! Есть массив Matrix из файла. как получить значение необходимого мне...


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

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

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