fork download
  1. //Diego Martinez CSC5 Chapter 7, P.490, #14
  2. /*******************************************************************************
  3. * DISPLAY LOTTERY GRAND PRIZE WINNER
  4. * ______________________________________________________________________________
  5. * This program simulates a lottery system by generating five random digits and
  6. * comparing them to five user-entered digits.
  7. *
  8. * Computation is based on the Formula:
  9. * Grand Prize Winner if Total Matches = 5
  10. *______________________________________________________________________________
  11. * INPUT
  12. * Five integer digits (range 0-9)
  13. * Five random generated digits (range 0-9)
  14. * OUTPUT
  15. * Generated lottery numbers
  16. * User's entered numbers
  17. * Number of matching digits
  18. * Grand Prize Winner
  19. *
  20. *******************************************************************************/
  21. #include <iostream>
  22. #include <cstdlib>
  23. #include <ctime>
  24. using namespace std;
  25.  
  26. // ===== CONSTANT =====
  27. const int SIZE = 5;
  28.  
  29. // ===== FUNCTION PROTOTYPES =====
  30. void generateLottery(int lottery[]);
  31. void getUserNumbers(int user[]);
  32. int countMatches(int lottery[], int user[]);
  33. void displayResults(int lottery[], int user[], int matches);
  34.  
  35. // ===== MAIN FUNCTION =====
  36. int main()
  37. {
  38. // ===== DATA DICTIONARY =====
  39. int lottery[SIZE]; // random lottery numbers
  40. int user[SIZE]; // user input numbers
  41. int matches; // number of matching digits
  42.  
  43. srand(time(0)); // seed random generator
  44.  
  45. // ===== FUNCTION CALLS =====
  46. generateLottery(lottery);
  47. getUserNumbers(user);
  48. matches = countMatches(lottery, user);
  49. displayResults(lottery, user, matches);
  50.  
  51. return 0;
  52. }
  53.  
  54. // ===== FUNCTION DEFINITIONS =====
  55.  
  56. // Generate random lottery numbers (0–9)
  57. void generateLottery(int lottery[])
  58. {
  59. for (int i = 0; i < SIZE; i++)
  60. {
  61. lottery[i] = rand() % 10;
  62. }
  63. }
  64.  
  65. // Get user input
  66. void getUserNumbers(int user[])
  67. {
  68. cout << "Enter 5 digits (0-9):\n";
  69. for (int i = 0; i < SIZE; i++)
  70. {
  71. cin >> user[i];
  72. }
  73. }
  74.  
  75. // Count matching positions
  76. int countMatches(int lottery[], int user[])
  77. {
  78. int count = 0;
  79.  
  80. for (int i = 0; i < SIZE; i++)
  81. {
  82. if (lottery[i] == user[i])
  83. {
  84. count++;
  85. }
  86. }
  87.  
  88. return count;
  89. }
  90.  
  91. // Display results
  92. void displayResults(int lottery[], int user[], int matches)
  93. {
  94. cout << "\nLottery numbers: ";
  95. for (int i = 0; i < SIZE; i++)
  96. {
  97. cout << lottery[i] << " ";
  98. }
  99.  
  100. cout << "\nYour numbers: ";
  101. for (int i = 0; i < SIZE; i++)
  102. {
  103. cout << user[i] << " ";
  104. }
  105.  
  106. cout << "\n\nMatching digits: " << matches << endl;
  107.  
  108. if (matches == SIZE)
  109. {
  110. cout << "Congratulations! Grand Prize Winner!\n";
  111. }
  112. }
Success #stdin #stdout 0.01s 5312KB
stdin
3 7 2 9 5
stdout
Enter 5 digits (0-9):

Lottery numbers: 1 1 2 6 7 
Your numbers:    3 7 2 9 5 

Matching digits: 1