Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > увеличить кол-во попыток. можно ли?


Автор: storyteller 17.4.2013, 21:53
Подскажите,можно ли как-нибудь сделать так,чтобы давалось n-ое кол-во попыток на угадывание числа.
Код

#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
    int m,n;
    srand(time(0));
    n=rand()%5+1;
    cout<<"Vvedite chislo m="; cin>>m;
    cout<<"n="<<n<<": ";
    if (m>n) cout<<"your number is greater\n";
    else if(n>m) cout<<"your number is less\n";
    else cout<<"you have guessed right!\n";
    return 0;
}


Автор: Gluttton 17.4.2013, 22:00
Цитата(storyteller @  17.4.2013,  21:53 Найти цитируемый пост)
Подскажите,можно ли как-нибудь сделать так,чтобы давалось n-ое кол-во попыток на угадывание числа.


Да, можно. Для этого необходимо существующий код обернуть в цикл и предусмотреть досрочный выход из цикла (оператор break), для случая если число угадано.

Автор: storyteller 17.4.2013, 22:10
Благодарю

Автор: Gluttton 17.4.2013, 22:25
Цитата(storyteller @  17.4.2013,  22:10 Найти цитируемый пост)
Благодарю 

Пожалуйста!


Цитата(Gluttton @  17.4.2013,  22:00 Найти цитируемый пост)
обернуть в цикл и предусмотреть досрочный выход

Вот как-то так:
Код

#include <iostream>


int main (int argc, char * argv [])
{
    const int n = 5;    // Количество попыток.
    const int x = 42;   // "Таинственное число"
    int m = 0;

    std::cout << "Input number." << std::endl;

    for (int i = 0; i < n; ++i) {
        std::cin >> m;

        if (x == m) {
            std::cout << "Equal" << std::endl;
            break;
        }
        else {
            if (x < m) {
                std::cout << "Great" << std::endl;
            }
            else {
                std::cout << "Less" << std::endl;
            }
        }
    }

    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)