rand() выдает одинаковое число

364
16 ноября 2017, 04:47
#include "stdafx.h"
#include <iostream>
#include "string"
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    cout << "Make the number from 1 to 6" << endl;
    srand(static_cast<unsigned int>(time(0)));
    int number = rand() % 6+1;
    string answer;
    do {
        cout << "Is your number " << number << "?" << endl;
        cin >> answer;
        if (answer == "yes")
        {
            cout << "Your number is " << number << endl;
        }

    }
    while (answer!="yes");


return 0;
}

Подскажите, пожалуйста. Есть код выше. По идее, каждый цикл он должен у юзера спрашивать, правильное ли число он загадал (юзер в голове число держит). Число от 1 до 6 и оно должно каждый цикл быть разным. Когда программа отгадает, выводит инструкцию из if. Но у меня постоянно выбивается число 6 вместо разных чисел. В каком месте я ошибся?

Answer 1

Привет. Попробуй перед тем, как ты будешь использовать ф-ию rand вызвать ф-ию randomize для инициализации.

 ...
 randomize();
 int number = rand() % 6+1;
 string answer;
 ...
READ ALSO
Конвертация координат latitude &amp; longitute в UTM

Конвертация координат latitude & longitute в UTM

Пытаюсь понять, как работает конвертация координаторов из latitute и longitute в UTMНашел также на сайте GeographicLib пример

358
Как из строки построить дерево операций?

Как из строки построить дерево операций?

Есть на входе строка, допустим известное char expr="2+2*2" которое должно дать 6

327
Больше случайности в C++ [дубликат]

Больше случайности в C++ [дубликат]

На данный вопрос уже ответили:

479
Наложение Images в PictureBox

Наложение Images в PictureBox

Нужно в PictureBox наложить картинки одну на другую фон у них прозрачный по этому не должны перекрывать друг друга

381