//Amari Mosley CSC5 Chapter 8, P. 487, #1
/*******************************************************************************
*
* COMPUTE CHARGE VALIDATION
* ______________________________________________________________________________
*
* This program lets the user enter a charge account number
* and determines if the number is valid by searching for it
* in an initialized single-dimensional array using a linear search.
*
* INPUT
* accountNumber : The account number entered by the user
*
* OUTPUT
* Validation message : Indicates whether the account number is valid or
* invalid
*
********************************************************************************/
#include <iostream>
using namespace std;
int main ()
{
// Constants
const int NUM_ACCOUNTS = 18;
// Array of valid charge account numbers
int accounts[NUM_ACCOUNTS] = { 5658845, 4520125, 7895122, 8777541,
8451277, 1302850, 8080152, 4562555,
5552012, 5050552, 7825877, 1250255,
1005231, 6545231, 3852085, 7576651,
7881200, 4581002 };
// INPUT Variables
int accountNumber;
// Flag to indicate if the number was found
bool found = false;
// Get the charge account number from the user
cout << "Enter your charge account number: ";
cin >> accountNumber;
// Search the array for the account number
for (int index = 0; index < NUM_ACCOUNTS; index++)
{
if (accounts[index] == accountNumber)
{
found = true;
break;
}
}
// Output Result
if (found)
{
cout << "The number is valid." << endl;
}
else
{
cout << "The number is invalid." << endl;
}
return 0;
}
Ly9BbWFyaSBNb3NsZXkgQ1NDNSBDaGFwdGVyIDgsIFAuIDQ4NywgIzEKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCioKKiBDT01QVVRFIENIQVJHRSBWQUxJREFUSU9OCiogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCioKKiBUaGlzIHByb2dyYW0gbGV0cyB0aGUgdXNlciBlbnRlciBhIGNoYXJnZSBhY2NvdW50IG51bWJlciAKKiBhbmQgZGV0ZXJtaW5lcyBpZiB0aGUgbnVtYmVyIGlzIHZhbGlkIGJ5IHNlYXJjaGluZyBmb3IgaXQgCiogaW4gYW4gaW5pdGlhbGl6ZWQgc2luZ2xlLWRpbWVuc2lvbmFsIGFycmF5IHVzaW5nIGEgbGluZWFyIHNlYXJjaC4KKgoqIElOUFVUCioJCWFjY291bnROdW1iZXIgICAgICAgOiBUaGUgYWNjb3VudCBudW1iZXIgZW50ZXJlZCBieSB0aGUgdXNlcgoqCiogT1VUUFVUCioJCVZhbGlkYXRpb24gbWVzc2FnZSAgOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYWNjb3VudCBudW1iZXIgaXMgdmFsaWQgb3IgCioJCQkJCQkJICBpbnZhbGlkCioKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluICgpCnsKICAgIC8vIENvbnN0YW50cwogICAgY29uc3QgaW50IE5VTV9BQ0NPVU5UUyA9IDE4OwogICAgCiAgICAvLyBBcnJheSBvZiB2YWxpZCBjaGFyZ2UgYWNjb3VudCBudW1iZXJzCiAgICBpbnQgYWNjb3VudHNbTlVNX0FDQ09VTlRTXSA9IHsgNTY1ODg0NSwgNDUyMDEyNSwgNzg5NTEyMiwgODc3NzU0MSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODQ1MTI3NywgMTMwMjg1MCwgODA4MDE1MiwgNDU2MjU1NSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTU1MjAxMiwgNTA1MDU1MiwgNzgyNTg3NywgMTI1MDI1NSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwNTIzMSwgNjU0NTIzMSwgMzg1MjA4NSwgNzU3NjY1MSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNzg4MTIwMCwgNDU4MTAwMiB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgLy8gSU5QVVQgVmFyaWFibGVzCiAgICBpbnQgYWNjb3VudE51bWJlcjsKICAgIAogICAgLy8gRmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgbnVtYmVyIHdhcyBmb3VuZAogICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogICAgCiAgICAvLyBHZXQgdGhlIGNoYXJnZSBhY2NvdW50IG51bWJlciBmcm9tIHRoZSB1c2VyCiAgICBjb3V0IDw8ICJFbnRlciB5b3VyIGNoYXJnZSBhY2NvdW50IG51bWJlcjogIjsKICAgIGNpbiA+PiBhY2NvdW50TnVtYmVyOwogICAgCiAgICAvLyBTZWFyY2ggdGhlIGFycmF5IGZvciB0aGUgYWNjb3VudCBudW1iZXIKICAgIGZvciAoaW50IGluZGV4ID0gMDsgaW5kZXggPCBOVU1fQUNDT1VOVFM7IGluZGV4KyspCiAgICB7CiAgICAgICAgaWYgKGFjY291bnRzW2luZGV4XSA9PSBhY2NvdW50TnVtYmVyKQogICAgICAgIHsKICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgICAKICAgIC8vIE91dHB1dCBSZXN1bHQKICAgIGlmIChmb3VuZCkKICAgIHsKICAgICAgICBjb3V0IDw8ICJUaGUgbnVtYmVyIGlzIHZhbGlkLiIgPDwgZW5kbDsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBjb3V0IDw8ICJUaGUgbnVtYmVyIGlzIGludmFsaWQuIiA8PCBlbmRsOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==