Генератор чисел C++ выводит одно и то же число
Я делаю программу, которая 100 раз имитирует бросание костей и отслеживает, сколько из каждого числа было брошено. Проблема в том, что генератор чисел продолжает выводить одно и то же число снова и снова. Он складывает все это вместе, но это всего лишь одно число, которое выводится. Вот код:
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int Diceroll (int);
int main() {
int num = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0;
int i = 0, j = 100;
for(int i = 0; i < j; i++) {
num = 0;
num = Diceroll(num);
cout << num << endl;
if(num == 1) {
sum1 += 1;
}
else if(num == 2) {
sum2 += 1;
}
else if(num == 3) {
sum3++;
}
else if(num == 4) {
sum4++;
}
else if(num == 5) {
sum5++;
}
else if(num == 6) {
sum6++;
}
}
cout << "1 was rolled " << sum1 << " times." << endl;
cout << "2 was rolled " << sum2 << " times." << endl;
cout << "3 was rolled " << sum3 << " times." << endl;
cout << "4 was rolled " << sum4 << " times." << endl;
cout << "5 was rolled " << sum5 << " times." << endl;
cout << "6 was rolled " << sum6 << " times." << endl;
return 0;
}
int Diceroll (int num) {
srand(time(0));
num = (rand()%6) + 1;
return num;
}