//Diego Martinez CSC5 Chapter 7, P.490, #14
/*******************************************************************************
* DISPLAY LOTTERY GRAND PRIZE WINNER
* ______________________________________________________________________________
* This program simulates a lottery system by generating five random digits and
* comparing them to five user-entered digits.
*
* Computation is based on the Formula:
* Grand Prize Winner if Total Matches = 5
*______________________________________________________________________________
* INPUT
* Five integer digits (range 0-9)
* Five random generated digits (range 0-9)
* OUTPUT
* Generated lottery numbers
* User's entered numbers
* Number of matching digits
* Grand Prize Winner
*
*******************************************************************************/
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
// ===== CONSTANT =====
const int SIZE = 5;
// ===== FUNCTION PROTOTYPES =====
void generateLottery(int lottery[]);
void getUserNumbers(int user[]);
int countMatches(int lottery[], int user[]);
void displayResults(int lottery[], int user[], int matches);
// ===== MAIN FUNCTION =====
int main()
{
// ===== DATA DICTIONARY =====
int lottery[SIZE]; // random lottery numbers
int user[SIZE]; // user input numbers
int matches; // number of matching digits
srand(time(0)); // seed random generator
// ===== FUNCTION CALLS =====
generateLottery(lottery);
getUserNumbers(user);
matches = countMatches(lottery, user);
displayResults(lottery, user, matches);
return 0;
}
// ===== FUNCTION DEFINITIONS =====
// Generate random lottery numbers (0–9)
void generateLottery(int lottery[])
{
for (int i = 0; i < SIZE; i++)
{
lottery[i] = rand() % 10;
}
}
// Get user input
void getUserNumbers(int user[])
{
cout << "Enter 5 digits (0-9):\n";
for (int i = 0; i < SIZE; i++)
{
cin >> user[i];
}
}
// Count matching positions
int countMatches(int lottery[], int user[])
{
int count = 0;
for (int i = 0; i < SIZE; i++)
{
if (lottery[i] == user[i])
{
count++;
}
}
return count;
}
// Display results
void displayResults(int lottery[], int user[], int matches)
{
cout << "\nLottery numbers: ";
for (int i = 0; i < SIZE; i++)
{
cout << lottery[i] << " ";
}
cout << "\nYour numbers: ";
for (int i = 0; i < SIZE; i++)
{
cout << user[i] << " ";
}
cout << "\n\nMatching digits: " << matches << endl;
if (matches == SIZE)
{
cout << "Congratulations! Grand Prize Winner!\n";
}
}