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

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

Войти
Регистрация
Восстановить пароль
 
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
#1

Программу "Угадай число" - C++

22.03.2013, 18:34. Просмотров 535. Ответов 6
Метки нет (Все метки)

Необходимо написать программу "Угадай число". После того,как число угадано, программа спрашивает, хотите ли вы еще раз сыграть. После ввода ответа, программа вылетает. Помогите найти ошибку
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<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
    setlocale(0,"");
    int chislo, otvet;
    char* soglas = "да";
    srand(time(NULL));
    chislo = 1 + rand()%1000;
 
    cout << "Мое число между 1 и 1000 " << endl
        << "Вы можете его отгадать ?" << endl
        << "Пожалуйста, напечатайте вашу первую догадку" << endl;
    cin >> otvet;
    while (soglas == "да")
    {
       while (otvet != chislo)
       {
           if (otvet < chislo)
           {
               cout << "Слишком мало. Попытайся еще раз" << endl;
               cin >> otvet;
           }
           else if (otvet > chislo)
           {
               cout << "Слишком много. Попытайся еще раз" << endl;
               cin >> otvet;
           }
       }
       if (otvet == chislo)
       {
        cout << "Отлично, вы угадали!" << endl << "Хотите сыграть еще раз ? (да или нет)" << endl;
        cin >> soglas;
       }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
22.03.2013, 18:36     Программу "Угадай число" #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
39
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include <string>
using namespace std;
int main()
{
    setlocale(0,"");
    int chislo, otvet;
    string soglas = "да";
    srand(time(NULL));
    chislo = 1 + rand()%1000;
 
    cout << "Мое число между 1 и 1000 " << endl
        << "Вы можете его отгадать ?" << endl
        << "Пожалуйста, напечатайте вашу первую догадку" << endl;
    cin >> otvet;
    while (soglas == "да")
    {
       while (otvet != chislo)
       {
           if (otvet < chislo)
           {
               cout << "Слишком мало. Попытайся еще раз" << endl;
               cin >> otvet;
           }
           else if (otvet > chislo)
           {
               cout << "Слишком много. Попытайся еще раз" << endl;
               cin >> otvet;
           }
       }
       if (otvet == chislo)
       {
        cout << "Отлично, вы угадали!" << endl << "Хотите сыграть еще раз ? (да или нет)" << endl;
        cin >> soglas;
       }
    }
}
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
22.03.2013, 18:38     Программу "Угадай число" #3
C++
1
while (soglas == "да")
да не сравниваются так Си строки, strcmp же
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
22.03.2013, 18:43  [ТС]     Программу "Угадай число" #4
а что такое strcmp ?
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
22.03.2013, 18:45     Программу "Угадай число" #5
Тут все расписано
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
22.03.2013, 18:45  [ТС]     Программу "Угадай число" #6
sovaz1997, в вашем варианте при ответе "да" вылетает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2013, 18:52     Программу "Угадай число"
Еще ссылки по теме:

Игра "Угадай число" C++
Игра "Угадай число" C++
C++ Нужен совет по задаче "Угадай число"
Реализовать генерацию случайных чисел для игры "Угадай число" C++
Оптимизация игры "Угадай число" C++

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

Или воспользуйтесь поиском по форуму:
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
22.03.2013, 18:52     Программу "Угадай число" #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
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include <string>
using namespace std;
int main()
{
    setlocale(0,"");
    int chislo, otvet;
    string soglas = "yes";
    cout << "Мое число между 1 и 1000 " << endl
        << "Вы можете его отгадать ?" << endl
        << "Пожалуйста, напечатайте вашу первую догадку" << endl;
    srand(time(NULL));
    chislo = 1 + rand()%10;
    while (soglas == "yes")
    {
       while (otvet != chislo)
       {
           srand(time(NULL));
    cin >> otvet;
           if (otvet < chislo)
           {
               cout << "Слишком мало. Попытайся еще раз" << endl;
           }
           else if (otvet > chislo)
           {
               cout << "Слишком много. Попытайся еще раз" << endl;
           }
       }
       if (otvet == chislo)
       {
        cout << "Отлично, вы угадали!" << endl << "Хотите сыграть еще раз ? (yes или no)" << endl;
        cin >> soglas;
        srand(time(NULL));
    chislo = 1 + rand()%10;
 
    cout << "Мое число между 1 и 1000 " << endl
        << "Вы можете его отгадать ?" << endl
        << "Пожалуйста, напечатайте вашу первую догадку" << endl;
       }
    }
}
Все отлично работает
Yandex
Объявления
22.03.2013, 18:52     Программу "Угадай число"
Ответ Создать тему
Опции темы

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