task3pre.cpp

URL: https://mirkwood.cs.edinboro.edu/~bennett/class/cmsc2040/fall2026/notes/dice/code/task3pre.cpp
 
#include <iostream>
#include <iomanip>

using namespace std;

struct DieT {  
    int sides{6};
    unsigned int seed{1};
    int value;
};

void RollDieAndPrint(DieT dieA, DieT dieB);

int main() {

   srand(static_cast<int>(time(nullptr)));

   DieT die1,
        die2;

   die1.seed = static_cast<unsigned int>(rand());
   die2.seed = static_cast<unsigned int>(rand()); 

   cout << "Die 1 then  Die 2" << endl;
   RollDieAndPrint(die1, die2);
   cout << endl;
   cout << "Die 2 then Die 1" << endl;
   RollDieAndPrint(die2, die1);

   return 0;
}

void RollDieAndPrint(DieT dieA, DieT dieB){

   for(int i = 0; i < 10; ++i) {
      dieA.value = rand_r(&dieA.seed) % 6 + 1;
      dieB.value = rand_r(&dieB.seed) % 6 + 1;
      cout << setw(20) << dieA.value << setw(20) << dieB.value << endl;
   }
}