Solved

a math game for some kids

Posted on 2004-04-15
6
391 Views
Last Modified: 2011-09-20
I am trying to write a math program for some kids I work with who are visually impaired and just need a little advice on a couple issues.  For one, I'm writing the program in C, and I'm trying to generate random numbers for the problems which are asked.  I seeded the generator with srand((unsigned)time(NULL)) at the beginning and am trying to exclude 0 from being generated as a possible number for a problem.  For example: firstint = rand()%maxint.  Maxint is defined according to how far the player has progressed in the game.  I want the generated number to be between 1 and maxint.  Any suggestions?  Thanks a lot in advance.
0
Comment
Question by:guyster104
6 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 50 total points
ID: 10834614
firstint = 1+rand()%maxint;
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 10835054
if you use ozo way you could end up one over MaxInt so you could use

FirstInt = 1 + rand() % (MaxInt-1);
0
 
LVL 84

Expert Comment

by:ozo
ID: 10838008
1 + rand() % (MaxInt-1); will never return a value of MaxInt
0
Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 11

Expert Comment

by:Jase-Coder
ID: 10841226
why wouldnt it?

Say MaxInt = 5

I have took one away from MaxInt so,

the line of code could look like

rand() % 4

That means a number between 0 and 4 could be generated. The I have added one to the result so a number between 1 and 5 can be generated.

If your talking about the order of precedance guyster should use:

FirstInt = (rand() % (MaxInt-1)) + 1
0
 
LVL 1

Expert Comment

by:MortimerCat
ID: 10846887
Its been a few years since I have used C, so the loop construct is probably wrong, but the concept is there.

If you are not too sure about what Max & Min values you may end up with, you could always build in a safety net.

do
     FirstInt = 1 + rand() % (MaxInt-1);
until Firstint >=1 and FirstInt <=MaxInt
0
 

Author Comment

by:guyster104
ID: 10862540
Ozo's method worked well.  The program is well on its way to completion.  I would love to spice it up with some visual elements, such as dialogue boxes and a Windows style interface, but since I myself am visually impaired, don't know if I want to brave that one just yet.  Thanks to all for the suggestions.  Keep up the good work.

Guy
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
splitOdd10 challenge 5 116
Scripting vs. Programming languages 25 179
Basic Java Case or If-Else statement... 3 57
Create .bat File 16 37
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question