//Jonathan Estrada CSC5 Chapter 8, P.487, #2
/*******************************************************************************
* DETERMINE LOTTARY TICKET
* _____________________________________________________________________________
* This program will receive a lottary ticket combination from the user and tell
* them if they won or not.
* _____________________________________________________________________________
* INPUT
* lottoNumbers n : all possible winning numbers
* SIZE : array size
* userLottoTicket : user lottary ticket number
* OUTPUT
* result : the return value of if it was found
* *****************************************************************************/
#include <iostream>
using namespace std;
int lottoMatchSearch( const int[], int, int);
const int SIZE = 10;
int main() {
int lottoNumbers[SIZE] = {13579, 26791, 26792, 33445, 55555, 62483, 77777,
79422, 85647, 93121 };
int userLottoTicket;
int result;
cout << "Please enter lotto ticket digits: ";
cin >> userLottoTicket;
cout << userLottoTicket << endl;
result = lottoMatchSearch(lottoNumbers, SIZE, userLottoTicket);
if(result == -1)
cout << "You are not a winner." << endl;
else
cout << "Winning ticket. ";
return 0;
}
/*******************************************************************************
* Definition of function lottoNumbers.
* This function will look for possible matches to the lottary numbers in the
* array and return its value.
*
* *****************************************************************************/
int lottoMatchSearch(const int lottoNumbers[], int SIZE, int userLottoTicket)
{
int index = 0;
int positon = -1;
bool found = false;
while(index < SIZE && !found)
{
if(lottoNumbers[index] == userLottoTicket)
{
found = true;
positon = index;
}
index++;
}
return positon;
}
Ly9Kb25hdGhhbiBFc3RyYWRhICAgICAgICAgICAgICAgICAgQ1NDNSAgICAgICAgICAgICAgICAgICAgQ2hhcHRlciA4LCBQLjQ4NywgIzIKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogREVURVJNSU5FIExPVFRBUlkgVElDS0VUCiAqIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiAqIFRoaXMgcHJvZ3JhbSB3aWxsIHJlY2VpdmUgYSBsb3R0YXJ5IHRpY2tldCBjb21iaW5hdGlvbiBmcm9tIHRoZSB1c2VyIGFuZCB0ZWxsCiAqIHRoZW0gaWYgdGhleSB3b24gb3Igbm90LgogKiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogKiBJTlBVVAogKiAgIGxvdHRvTnVtYmVycyBuICAgOiAgYWxsIHBvc3NpYmxlIHdpbm5pbmcgbnVtYmVycyAKICogICBTSVpFICAgICAgICAgICAgIDogIGFycmF5IHNpemUKICogICB1c2VyTG90dG9UaWNrZXQgIDogIHVzZXIgbG90dGFyeSB0aWNrZXQgbnVtYmVyCiAqIE9VVFBVVAogKiAgIHJlc3VsdCAgICAgICAgICAgOiB0aGUgcmV0dXJuIHZhbHVlIG9mIGlmIGl0IHdhcyBmb3VuZAogKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGxvdHRvTWF0Y2hTZWFyY2goIGNvbnN0IGludFtdLCBpbnQsIGludCk7CmNvbnN0IGludCBTSVpFID0gMTA7CgppbnQgbWFpbigpIHsKCQoJaW50IGxvdHRvTnVtYmVyc1tTSVpFXSA9ICB7MTM1NzksIDI2NzkxLCAyNjc5MiwgMzM0NDUsIDU1NTU1LCA2MjQ4MywgNzc3NzcsCgk3OTQyMiwgODU2NDcsIDkzMTIxCX07CgkKCWludCB1c2VyTG90dG9UaWNrZXQ7CglpbnQgcmVzdWx0OwoJCgljb3V0IDw8ICJQbGVhc2UgZW50ZXIgbG90dG8gdGlja2V0IGRpZ2l0czogIjsKCWNpbiA+PiB1c2VyTG90dG9UaWNrZXQ7Cgljb3V0IDw8IHVzZXJMb3R0b1RpY2tldCA8PCBlbmRsOwoJCglyZXN1bHQgPSBsb3R0b01hdGNoU2VhcmNoKGxvdHRvTnVtYmVycywgU0laRSwgdXNlckxvdHRvVGlja2V0KTsKCQoJaWYocmVzdWx0ID09IC0xKQoJCWNvdXQgPDwgIllvdSBhcmUgbm90IGEgd2lubmVyLiIgPDwgZW5kbDsKCWVsc2UKCQljb3V0IDw8ICJXaW5uaW5nIHRpY2tldC4gIjsKCQoJcmV0dXJuIDA7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogRGVmaW5pdGlvbiBvZiBmdW5jdGlvbiBsb3R0b051bWJlcnMuCiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBsb29rIGZvciBwb3NzaWJsZSBtYXRjaGVzIHRvIHRoZSBsb3R0YXJ5IG51bWJlcnMgaW4gdGhlCiAqIGFycmF5IGFuZCByZXR1cm4gaXRzIHZhbHVlLgogKiAKICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmludCBsb3R0b01hdGNoU2VhcmNoKGNvbnN0IGludCBsb3R0b051bWJlcnNbXSwgaW50IFNJWkUsIGludCB1c2VyTG90dG9UaWNrZXQpCnsKCWludCBpbmRleCA9IDA7CglpbnQgcG9zaXRvbiA9IC0xOwoJYm9vbCBmb3VuZCA9IGZhbHNlOwoJCgl3aGlsZShpbmRleCA8IFNJWkUgJiYgIWZvdW5kKQoJewoJCWlmKGxvdHRvTnVtYmVyc1tpbmRleF0gPT0gdXNlckxvdHRvVGlja2V0KQoJCXsKCQkJZm91bmQgPSB0cnVlOwoJCQlwb3NpdG9uID0gaW5kZXg7CgkJfQoJCWluZGV4Kys7Cgl9CglyZXR1cm4gcG9zaXRvbjsKfQ==