Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/64: Рейтинг темы: голосов - 64, средняя оценка - 4.84
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188

Написать программу, которая "задумывает" число в диапазоне от 1 до 10 и предлагает пользователю угадать число

16.02.2017, 00:11. Показов 13584. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто знает как на С++ можно решить данную задачу при помощи цикла do while?
Написать программу, которая "задумывает" число в диапазоне от 1 до 10 и предлагает
пользователю угадать число за 5 попыток. Ниже приведен рекомендуемый вид экрана во
время выполнения программы .
Игра "Угадай число".
Компьютер "задумал" число от 1 до 10.
Угадайте его за 5 попыток.
Введите число и нажмите <Enter>
-> 5
Нет.
-> 3
Вы выиграли! Поздравляю!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2017, 00:11
Ответы с готовыми решениями:

Программа задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать его за 5 попыток
Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать его за 5 попыток. С++

Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток
Возникла проблема, связанная с отсутствием мозгов ) Дали задание такого типа: Написать программу, которая задумывает число в...

Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать это число за пять попыток
Помогите пожалуйста........ Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать это...

9
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
16.02.2017, 00:33
Цитата Сообщение от Bossx Посмотреть сообщение
Поздравляю
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
#include <iostream>
#include <ctime>
 
#define LOW 1
#define HIGH 10
 
typedef unsigned short int small_number;
 
inline small_number get_number()
{
    srand(time(nullptr));
    return rand() % HIGH + LOW;
}
 
int main()
{
    auto counter  = 0;
    small_number number = get_number();
    int user_answer;
 
    do
    {
        std :: cout << "Input the number : ";
        std :: cin >> user_answer;
        if (user_answer == number)
        {
            std :: cout << "You are right! It is really " << number <<'!' << std :: endl;
            return 0;
        }
        std :: cout << "You are wrong! Try again!" << std :: endl;
        counter++;
    }
    while(counter < 5);
 
    std :: cout << "You lost! It was number " << number <<'!'<<std::endl;
 
    return 0;
}
1
55 / 55 / 51
Регистрация: 05.07.2016
Сообщений: 179
16.02.2017, 00:50
Лучший ответ Сообщение было отмечено Bossx как решение

Решение

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(0,"");
    srand( time(0) );
    cout << "Игра Угадай число\n Компьютер задумал число от 1 до 10.\nУгадайте его за 5 попыток.\nВведите число и нажмите <Enter>\n";
    int n=(rand()%10)+1;
    int c;
    for(int i=0;i<5;i++){
        cout << "Введите число:";
        cin >> c;
        if(c==n) {cout << "Правильно";break;}
        else {cout << "Непраивльно.\n"; 
        if(i!=4) cout << "Попробуйте ещё раз.\n";
        }
    }
    _getch();
    return 0;
}
1
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
16.02.2017, 19:07  [ТС]
А как можно в результате вывести на экран:
Игра "Угадай число".
Компьютер "задумал" число от 1 до 10.
Угадайте его за 5 попыток.
Введите число и нажмите <Enter>
Только, что бы фраза:
Игра "Угадай число".
Компьютер "задумал" число от 1 до 10.
Угадайте его за 5 попыток.
Введите число и нажмите <Enter>
Выводилась лишь первый раз, а в последующие разы только писало "Нет" или "Вы выиграли", после ввода числа?

Добавлено через 17 часов 25 минут
Знает кто-то?

Добавлено через 5 минут
Только нужно в цикле do while.
0
55 / 55 / 51
Регистрация: 05.07.2016
Сообщений: 179
16.02.2017, 19:29
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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(0,"");
    srand( time(0) );
    cout << "Игра Угадай число\n Компьютер задумал число от 1 до 10.\nУгадайте его за 5 попыток.\nВведите число и нажмите <Enter>\n";
    int n=(rand()%10)+1;
    int c;
    int i=0;
    while(i<5){
        cout << "Введите число:";
        cin >> c;
        if(c==n) {cout << "Вы выиграли";break;}
        else {cout << "Нет\n";
        }
        i++;
    }
    _getch();
    return 0;
}
1
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
16.02.2017, 19:38  [ТС]
Спасибо, а как сделать так, чтобы после того как пользователь не угадал за 5-ть попыток выводилась надпись, что он проиграл, пусть попробует еще раз?
0
55 / 55 / 51
Регистрация: 05.07.2016
Сообщений: 179
16.02.2017, 20:11
Лучший ответ Сообщение было отмечено Bossx как решение

Решение

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(0,"");
    srand( time(0) );
    cout << "Игра Угадай число\n Компьютер задумал число от 1 до 10.\nУгадайте его за 5 попыток.\nВведите число и нажмите <Enter>\n";
    int n=(rand()%10)+1;
    int c;
    int i=0;
    while(i<5){
        cout << "Введите число:";
        cin >> c;
        if(c==n) {cout << "Вы выиграли";break;}
        else {cout << "Нет\n";
        if(i==4) cout<< "Вы проиграли";
        }
        i++;
    }
    _getch();
    return 0;
}
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.02.2017, 20:16
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
#include <ctime>
#include <iostream>  
#include <random> 
 
int main()
{
    // создаем ГПСЧ и инициализируем его значением  time(0) 
    std::mt19937 gen(time(0));
    // создаем распределение uid, инициализируя его  начальными значениями 
    std::uniform_int_distribution<int> uid(1, 10);
    // наша мистическая переменная равна СЧ из  данного распределения, созданная 
    // с помощью ГПСЧ gen 
    int myMysticNumber = uid(gen), x = -1;
    // используем методы min и max для вывода  информации о распределении 
    std::cout << "Let's play a game. I think of a number between " << uid.min()
        << " to " << uid.max() << ". Try to guess it!" << std::endl;
 
    for (int i = 4; i >= 0 && x != myMysticNumber; i--)
    {
        std::cout << "\nEnter variable: ";
        std::cin >> x;
        if (x == myMysticNumber) // если угадали 
            std::cout << "\nCongratulation. You win" << std::endl;
        else // иначе 
        {
            std::cout << (x > myMysticNumber ? "Lower" : "Higher")
                << ". You have " << i << " attempts" << std::endl;
            if (i == 0) // если проиграли 
                std::cout << "\nYou lose. The number was " << myMysticNumber
                << std::endl;
        }
    }
}
С небольшими изменениями взято из статьи Новые генераторы случайных чисел(ГСЧ) из С++11
1
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
17.02.2017, 18:39  [ТС]
А как сделать при помощи цикла do while?

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main() {
  setlocale(0, "");
  srand(time(0));
  cout << "Игра Угадай число.\nКомпьютер задумал число от 1 до 10.\nУгадайте "
          "его за 5 попыток.\nВведите число и нажмите <Enter>\n";
  int n = (rand() % 10) + 1;
  int c;
  int i = 0;
  while (i < 5) {
    cout << "-> ";
    cin >> c;
    if (c == n) {
      cout << "Вы выиграли! Поздравляю!";
      break;
    } else {
      cout << "Нет\n";
      if (i == 4)
        cout << "Вы проиграли. Попробуйте еще раз!" << endl;
    }
    i++;
  }
  _getch();
  return 0;
}
Добавлено через 11 часов 4 минуты
Знает кто-то?

Добавлено через 6 часов 30 минут
Поможет кто-то с данным решением задачи?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.02.2017, 18:58
Лучший ответ Сообщение было отмечено Bossx как решение

Решение

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 <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    srand(time(0));
    cout << "Игра Угадай число.\nКомпьютер задумал число от 1 до 10.\nУгадайте "
          "его за 5 попыток.\nВведите число и нажмите <Enter>\n";
    int n = (rand() % 10) + 1;
    int c;
    int i = 0;
    do
    {
        cout << "-> ";
        cin >> c;
        if (c == n) {
            cout << "Вы выиграли! Поздравляю!";
            break;
        }
        else {
            cout << "Нет\n";
            if (i == 4)
                cout << "Вы проиграли. Попробуйте еще раз!" << endl;
        }
        i++;
    } while (i < 5);
    _getch();
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2017, 18:58
Помогаю со студенческими работами здесь

Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать его за 5 попыток.
Сделал вот так: Но у меня проблема: При таком написании программы, если не угадать число за 5 попыток, то выводится значение 'Попытки...

Программа "задумывает" число и предлагает пользователю его угадать
Написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 по- пыток. Ниже...

Программа задумывает число от 1 до 10, и предлагает пользователю отгадать число за 5 попыток
В общем нужна помощь по C++: задали задачку на цикл For, программа должна выдавать таблицу значений функции y= (модуль x) x начинается...

Написать программу, которая "задумывает" число в диапазоне от 1 до 10
Написать программу с использованием оператора while (do…while). Написать программу, которая &quot;задумывает&quot; число в диапазоне от 1...

Написать программу, которая предлагает пользователю ввести число и выводит в консоль его факториал
Написать программу, которая предлагает пользователю ввести число и выводит в консоль его факториал. использовать только for .


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru