У меня проблемы с пониманием концепции rand () и srand () в С ++. Мне нужно создать программу, которая отображает два случайных числа, чтобы пользователь вводил ответ, затем сопоставлял ответ с сообщением и делал это 5 раз.
Мой вопрос в том, как мне его использовать, в инструкциях сказано, что я не могу использовать функцию time (), и это, кажется, есть в каждом онлайн-руководстве по rand ().
это то, что у меня есть до сих пор.
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
int seed;
int response;
srand(1969);
seed=(rand()%10+1);
cout<<seed<<" * "<<seed<<" = ";
cin>>response;
cout<<response;
if(response==seed*seed)
cout<<"Correct!. you have correctly answered 1 out of 1."<<endl;
else
cout<<"Wrong!. You have correctly answered 0 out of 1."<<endl;
Это просто выводит что-то вроде 6 * 6 или 7 * 7, я думал, что переменная seed не обязательно должна быть другой, но не всегда одинаковой?
Вот как должен выглядеть результат:
3 * 5 =
34
Wrongo. You have correctly answered 0 out of 1.
8 * 1 =
23
Wrongo. You have correctly answered 0 out of 2.
7 * 1 =
7
Correct! You have correctly answered 1 out of 3.
2 * 0 =
2
Wrongo. You have correctly answered 1 out of 4.
8 * 1 =
8
Correct! You have correctly answered 2 out of 5.
Final Results: You have correctly answered 2 out of 5 for a 40% average.
и это требования:
Ваша программа должна использовать rand () для генерации псевдослучайных чисел по мере необходимости. Вы можете использовать srand () для инициализации генератора случайных чисел, но, пожалуйста, не используйте какие-либо «автоматические» инициализаторы (например, функцию time ()), поскольку они могут зависеть от платформы. Ваша программа не должна использовать какие-либо циклы.
srand()
иrand()
в C ++. Используйте<random>
, см. Ответ oldrinb. - person Walter   schedule 31.10.2013