//Nathan Dominguez CSC5 Chapter 8, P.487, #2
//
/*******************************************************************************
*
* Determine Lottery Winner with Linear Search
* ____________________________________________________________________________
* This prorgam will prompt the user to enter this week's winning 5-digit
* numbers. The program will then use a linear search to validate the numbers
* to the list of numbers given.
*______________________________________________________________________________
* INPUT
* number : Numbers entered
* num[] : Array for numbers given
*
* Output
* result : ouput for when the user wins or not
******************************************************************************/
#include <iostream>
#include <iomanip>
using namespace std;
//PROTOTYPE search()
int search(int num[], //Input - Numbers given array
int number, //Input - Number entered
const int SIZE); //Array size
int main()
{
const int SIZE = 10; //Size of the array
int num[SIZE] = {13579, 26791, 26792, 33445, //CONSTANT - array numbers
55555, 62483, 77777, 79422, 85647, 93121};
int number; //INPUT - number entered by the user
int result; //OUTPUT - value to hold if its found or not
//
//INPUT - enter number
cout << "Please enter this week's winning 5-digit numbers " << endl;
cin >> number;
//
//Invoke search function
result = search(num, number, SIZE);
//
//Output if user did not win
if(result < 1)
cout<<"Oh No! You did not win. Sorry!"<<endl;
//
//Output if user won
else
cout<<"Woohoo!! You Won!!"<<endl;
return 0;
}
int search(int num[], int number, const int SIZE)
{
int index = 0; //counter
bool found = false; //Flag to indicate if value was found
//
//VALIDATE
while( index < SIZE && !found)
{
if(num[index] == number)
found = true; // Set flag
index++;
}
return found;
}
Ly9OYXRoYW4gRG9taW5ndWV6ICAgICAgICAgICAgICAgICAgIENTQzUgICAgICAgICAgICAgICAgICAgQ2hhcHRlciA4LCBQLjQ4NywgIzIKLy8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogCiAqIERldGVybWluZSBMb3R0ZXJ5IFdpbm5lciB3aXRoIExpbmVhciBTZWFyY2gKICogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogKiBUaGlzIHByb3JnYW0gd2lsbCBwcm9tcHQgdGhlIHVzZXIgdG8gZW50ZXIgdGhpcyB3ZWVrJ3Mgd2lubmluZyA1LWRpZ2l0IAogKiBudW1iZXJzLiBUaGUgcHJvZ3JhbSB3aWxsIHRoZW4gdXNlIGEgbGluZWFyIHNlYXJjaCB0byB2YWxpZGF0ZSB0aGUgbnVtYmVycyAKICogdG8gdGhlIGxpc3Qgb2YgbnVtYmVycyBnaXZlbi4KICpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICogSU5QVVQKICogICBudW1iZXIgICAgICAgICA6IE51bWJlcnMgZW50ZXJlZAogKiAgIG51bVtdICAgICAgICAgIDogQXJyYXkgZm9yIG51bWJlcnMgZ2l2ZW4KICogCiAqIE91dHB1dAogKiAgIHJlc3VsdCAgICAgICAgIDogb3VwdXQgZm9yIHdoZW4gdGhlIHVzZXIgd2lucyBvciBub3QKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogLy9QUk9UT1RZUEUgc2VhcmNoKCkKaW50IHNlYXJjaChpbnQgbnVtW10sICAgICAgICAgICAvL0lucHV0IC0gTnVtYmVycyBnaXZlbiBhcnJheQoJCSAgIGludCBudW1iZXIsICAgICAgICAgIC8vSW5wdXQgLSBOdW1iZXIgZW50ZXJlZAoJCSAgIGNvbnN0IGludCBTSVpFKTsJICAgIC8vQXJyYXkgc2l6ZQogCiAKaW50IG1haW4oKQp7Cgljb25zdCBpbnQgU0laRSA9IDEwOwkgICAgLy9TaXplIG9mIHRoZSBhcnJheQoJaW50IG51bVtTSVpFXSA9IHsxMzU3OSwgMjY3OTEsIDI2NzkyLCAzMzQ0NSwgLy9DT05TVEFOVCAtIGFycmF5IG51bWJlcnMKCQkJCQkgNTU1NTUsIDYyNDgzLCA3Nzc3NywgNzk0MjIsIDg1NjQ3LCA5MzEyMX07CiAKCWludCBudW1iZXI7CQkJCSAgIC8vSU5QVVQgLSBudW1iZXIgZW50ZXJlZCBieSB0aGUgdXNlcgoJaW50IHJlc3VsdDsJCQkJICAgLy9PVVRQVVQgLSB2YWx1ZSB0byBob2xkIGlmIGl0cyBmb3VuZCBvciBub3QKLy8KLy9JTlBVVCAtIGVudGVyIG51bWJlcgoJY291dCA8PCAiUGxlYXNlIGVudGVyIHRoaXMgd2VlaydzIHdpbm5pbmcgNS1kaWdpdCBudW1iZXJzICIgPDwgZW5kbDsKCWNpbiA+PiBudW1iZXI7Ci8vCi8vSW52b2tlIHNlYXJjaCBmdW5jdGlvbgoJcmVzdWx0ID0gc2VhcmNoKG51bSwgbnVtYmVyLCBTSVpFKTsKLy8KLy9PdXRwdXQgaWYgdXNlciBkaWQgbm90IHdpbgoJaWYocmVzdWx0IDwgMSkKCQljb3V0PDwiT2ggTm8hIFlvdSBkaWQgbm90IHdpbi4gU29ycnkhIjw8ZW5kbDsKLy8KLy9PdXRwdXQgaWYgdXNlciB3b24KCWVsc2UKCQljb3V0PDwiV29vaG9vISEgWW91IFdvbiEhIjw8ZW5kbDsKCXJldHVybiAwOwp9CiAKaW50IHNlYXJjaChpbnQgbnVtW10sIGludCBudW1iZXIsIGNvbnN0IGludCBTSVpFKQp7CglpbnQgaW5kZXggPSAwOwkJCS8vY291bnRlcgoJYm9vbCBmb3VuZCA9IGZhbHNlOyAgICAgLy9GbGFnIHRvIGluZGljYXRlIGlmIHZhbHVlIHdhcyBmb3VuZAovLwovL1ZBTElEQVRFCiAgICB3aGlsZSggaW5kZXggPCBTSVpFICYmICFmb3VuZCkKICAgIHsKICAgIAlpZihudW1baW5kZXhdID09IG51bWJlcikKICAgIAkJZm91bmQgPSB0cnVlOyAgLy8gU2V0IGZsYWcKICAgIAlpbmRleCsrOwoJfQogICAgcmV0dXJuIGZvdW5kOwp9