// Wyatt Carey CS1A Chapter 8, P. 487, #1
/*******************************************************************************
* Charge Account Number
* _____________________________________________________________________________
* This program has an single-dimensional array, containing a linear search to
* find the account number inputted. It will then display the number if its
* valid or show a message indicating if its not valid.
* _____________________________________________________________________________
*
* INPUTS
* account number
*
* OUTPUTS
* display message stating it's valid or not valid
* ****************************************************************************/
#include <iostream>
using namespace std;
// Function Prototype
int searchList(const int [], int, int); // Will become function header
const int NUMBER = 126; // Size of the array
int main()
{
// Variable Dictionary
int acc[NUMBER] = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850,
8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
1005231, 6545231, 3852085, 7576651, 7881200, 4581002};
int acNum; // Cin input
int account_number; // Assigning variable to acNum
// Ask For Account Number.
cout << "What is your account number? \n";
cin >> acNum;
// Search Array For acNum.
account_number = searchList(acc, NUMBER, acNum);
// If searchList Returned -1, Then acNum Wasn't Found.
if (account_number == -1)
cout << "Invalid account number. Type in correct account number" << endl;
else
{
cout << "This is your account number: " << acNum << endl;
}
return 0;
}
//******************************************************************************
// The searchList functions will perform a linear search to find the account *
// number inputted. If its not found, the array subscript is returned. *
//******************************************************************************
int searchList(const int list[], int numElems, int value)
{
int index = 0;
int position = -1;
bool found = false;
// Linear search
while (index < numElems && !found)
{
if (list [index] == value)
{
found = true;
position = index;
}
index++;
}
return position;
}
Ly8gV3lhdHQgQ2FyZXkJCQkJCSAgICBDUzFBCQkJCSAgIENoYXB0ZXIgOCwgUC4gNDg3LCAjMQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDaGFyZ2UgQWNjb3VudCBOdW1iZXIKICogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICogVGhpcyBwcm9ncmFtIGhhcyBhbiBzaW5nbGUtZGltZW5zaW9uYWwgYXJyYXksIGNvbnRhaW5pbmcgYSBsaW5lYXIgc2VhcmNoIHRvIAogKiBmaW5kIHRoZSBhY2NvdW50IG51bWJlciBpbnB1dHRlZC4gSXQgd2lsbCB0aGVuIGRpc3BsYXkgdGhlIG51bWJlciBpZiBpdHMgCiAqIHZhbGlkIG9yIHNob3cgYSBtZXNzYWdlIGluZGljYXRpbmcgaWYgaXRzIG5vdCB2YWxpZC4KICogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICogCiAqIElOUFVUUwogKiAgYWNjb3VudCBudW1iZXIKICogCiAqIE9VVFBVVFMKICoJZGlzcGxheSBtZXNzYWdlIHN0YXRpbmcgaXQncyB2YWxpZCBvciBub3QgdmFsaWQKICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVuY3Rpb24gUHJvdG90eXBlCmludCBzZWFyY2hMaXN0KGNvbnN0IGludCBbXSwgaW50LCBpbnQpOyAvLyBXaWxsIGJlY29tZSBmdW5jdGlvbiBoZWFkZXIKY29uc3QgaW50IE5VTUJFUiA9IDEyNjsgLy8gU2l6ZSBvZiB0aGUgYXJyYXkKCmludCBtYWluKCkgCnsKCS8vIFZhcmlhYmxlIERpY3Rpb25hcnkKCWludCBhY2NbTlVNQkVSXSA9IHs1NjU4ODQ1LCA0NTIwMTI1LCA3ODk1MTIyLCA4Nzc3NTQxLCA4NDUxMjc3LCAxMzAyODUwLAoJICAgICAgICAgICAgICAgICAgIDgwODAxNTIsIDQ1NjI1NTUsIDU1NTIwMTIsIDUwNTA1NTIsIDc4MjU4NzcsIDEyNTAyNTUsCgkgICAgICAgICAgICAgICAgICAgMTAwNTIzMSwgNjU0NTIzMSwgMzg1MjA4NSwgNzU3NjY1MSwgNzg4MTIwMCwgNDU4MTAwMn07CglpbnQgYWNOdW07IC8vIENpbiBpbnB1dAoJaW50IGFjY291bnRfbnVtYmVyOyAgLy8gQXNzaWduaW5nIHZhcmlhYmxlIHRvIGFjTnVtCgkKCS8vIEFzayBGb3IgQWNjb3VudCBOdW1iZXIuCgljb3V0IDw8ICJXaGF0IGlzIHlvdXIgYWNjb3VudCBudW1iZXI/IFxuIjsKCWNpbiA+PiBhY051bTsKCQoJLy8gU2VhcmNoIEFycmF5IEZvciBhY051bS4KCWFjY291bnRfbnVtYmVyID0gc2VhcmNoTGlzdChhY2MsIE5VTUJFUiwgYWNOdW0pOwoJCgkvLyBJZiBzZWFyY2hMaXN0IFJldHVybmVkIC0xLCBUaGVuIGFjTnVtIFdhc24ndCBGb3VuZC4KCWlmIChhY2NvdW50X251bWJlciA9PSAtMSkKCQljb3V0IDw8ICJJbnZhbGlkIGFjY291bnQgbnVtYmVyLiBUeXBlIGluIGNvcnJlY3QgYWNjb3VudCBudW1iZXIiIDw8IGVuZGw7CgllbHNlCgl7CgkJY291dCA8PCAiVGhpcyBpcyB5b3VyIGFjY291bnQgbnVtYmVyOiAiIDw8IGFjTnVtIDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQoKLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLy8gVGhlIHNlYXJjaExpc3QgZnVuY3Rpb25zIHdpbGwgcGVyZm9ybSBhIGxpbmVhciBzZWFyY2ggdG8gZmluZCB0aGUgYWNjb3VudCAgICoKLy8gbnVtYmVyIGlucHV0dGVkLiBJZiBpdHMgbm90IGZvdW5kLCB0aGUgYXJyYXkgc3Vic2NyaXB0IGlzIHJldHVybmVkLiAgICAgICAgICoKLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCmludCBzZWFyY2hMaXN0KGNvbnN0IGludCBsaXN0W10sIGludCBudW1FbGVtcywgaW50IHZhbHVlKQp7CglpbnQgaW5kZXggPSAwOwoJaW50ICBwb3NpdGlvbiA9IC0xOwoJYm9vbCBmb3VuZCA9IGZhbHNlOwoJCgkvLyBMaW5lYXIgc2VhcmNoCgl3aGlsZSAoaW5kZXggPCBudW1FbGVtcyAmJiAhZm91bmQpCgl7CgkJaWYgKGxpc3QgW2luZGV4XSA9PSB2YWx1ZSkKCQl7CgkJCWZvdW5kID0gdHJ1ZTsKCQkJcG9zaXRpb24gPSBpbmRleDsKCQl9CgkJaW5kZXgrKzsKCX0KCXJldHVybiBwb3NpdGlvbjsKfQ==