Ok so my first thread got deleted, due to spam. However, I still need help with my program. So here's my program description.

Electronic submission: You are to electronically submit your assignment through Moodle at clasess.cs.siue.edu.

Objectives: Loops and decisions.

Problem Description
Write a program to simulate a game of dice rolling. The dice will be rolled by three players, with each player rolling one die each. Each player will continue rolling a die and adding its value to their total up to that point. The player whose total goes over twenty first wins. To generate the player’s roll, a random number generator will be used, as shown below.

If two players go over twenty with the same roll, then the player with the largest number wins. If the two winners have the same number, then it is a tie. Remember there can be three way ties, also.

After each player rolls, the program should display a vertical graph of each player’s total points to pictorially show who is winning at that point.

In order to randomly “throw” the die, you must include the following statements:
Include the following prototypes:
#include<ctime>

The following should be the first statement in main():
srand((unsigned)time(NULL));

When you need to roll the die:
die = (rand() % 6) + 1; // die is a variable name that you made up

I am suppose to use X's to keep tally of the score, using setw().

Also here's my code so far, which isn't that far along at all, due to the fact that I am not a good programmer when dealing with complex programs. I know this probably isn't that hard but for me it it. So any help would be great

//Name: Nick Auffarth
//Class: CS140-003
//Assignment: Program 2
//Date: September 24, 2006
#include <iostream>
#include <iomanip>
#include <ctime>
#include <string>
using namespace std;



void main()
{
	srand((unsigned)time(NULL));
	
	int die;	
	string name1, name2, name3;
	

	cout << "Programmed by Nick Auffarth" << endl << endl;
	cout << "The first person to roll a total of 20 wins." << endl;
	cout <<"If more than two cross the 20 mark, then the one with the highest" << endl;
	cout << "total wins." << endl << endl;
	cout <<"Enter Player One's First Name: ";
	cin >> name1;
	cout <<"Enter Player Two's First Name: ";
	cin >> name2;	
	cout <<"Enter Player Three's First Name: ";
	cin >> name3;

	
	
	
	
	
	
	
	cout<<setw(10);
	cout<<"x"<<endl;
	
	
}

Recommended Answers

All 13 Replies

I am a newbie too at this programming stuff. Maybe we can work on the algorithm together to help get you started? Do you want the program to "roll" the dice three times before it displays the results of all three players? Or roll once, and then display one result before rolling again? I figured either one of those would be the next step in your algorithm after you entered the players names.

Yeah I want the program to roll the dice once for each player, show the result of the row, dispalys x's in a column that corresponds with the number rolled. I need to keep doing this until one of them "wins." There hardest part I have is the rolling of the die, when ever it rolls I get the same number for each player. Also I need the x's in the columns to correspond with each new sum.

In my book, it says you have to use the header file cstdlib to use function rand to generate a random number. Do you think using #include<cstdlib> would help? Wasn't sure since your instructions mentioned ctime header file...maybe they are similar.

I don;t know but I'll try it see if that works.

I still get the same numbers.

hmm, ok. I'll keep looking to see if I can find something that might explain that.

I ran that example program on that webpage, and it did change the random number (after running the program twice). It seems you have to change the srand value from srand ( time(NULL) ); to srand (1); after rolling the die.

I am so lost..........

You might be calling srand(), but I don't see any code calling rand() as yet.
Post your latest code.

> It seems you have to change the srand value from srand ( time(NULL) );
> to srand (1); after rolling the die.
Calling srand(time(NULL)); just ONCE at the start of the program is usually sufficient to change things around from one run to another.

Its pretty much unchanged as the first code i posted. I am completely lost, and I'm at wits end.

But you've just claimed you've been calling rand(), yet I see no evidence of it.

How's it going NicAuf? Were you able to figure out your code? Salem wants you to show all your code (if you are having problem with the die rolling, then you have more code than you are showing). It's the best way ppl can help. Don't give up!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.