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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Psixodelik
40 / 39 / 2
Регистрация: 27.11.2009
Сообщений: 100
#1

while и последний повтор цикла - C++

27.11.2009, 00:22. Просмотров 1042. Ответов 3
Метки нет (Все метки)

Привет всем...дело вот в чём: я пишу блекджек(консольную версию) и в процессе наткнулся на трудность...у пользователя есть выбор взять карту или нет(цифра 1 что бы взять и цифра 2 что бы нет), что бы не вдаваться в теор.вер. и использовать if, я решил воспользоваться while...суть такова что пока нажимаеться цифра 1 всё норм, при использовании 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
             while (k != 2) 
    {
        cout << "Нажмите 1 что бы взять карту " << endl;
                 cout << "Нажмите 2 что бы оставить карты " << endl;
        cin >> k;
    
    
     for (int i = 0; i <=1; i++) 
        ik = 0 + rand() % 5; // выброс случайной карты игрока
 
    for (int i = 0; i <=1; i++)
        im = 0 + rand() % 3; // выброс случайной масти игрока
 
    cout << "Ваша карта " << a[ik] << b[im] << endl << endl;
    s = s + a[ik];
    cout << "Сумма карт = " << s << endl;
 
    if (s > 21)
        cout << "Перебор. Вы проиграли!";
    else 
        if (s == 21)
            cout << "Блекджек. Вы выйграли, поздравляю !";
     }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2009, 00:22     while и последний повтор цикла
Посмотрите здесь:

Повтор случайного числа в строке матрицы C++
C++ Одномерный массив с проверкой элементов на повтор
C++ Повтор программы после ввода символа
Повтор слов в файле C++
как организовать повтор ввода данных C++
C++ Повтор арифметической операции
C++ Повтор кода в dev c++
C++ Угол между стрелками часов С++ (не повтор)
Проверка на повтор при записи в файл C++
C++ Повтор действий
Реализовать повтор программы по усмотрению пользователя C++
Повтор генереруемых номеров C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
27.11.2009, 00:27     while и последний повтор цикла #2
Psixodelik, используй do{}while(...)
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.11.2009, 00:30     while и последний повтор цикла #3
Psixodelik, Если я правильно понял что Вы хотите, тогда предлагаю вариант такой вводите еще одну переменную, например int a, присваиваете ей значение 1 (перед while). while переписываете так: while(a==1), в строке 18 пишите:
C++
1
2
if(s>20)
a=0;
и все.
Psixodelik
40 / 39 / 2
Регистрация: 27.11.2009
Сообщений: 100
27.11.2009, 00:38  [ТС]     while и последний повтор цикла #4
valeriikozlov, вариант хороший, но в таком случае нарушиться алгоритм...так как игрок может остановиться например и на сумме = 17...но всё равно спасибо...учту варинт


M128K145, спасибо за подсказку...попробую
Yandex
Объявления
27.11.2009, 00:38     while и последний повтор цикла
Ответ Создать тему
Опции темы

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