// Timothy Price CS1A Ch 8 Challenge 2
/******************************************************************************
* Determine lottery winer
*
* This program receives a value with a number of digits and determines if
* that value is within a preset list of values.
*
* Input:
* Lottery number
* Output:
* Win/loss identifier
*****************************************************************************/
#include <iostream>
using namespace std;
// constant value for number of lottery tickets
const int SIZE = 10;
int main() {
// data dictionary
int lotteryNumbers[SIZE] = { // Lottery numbers purchased weekly
13579, 26791, 26792, 33445, 55555, 62483, 77777, 79422, 85647, 93121
};
int winner; // Winning number
const int maxNumber = 99999; // Values for input validation, to only
const int minNumber = 10000; // accept a 5 digit number.
bool isValid = false; // Boolean value for successful match
// Receive input value
cout << "Enter the 5 digit winning lottery number: ";
cin >> winner;
cout << winner << endl;
// Input validation
if (winner < minNumber || winner > maxNumber) {
cout << "Invalid entry, enter a 5 digit number: ";
cin >> winner;
cout << winner << endl;
}
// Linear search
for (int i = 0; i < SIZE; i++) {
if (lotteryNumbers[i] == winner) {
isValid = true;
break;
}
}
// Display output
if (isValid) {
cout << "You have won this week!" << endl;
}
else {
cout << "You did not win this week, sorry." << endl;
}
return 0;
}
Ly8gVGltb3RoeSBQcmljZQkJCQlDUzFBCQkJCUNoIDggQ2hhbGxlbmdlIDIKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBEZXRlcm1pbmUgbG90dGVyeSB3aW5lcgogKiAKICogVGhpcyBwcm9ncmFtIHJlY2VpdmVzIGEgdmFsdWUgd2l0aCBhIG51bWJlciBvZiBkaWdpdHMgYW5kIGRldGVybWluZXMgaWYgCiAqIHRoYXQgdmFsdWUgaXMgd2l0aGluIGEgcHJlc2V0IGxpc3Qgb2YgdmFsdWVzLgogKiAKICogSW5wdXQ6CiAqICBMb3R0ZXJ5IG51bWJlcgogKiBPdXRwdXQ6CiAqICBXaW4vbG9zcyBpZGVudGlmaWVyCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIGNvbnN0YW50IHZhbHVlIGZvciBudW1iZXIgb2YgbG90dGVyeSB0aWNrZXRzCmNvbnN0IGludCBTSVpFID0gMTA7CgppbnQgbWFpbigpIHsKCQoJLy8gZGF0YSBkaWN0aW9uYXJ5CglpbnQgbG90dGVyeU51bWJlcnNbU0laRV0gPSB7CQkvLyBMb3R0ZXJ5IG51bWJlcnMgcHVyY2hhc2VkIHdlZWtseQoJMTM1NzksIDI2NzkxLCAyNjc5MiwgMzM0NDUsIDU1NTU1LCA2MjQ4MywgNzc3NzcsIDc5NDIyLCA4NTY0NywgOTMxMjEKCX07CglpbnQgd2lubmVyOwkJCQkJCQkvLyBXaW5uaW5nIG51bWJlcgoJY29uc3QgaW50IG1heE51bWJlciA9IDk5OTk5OwkJLy8gVmFsdWVzIGZvciBpbnB1dCB2YWxpZGF0aW9uLCB0byBvbmx5Cgljb25zdCBpbnQgbWluTnVtYmVyID0gMTAwMDA7CQkvLyBhY2NlcHQgYSA1IGRpZ2l0IG51bWJlci4KCWJvb2wgaXNWYWxpZCA9IGZhbHNlOwkJCQkvLyBCb29sZWFuIHZhbHVlIGZvciBzdWNjZXNzZnVsIG1hdGNoCgkKCS8vIFJlY2VpdmUgaW5wdXQgdmFsdWUKCWNvdXQgPDwgIkVudGVyIHRoZSA1IGRpZ2l0IHdpbm5pbmcgbG90dGVyeSBudW1iZXI6ICI7CgljaW4gPj4gd2lubmVyOwoJY291dCA8PCB3aW5uZXIgPDwgZW5kbDsKCQoJLy8gSW5wdXQgdmFsaWRhdGlvbgoJaWYgKHdpbm5lciA8IG1pbk51bWJlciB8fCB3aW5uZXIgPiBtYXhOdW1iZXIpIHsKCQljb3V0IDw8ICJJbnZhbGlkIGVudHJ5LCBlbnRlciBhIDUgZGlnaXQgbnVtYmVyOiAiOwoJCWNpbiA+PiB3aW5uZXI7CgkJY291dCA8PCB3aW5uZXIgPDwgZW5kbDsKCX0KCQoJLy8gTGluZWFyIHNlYXJjaAoJZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyBpKyspIHsKCQlpZiAobG90dGVyeU51bWJlcnNbaV0gPT0gd2lubmVyKSB7CgkJCWlzVmFsaWQgPSB0cnVlOwoJCQlicmVhazsKCQl9Cgl9CgkKCS8vIERpc3BsYXkgb3V0cHV0CglpZiAoaXNWYWxpZCkgewoJCWNvdXQgPDwgIllvdSBoYXZlIHdvbiB0aGlzIHdlZWshIiA8PCBlbmRsOwoJfQoJCWVsc2UgewoJCQljb3V0IDw8ICJZb3UgZGlkIG5vdCB3aW4gdGhpcyB3ZWVrLCBzb3JyeS4iIDw8IGVuZGw7CgkJfQoJCglyZXR1cm4gMDsKfQ==