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

Написать проверку на соответствие ввода целочисленному типу ("защита от дураков")

24.12.2015, 20:30. Показов 911. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда вводят букву программа зацикливается

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
int get_move(int i){
    std::cout<<"Welcome to tic-tac-toe!\n\n";
    std::cout<<"\nMove options: \n";
    std::cout<<"-7-|-8-|-9-" << std::endl;
    std::cout<<"-4-|-5-|-6-" << std::endl;
    std::cout<<"-1-|-2-|-3-" << std::endl;
    std::cout<<"\n";
 
    print_board("");
        if (i==1) {
                    std::cout << "\nX move: ";
                  }
        else      {
                    std::cout << "\nY move: ";
                  }
 
    int move;
    std::cin >> move;
    while(move > 9 || move < 1 || board[move-1] != '-'){
 
        std::cout<<"Please enter a legal move (1-9): ";
        std::cin >> move;
    }
    return move;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2015, 20:30
Ответы с готовыми решениями:

Проверить соответствие ввода типу real
Всем здравствовать. Учусь программировать, на Паскале в том числе. Столкнулся необходимостью...

Выражение должно относиться к целочисленному типу или типу перечислений без области видимости
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class lVector { int Vector1;...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { int number, n,...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
Необходимо реализовать класс Factory, который представляет из себя строку символов и предусмотреть...

3
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
25.12.2015, 02:41 2
C++
1
2
3
4
5
6
7
8
// в строке ввода только цифры, перед которыми могут быть + или -.
int a;
while (!(cin >> a) || (cin.peek() != '\n'))
{
    cin.clear();
    while (cin.get() != '\n');
    cout << "Error!" << endl;
}
0
0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 6
26.12.2015, 11:31  [ТС] 3
Решил задачу вот так:
C++
1
2
3
4
5
6
7
8
9
int move=0;
 
    while((!(cin>>move) || cin.get() != '\n')||move > 9 || move < 1 || field[move-1] != '-')
    {
        std::cout<<"Неверный ход!\n";
        cin.clear();
        cin.sync();
        std::cout<<"Пожалуйста введите ход (1-9): ";
    }
0
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
26.12.2015, 11:53 4
Цитата Сообщение от 3om6i Посмотреть сообщение
Решил задачу вот так:
sync() в Linux не сработает.
0
26.12.2015, 11:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2015, 11:53
Помогаю со студенческими работами здесь

C++ выражение должно относиться к целочисленному типу или типу перечисления без области видимости
Всем привет. Не понимаю, что делаю не так( SetCurrentDirectory(&quot;C:/Пользователи/&quot; + username +...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
Добрый день,столкнулся с проблемой &quot;Выражение должно относиться к целочисленному типу или типу...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int main() {...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int N; double Y = 0;...

Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include &lt;fstream&gt; ...

Ошибка: Выражение должно относиться к целочисленному типу или типу перечисления без области видимости
setlocale(LC_ALL, &quot;rus&quot;); srand(time(0)); int a, i, d; d = 0; printf(&quot;Введитe колличество...


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

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