Your main function should prompt the user for the number of rolls. You need a fu
ID: 3761292 • Letter: Y
Question
Your main function should prompt the user for the number of rolls. You need a function to do the rolling and keeping track of the rolls. You need a function that will print out the statistics. You also need a function to print out the histogram. (4 function in all, including main)
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
int i = 0; // Loop counter iterates numRolls times
int numRolls = 0; // User defined number of rolls
int numTwos = 0;
int numThrees = 0;
int numFours = 0;
int numFives = 0;
int numSixes = 0; // Tracks number of 6s found
int numSevens = 0;
int numEights = 0;
int numNines = 0;
int numTens = 0;
int numElevens = 0;
int numTwelve = 0;// Tracks number of 7s found
int die1 = 0; // Dice values
int die2 = 0; // Dice values
int rollTotal = 0; // Sum of dice values
int idK = 0;
cout << "Enter number of rolls: " << endl;
cin >> numRolls;
srand(time(0));
while (numRolls >= 0){
if (numRolls >= 1) {
// Roll dice numRoll times
for (i = 0; i < numRolls; ++i) {
die1 = rand() % 6 + 1;
die2 = rand() % 6 + 1;
rollTotal = die1 + die2;
// Count number of sixs and sevens
if (rollTotal == 2){
numTwos = numTwos + 1;
}
else if (rollTotal == 3) {
numThrees = numThrees++;
}
else if (rollTotal == 4){
numFours = numFours++;
}
else if (rollTotal == 5){
numFives = numFives++;
}
else if (rollTotal == 6) {
numSixes = numSixes + 1;
}
else if (rollTotal == 7) {
numSevens = numSevens + 1;
}
else if (rollTotal == 8){
numEights = numEights++;
}
else if (rollTotal == 9){
numNines = numNines++;
}
else if (rollTotal == 10){
numTens = numTens++;
}
else if (rollTotal == 11){
numElevens = numElevens++;
}
else if (rollTotal == 12){
numTwelve = numTwelve++;
}
cout << endl << "Roll " << (i + 1) << " is "
<< rollTotal << " (" << die1
<< "+" << die2 << ")";
}
// Print statistics on dice rolls
cout << endl << endl;
cout << "Dice roll statistics:" << endl;
cout << "2s: " << numTwos << endl;
cout << "3s: " << numThrees << endl;
cout << "4s: " << numFours << endl;
cout << "5s: " << numFives << endl;
cout << "6s: " << numSixes << endl;
cout << "7s: " << numSevens << endl;
cout << "8s: " << numEights << endl;
cout << "9s: " << numNines << endl;
cout << "10s: " << numTens << endl;
cout << "11s: " << numElevens << endl;
cout << "12s: " << numTwelve << endl;
cout << "Dice roll histogram: " << endl;
cout << "2s: ";
for (i = 1; i <= numTwos; i++){
cout << "*";
}
cout << endl;
cout << "3s: ";
for (i = 1; i <= numThrees; i++){
cout << "*";
}
cout << endl;
cout << "4s: ";
for (i = 1; i <= numFours; i++){
cout << "*";
}
cout << endl;
cout << "5s: ";
for (i = 1; i <= numFives; i++){
cout << "*";
}
cout << endl;
cout << "6s: ";
for (i = 1; i <= numSixes; i++){
cout << "*";
}
cout << endl;
cout << "7s: ";
for (i = 1; i <= numSevens; i++){
cout << "*";
}
cout << endl;
cout << "8s: ";
for (i = 1; i <= numEights; i++){
cout << "*";
}
cout << endl;
cout << "9s: ";
for (i = 1; i <= numNines; i++){
cout << "*";
}
cout << endl;
cout << "10s: ";
for (i = 1; i <= numTens; i++){
cout << "*";
}
cout << endl;
cout << "11s: ";
for (i = 1; i <= numElevens; i++){
cout << "*";
}
cout << endl;
cout << "12s: ";
for (i = 1; i <= numTwelve; i++){
cout << "*";
}
cout << endl;
}
else {
cout << "Invalid rolls. Try again." << endl;
}
return 0;
}
return 0;
}
Explanation / Answer
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int numRolls = 0; // User defined number of rolls
int numTwos = 0;
int numThrees = 0;
int numFours = 0;
int numFives = 0;
int numSixes = 0; // Tracks number of 6s found
int numSevens = 0;
int numEights = 0;
int numNines = 0;
int numTens = 0;
int numElevens = 0;
int numTwelve = 0;// Tracks number of 7s found
void rollDice(int numRolls) {
int die1 = 0; // Dice values
int die2 = 0; // Dice values
int i;
int rollTotal = 0; // Sum of dice values
srand(time(0));
for (i = 0; i < numRolls; ++i) {
die1 = rand() % 6 + 1;
die2 = rand() % 6 + 1;
rollTotal = die1 + die2;
// Count number of sixs and sevens
if (rollTotal == 2){
numTwos = numTwos + 1;
}
else if (rollTotal == 3) {
numThrees++;
}
else if (rollTotal == 4){
numFours++;
}
else if (rollTotal == 5){
numFives++;
}
else if (rollTotal == 6) {
numSixes++;
}
else if (rollTotal == 7) {
numSevens++;
}
else if (rollTotal == 8){
numEights++;
}
else if (rollTotal == 9){
numNines++;
}
else if (rollTotal == 10){
numTens++;
}
else if (rollTotal == 11){
numElevens++;
}
else if (rollTotal == 12){
numTwelve++;
}
cout << endl << "Roll " << (i + 1) << " is "
<< rollTotal << " (" << die1
<< "+" << die2 << ")";
}
}
void printStatistics() {
// Print statistics on dice rolls
cout << endl << endl;
cout << "Dice roll statistics:" << endl;
cout << "2s: " << numTwos << endl;
cout << "3s: " << numThrees << endl;
cout << "4s: " << numFours << endl;
cout << "5s: " << numFives << endl;
cout << "6s: " << numSixes << endl;
cout << "7s: " << numSevens << endl;
cout << "8s: " << numEights << endl;
cout << "9s: " << numNines << endl;
cout << "10s: " << numTens << endl;
cout << "11s: " << numElevens << endl;
cout << "12s: " << numTwelve << endl;
}
void histogram() {
int i;
cout << "Dice roll histogram: " << endl;
cout << "2s: ";
for (i = 1; i <= numTwos; i++){
cout << "*";
}
cout << endl;
cout << "3s: ";
for (i = 1; i <= numThrees; i++){
cout << "*";
}
cout << endl;
cout << "4s: ";
for (i = 1; i <= numFours; i++){
cout << "*";
}
cout << endl;
cout << "5s: ";
for (i = 1; i <= numFives; i++){
cout << "*";
}
cout << endl;
cout << "6s: ";
for (i = 1; i <= numSixes; i++){
cout << "*";
}
cout << endl;
cout << "7s: ";
for (i = 1; i <= numSevens; i++){
cout << "*";
}
cout << endl;
cout << "8s: ";
for (i = 1; i <= numEights; i++){
cout << "*";
}
cout << endl;
cout << "9s: ";
for (i = 1; i <= numNines; i++){
cout << "*";
}
cout << endl;
cout << "10s: ";
for (i = 1; i <= numTens; i++){
cout << "*";
}
cout << endl;
cout << "11s: ";
for (i = 1; i <= numElevens; i++){
cout << "*";
}
cout << endl;
cout << "12s: ";
for (i = 1; i <= numTwelve; i++){
cout << "*";
}
cout << endl;
}
int main(){
cout << "Enter number of rolls: ";
cin >> numRolls;
rollDice(numRolls);
cout<<" ";
printStatistics();
cout<<" ";
histogram();
cout<<" ";
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.