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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
epelsin
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 3
#1

Угадывание числа - C++

06.10.2010, 06:37. Просмотров 1135. Ответов 11
Метки нет (Все метки)

нужно написать программу в microsoft visial c++.ее конечный результат должен выглядеть вот так;
pick a number from 1 to 10
1
higher!
3
higher!
9
lower!
8
lower!
7
lower!
4
higher!
6
you finally got it!!!

it took you 7 guesses

give someone else a chance? ( 0 for yes, 1 for no)

пожалуйста очень срочно надо помогите пожалуйста!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2010, 06:37     Угадывание числа
Посмотрите здесь:

Не работает программа на угадывание числа - C++
Я изучаю c++, написал программу она должна загадать число, напечатать (чтобы не гадал во время теста програмы) Я его угадываю, в...

Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел? - C++
Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?

Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми - C++
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми. ...

Угадывание числа с 10 попыток - Python
Доброго времени суток, дамы и господа. Учусь "питонить" и никак не могу допетрить что я в данном коде делаю не так: import random ...

Угадывание целого числа - Информатика
При угадывании целого числа в некотором диапазоне было получено 6 бит информации. Сколько чисел содержит этот диапазон?

Угадывание числа. Помогите. - Pascal
Передо мной встала такая проблемка. Нужно написать такую программу, в которой пользователь вводит какое-либо число(от 0 - до 10) и...

Угадывание числа. Консольное приложение - C#
Помогите, пожалуйста, составить программу: В этой лабораторной работе требуется создать программу, которая угадывает число, загаданное...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
06.10.2010, 06:57     Угадывание числа #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
35
36
37
38
#include <cstdlib>
#include <ctime>
#include <iostream>
 
int main()
{
    srand (time(NULL));
    int tryAgain = 0;
 
    do
    {
        std::cout << "pick a number from 1 to 10" << std::endl;
 
        int target = rand() % 10;
        int count = 0;
        int current;
 
        while (true)
        {
            count++;
 
            std::cin >> current;
            if (current == target)
                break;
            else if (current > target)
                std::cout << "lower!" << std::endl;
            else
                std::cout << "higher!" << std::endl;
        }
 
        std::cout << "you finally got it!!!" << std::endl << std::endl;
        std::cout << "it took you " << count << " guesses" << std::endl;
 
        std::cout << "give someone else a chance? ( 0 for yes, 1 for no)" << std::endl << std::endl;
        std::cin >> tryAgain;
    } while (tryAgain == 0);
    return 0;
}
epelsin
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 3
06.10.2010, 07:42  [ТС]     Угадывание числа #3
спасибо большое. но у меня есть вопрос мы не много этого не проходили все наши программы начинались не много по другому примерно вот такого типа
C++
1
2
3
4
5
6
7
8
9
#include<iostream>
using std::cin;
using std::cout;
 
int main()
{
 
 return 0;
}
это можно сделать как то по другому??
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
06.10.2010, 07:56     Угадывание числа #4
Не знаю, что тебе на это ответить.
epelsin
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 3
06.10.2010, 08:32  [ТС]     Угадывание числа #5
da i za eto spasibo bol6oe!!!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
06.10.2010, 15:33     Угадывание числа #6
C++
1
int target = rand() % 10 + 1;
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
06.10.2010, 16:30     Угадывание числа #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <ctime> 
 
using std::cout;
using std::cin;
using std::endl;
 
 
 
int main()
{
     srand((unsigned)time(NULL));
     int target,count=1,number;
     bool flag=true;
     target = rand()%10;
     do
     {
         cout<<"Pick a number from 1 to 10 -> ";
         cin>>number;
         if(number>target)
         {
             cout<<"lower!!!"<<endl;
             count++;
         }
         if(number<target)
         {
             cout<<"higher!!!!"<<endl;
             count++;
         }
         if(number==target)
         {
             cout<<"you finally got it!!!"<<endl;
             cout<<"it took you "<<count<<" guesses"<<endl; 
             cout<<endl;
             cout<<"1 - yes"<<endl
                 <<"0 - no"<<endl;
             cin>>flag;
             count=1;
             system("cls");
         }
     } while(flag);
   system("pause");
   return 0;
}
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
06.10.2010, 16:36     Угадывание числа #8
MILAN, в твоем варианте есть какие-то принципиальные различия/улучшения? По-моему - наоборот:
  1. загадываемое число генерируется только один раз;
  2. вне зависимости от того, какое условие верно (number>target, number<target, number==target), будут проверяться все три условия, что не есть хорошо. Используй if ... else if ... else.

Не по теме:

PS. За полтора года жизни на форуме можно было бы и научиться пользоваться тегами выделения кода...

MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
06.10.2010, 16:58     Угадывание числа #9
Nameless One,

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
44
45
#include <iostream>
#include <ctime> 
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
     srand((unsigned)time(NULL));
     int target,count=1,number;
     bool flag=true;
     target = rand()%9;
     do
     {
         cout<<"Pick a number from 1 to 10 -> ";
         cin>>number;
         if(number>target)
         {
             cout<<"lower!!!"<<endl;
             count++;
             continue;
         }
         if(number<target)
         {
             cout<<"higher!!!!"<<endl;
             count++;
             continue;
         }
         if(number==target)
         {
             cout<<"you finally got it!!!"<<endl;
             cout<<"it took you "<<count<<" guesses"<<endl; 
             cout<<endl;
             cout<<"1 - yes"<<endl
                 <<"0 - no"<<endl;
             cin>>flag;
             target = rand()%9;
             count=1;
             system("cls");
         }
     } while(flag);
   system("pause");
   return 0;
}
Спасибо, за замечания!!!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
06.10.2010, 17:02     Угадывание числа #10
MILAN, чтобы получить число от 1 до 10 включительно, нужно делать так:
C++
1
int target = rand() % 10 + 1;
И я бы убрал вычисления target из строк 14 и 39 и поместил бы его в начало тела цикла do ... while
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
06.10.2010, 17:07     Угадывание числа #11

Не по теме:

P.S Когда писал программу, мысли сделать лучшую, чем NightmareZ вообще не было!!! Хотелось представить свой вариант!!!



Добавлено через 3 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
И я бы убрал вычисления target из строк 14 и 39 и поместил бы его в начало тела цикла do ... while
Тогда значение target будет изменятся при каждом неверном ответе, и таким образом загадочное число будет изменятся при каждом шаге цикла!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2010, 17:09     Угадывание числа
Еще ссылки по теме:

Исправление ошибок. Угадывание числа - C#
какой должен быть результат. для ввода нажмите Enter для завершения Esc ваш вариант -&gt; 123 Угадано: 0. на своих местах: 0 ...

Угадывание числа с DO WHILE, UNTIL, LOOP и прочее - PascalABC.NET
Число задумывает пользователь, а компьютер его отгадывает. Хорошо бы, чтобы компьютер действовал не &quot;методом тыка&quot;, а &quot;методом научного...

Угадывание числа не больше чем за три попытки - Visual Basic .NET
Вроде простая задача по теме if.than, но никак не получается Разработать программу, которая отгадывает задуманное пользователем число...

Угадывание числа. Программа должна давать подсказки при неудачных попытках - C#
Помогите изменить программу реализовав следующие улучшения: -игроку давалось не более 7 попыток, чтобы угадать число -в случае если...

Угадывание чисел - Turbo Pascal
Составить программу, реализующую игру &quot;Угадывание чисел&quot;. Пользователь указывает диапазон и загадывает целое число из него. Компьютер...


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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
06.10.2010, 17:09     Угадывание числа #12
MILAN, точно, смотрел невнимательно
Yandex
Объявления
06.10.2010, 17:09     Угадывание числа
Ответ Создать тему
Опции темы

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