Simple C++ lottery program @KTSI

Here is a simple C++ lottery program done for the KTSI.

#include <iostream>
#include <cstdlib>

using namespace std;
	
int main (int argc, char * const argv[]) {
	
	int numberCount;
	int maxNumbers;
	
	cout << "Lottery Game" << endl << "=================================" << endl;
	cout << "How many Lottery Numbers = ";
	cin >> numberCount;
	cout << "from 1 to ? ";
	cin >> maxNumbers;
	cout << "You have chosen " << numberCount << " Lottery Numbers from 1 to " << maxNumbers << endl;
	
	int lotteryNumbers[numberCount];
	int i, j;
	bool newNumber;
	
	srand(0);
	for(i=0; i<numberCount; i++) // get numbers
	{
		do  
		{   // Check Random
			lotteryNumbers[i] = rand() % maxNumbers + 1;
			newNumber = true;
			for (j=0; j<i; j++)
			{  
				if (lotteryNumbers[j]==lotteryNumbers[i])
				{ // Check for existing numbers
					newNumber = false;
				}
			}
		} while (!newNumber);
	}
	for (i=0; i<numberCount; i++)
	{
		cout << lotteryNumbers[i] << " ";
	}
	cout << endl;
}

Related Posts:

One thought on “Simple C++ lottery program @KTSI

  1. Could you tell what I am doing wrong on this program. I am only getting two integers. I want the loop to perform five times and calculate r = rand_0toN1(56) + 1 and on the sixth time perform s = rand_0toN1(46) +1.
    I am only getting to two integers.

    // Test.cpp : main project file.

    #include “stdafx.h”
    #include “iostream”
    #include “stdlib.h”
    #include “time.h”
    #include “math.h”
    using namespace std;

    //Declare functions before starting.
    int rand_0toN1(int n);
    void pick_a_number();

    int main() {
    int i;
    int n;

    srand(time(NULL)); //Set seed for random numbers.

    cout << "Enter number of trials to run ";
    cout <> n;

    for( i = 1; i <= n; i++) {
    pick_a_number();
    }
    return 0;
    }
    //Pick_a_number function
    //Performs picking one num by getting a random 1-56 and
    //a random 1-46. These are then used to index the string arrays,
    // rows.
    void pick_a_number() {
    int i;
    int r; //Random index (1 thru 56)
    int s; //Random index (1 thru 46)
    i = 0;
    while (i < 6) {
    if (i != 6)
    r = rand_0toN1(56) + 1;
    else if (i == 6)
    s = rand_0toN1(46) + 1;
    i++;
    }
    cout << r << " " << s << " "; //Print out results.
    }
    //Random 1-to-N function.
    //Generate a random integer from 1 to N, giving each
    //integer an equal probability.
    int rand_0toN1(int n) {
    return (rand() % n) + 1;
    }

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>