/*******************************************************************************
* Aiden Stannard // CS1A // Chapter 8 Homework: Challange 1# // 11/7/2026
*
* Charge Amount Validation
*
* This program validates user entered charge account number by checking it
* from a list of 18 valid account numbers.
*
* Inputs:
* Enter a charge account number__
* Output:
* This number is ___("invalid" or "valid")
******************************************************************************/
#include <iostream>
using namespace std;
// Function to perform a simple linear search on a single-dimensional array
bool linearSearch(const int [], int, int);
int main()
{
// Array size declaration
const int ARRAY_SIZE = 18;
// account numbers
int validAccounts[ARRAY_SIZE] = {
5658845, 4520125, 7895122, 8777541, 8451277, 1302850,
8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
1005231, 6545231, 3852085, 7576651, 7881200, 4581002
};
int userNumber;
cout << "Enter a charge account number: ";
cin >> userNumber;
// Determine if the number is valid using the linear search function
if (linearSearch(validAccounts, ARRAY_SIZE, userNumber))
{
cout << "The number is valid." << endl;
}
else
{
cout << "The number is invalid." << endl;
}
return 0;
}
bool linearSearch(const int accounts[], int size, int target)
{
for (int i = 0; i < size; i++)
{
if (accounts[i] == target)
{
return true; // Match found
}
}
return false; // returns false bool value if if statement does not apply
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQWlkZW4gU3Rhbm5hcmQgLy8gQ1MxQSAvLyBDaGFwdGVyIDggSG9tZXdvcms6IENoYWxsYW5nZSAxIyAvLyAxMS83LzIwMjYKICogCiAqIENoYXJnZSBBbW91bnQgVmFsaWRhdGlvbgogKiAKICogVGhpcyBwcm9ncmFtIHZhbGlkYXRlcyB1c2VyIGVudGVyZWQgY2hhcmdlIGFjY291bnQgbnVtYmVyIGJ5IGNoZWNraW5nIGl0IAogKiBmcm9tIGEgbGlzdCBvZiAxOCB2YWxpZCBhY2NvdW50IG51bWJlcnMuCiAqIAogKiBJbnB1dHM6IAogKiBFbnRlciBhIGNoYXJnZSBhY2NvdW50IG51bWJlcl9fCiAqIE91dHB1dDogCiAqIFRoaXMgbnVtYmVyIGlzIF9fXygiaW52YWxpZCIgb3IgInZhbGlkIikKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVuY3Rpb24gdG8gcGVyZm9ybSBhIHNpbXBsZSBsaW5lYXIgc2VhcmNoIG9uIGEgc2luZ2xlLWRpbWVuc2lvbmFsIGFycmF5CmJvb2wgbGluZWFyU2VhcmNoKGNvbnN0IGludCBbXSwgaW50LCBpbnQpOwoKaW50IG1haW4oKSAKewogICAgLy8gQXJyYXkgc2l6ZSBkZWNsYXJhdGlvbgogICAgY29uc3QgaW50IEFSUkFZX1NJWkUgPSAxODsKICAgIC8vIGFjY291bnQgbnVtYmVycwogICAgaW50IHZhbGlkQWNjb3VudHNbQVJSQVlfU0laRV0gPSB7CiAgICAgICAgNTY1ODg0NSwgNDUyMDEyNSwgNzg5NTEyMiwgODc3NzU0MSwgODQ1MTI3NywgMTMwMjg1MCwKICAgICAgICA4MDgwMTUyLCA0NTYyNTU1LCA1NTUyMDEyLCA1MDUwNTUyLCA3ODI1ODc3LCAxMjUwMjU1LAogICAgICAgIDEwMDUyMzEsIDY1NDUyMzEsIDM4NTIwODUsIDc1NzY2NTEsIDc4ODEyMDAsIDQ1ODEwMDIKICAgIH07CgogICAgaW50IHVzZXJOdW1iZXI7CiAgICAKICAgIGNvdXQgPDwgIkVudGVyIGEgY2hhcmdlIGFjY291bnQgbnVtYmVyOiAiOwogICAgY2luID4+IHVzZXJOdW1iZXI7CgogICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBudW1iZXIgaXMgdmFsaWQgdXNpbmcgdGhlIGxpbmVhciBzZWFyY2ggZnVuY3Rpb24KICAgIGlmIChsaW5lYXJTZWFyY2godmFsaWRBY2NvdW50cywgQVJSQVlfU0laRSwgdXNlck51bWJlcikpIAogICAgewogICAgICAgIGNvdXQgPDwgIlRoZSBudW1iZXIgaXMgdmFsaWQuIiA8PCBlbmRsOwogICAgfSAKICAgIAogICAgZWxzZSAKICAgIHsKICAgICAgICBjb3V0IDw8ICJUaGUgbnVtYmVyIGlzIGludmFsaWQuIiA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cgpib29sIGxpbmVhclNlYXJjaChjb25zdCBpbnQgYWNjb3VudHNbXSwgaW50IHNpemUsIGludCB0YXJnZXQpIAp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgCiAgICB7CiAgICAgICAgaWYgKGFjY291bnRzW2ldID09IHRhcmdldCkgCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gTWF0Y2ggZm91bmQKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7IC8vIHJldHVybnMgZmFsc2UgYm9vbCB2YWx1ZSBpZiBpZiBzdGF0ZW1lbnQgZG9lcyBub3QgYXBwbHkKfQo=