Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
MrZedFlame
0 / 0 / 1
Регистрация: 15.07.2012
Сообщений: 29
#1

Программа отгадывает загаданное пользователем число: реализовать "защиту от дурака"

20.10.2012, 11:36. Просмотров 1225. Ответов 7
Метки нет (Все метки)

Программа отгадывает, загаданное пользователем число
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
#include "stdafx.h"
#include <locale>
#include <iostream>
#include <conio.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    int min = 1; 
    int max = 1000; 
    int number; 
    char ch ;
    printf ("Загадайте число от 1 до 1000 \n");
    while(true)
    {    
        number = (min+max) / 2;
        std::cout << "Загаданное вами число больше, меньше или равно " << number << "? Если больше, нажмите +; еслименьше, нажмите -; если равно, нажмите =." << std::endl; 
        std::cin >> ch; 
        if(ch == '+') 
            min = number; 
        if(ch == '-') 
            max = number; 
        if(ch == '=') break;
        system("cls");
   } 
    std::cout << "Вы загадали число " << number <<std::endl;
    _getch();
    return 0;
}
Нужно сделать так, что бы когда вводишь символ, отличный от "+", "-", "=" программа выдавала что типа "некорректный ввод данных".

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 11:36
Ответы с готовыми решениями:

Игра - компьютер отгадывает загаданное пользователем число
Доброго времени суток! Саму игру я написал, может, и коряво, но вроде работает...

Как с scanf сделать "защиту от дурака"?
Нужно, чтобы пользователь ввел две целочисленные переменные. Как делал я: ...

Реализовать защиту от дурака (проверку ввода)
Вводится шестизначное число(номер автобусного билета). Нужно выполнить защиту...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую...

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес"
Здравствуйте. Проходим тему Структуры, не могу понять, как определить...

7
CableGuy
14 / 14 / 2
Регистрация: 29.03.2012
Сообщений: 41
20.10.2012, 11:54 #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
25
26
27
28
29
30
31
32
33
34
#include "stdafx.h"
#include <locale>
#include <iostream>
#include <conio.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    int min = 1;
    int max = 1000;
    int number;
    char ch ;
    printf ("Загадайте число от 1 до 1000 \n");
    bool number_finded=false;
    while(number_finded==false)
    {
        number = (min+max) / 2;
        std::cout << "Загаданное вами число больше, меньше или равно " << number << "? Если больше, нажмите +; еслименьше, нажмите -; если равно, нажмите =." << std::endl;
        std::cin >> ch;
        if(ch == '+')
            min = number;
        else
            if(ch == '-')
                max = number;
            else
                if(ch == '=')
                    number_finded=true;
                else
                    std::cout << "Некоректный ввод данных" << std::endl;
   }
    std::cout << "Вы загадали число " << number <<std::endl;
    system("pause");
    return 0;
}
1
Евгений89
99 / 99 / 39
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
20.10.2012, 11:55 #3
C++
1
2
3
while(ch!= '+'||'-'||'='){
cout << "не корректный ввод данных"
}
0
!Андрей!
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
20.10.2012, 11:58 #4
MrZedFlame,
C++
1
2
do {cin >> ch;}
while((ch !='+') && (ch != '-') && (ch != '='));
0
Евгений89
99 / 99 / 39
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
20.10.2012, 12:05 #5
C++
1
2
3
while(ch!= '+')||(ch!='-')||(ch!= '='){
cout << "не корректный ввод данных"
}
0
MrZedFlame
0 / 0 / 1
Регистрация: 15.07.2012
Сообщений: 29
20.10.2012, 12:13  [ТС] #6
Цитата Сообщение от Евгений89 Посмотреть сообщение
C++
1
2
3
while(ch!= '+')||(ch!='-')||(ch!= '='){
cout << "не корректный ввод данных"
}
Куда его вставить то?
0
Евгений89
99 / 99 / 39
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
20.10.2012, 12:43 #7
до того пока не произведен ввод символов

Добавлено через 10 минут
перед if

Добавлено через 4 минуты
Цитата Сообщение от CableGuy Посмотреть сообщение
std::cin >> ch;
после этой строчки
0
silent_1991
24.10.2012, 11:16     Программа отгадывает загаданное пользователем число: реализовать "защиту от дурака"
  #8

Не по теме:

Евгений89, два раза попробовали и оба раза не угадали :D

0
24.10.2012, 11:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 11:16
Привет! Вот еще темы с ответами:

Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка"
Есть проблема. Реализовать двухсвязный список. Каждый элемент списка может...

Написать программу, угадывающую загаданное пользователем число, за несколько попыток (цикл while)
добрый вечер всем вот код,нужно чтоб компьютер отгадал число ведёное тобой с...

Создать классы "Computer", "Software", "User" и реализовать взаимодействие объектов этих типов между собой
Помогите решить задачку,нужна в инст на экзамен. Составить программу...


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

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

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