Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip> //setw
- #include <cmath> // math
- #include <fstream>
- #include <cstring>
- #include <string>
- #include <map>
- #include <algorithm>
- using namespace std;
- // Big Daddy Menu ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- // hey future coder, when menu is written it needs parameters
- // username,
- void menu(string username, string password) {
- double const SALES_TAX = .06875;
- string menu_setup, line, search, search1, key, price, psearch, psearch1;
- string buy_statement, return_statement, cart_statement; // this are size_t price_initial, price_final;
- string divvy = "======================================\n";
- int opt, current_money, price_int;
- int n1,n4; // counters for reading lines
- int ben = 1; // ben runs everything
- cout << "CAMPUS_SHOP_V2\n" << divvy << "\n";
- menu_setup = "\n1.Buy\n2.Return\n3.List\n4.Cart\n5.Quit\n>";
- fstream inventory;
- fstream cart;
- fstream inv_source;
- int case_1_choice, case_2_choice, case_3_choice, case_4_choice;
- key = username + '.' + password;
- current_money = 200;
- while(ben == 1 && current_money > 0) {
- cout << menu_setup;
- cin >> opt;
- switch(opt) {
- case 1:
- n1 = 1;
- inventory.open("txt/inventory.txt");
- if (inventory.is_open()) {
- while(!inventory.eof()) {
- getline(inventory,line);
- cout << n1 << ": " << line << "\n";
- n1 += 1;
- }
- } else {
- cout << "Somehow the inventory isn't open";
- }
- inventory.close();
- cout << "\nBuy\n" << divvy << "[Enter item]\n> ";
- cin >> case_1_choice;
- inv_source.open("txt/inv_source.txt");
- switch(case_1_choice) {
- case 1:
- search = "Father Azzarto Bobblehead";
- search1 = ":P";
- psearch = "=";
- psearch1 = ".";
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- break;
- case 2:
- search = "Gloves";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- break;
- case 3:
- search = "Large Duffle Bag";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- break;
- case 4:
- search = "Winter Hat";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 5:
- search = "Black Quilted Jacket";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 6:
- search = "Varsity Sweater";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 7:
- search = "Prep Socks";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 8:
- search = "Tie Bar";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 9:
- search = "Blue Prep Tie";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- case 10:
- search = "SPP Belt";
- search1 = ":P";
- psearch = "=";
- psearch1 = "."; /*
- size_t pos;
- size_t pos1;
- size_t price_initial;
- size_t price_final;
- */while(inv_source.good()) {
- getline(inv_source,line); // get line from file
- cout << '*' << line;
- pos=line.find(search); // search
- cout << '$' << pos;
- pos1=line.find(search1);
- cout << '#' << pos1 << endl; // for loop concenation
- //cout << "pos=" << pos <<endl;
- for(pos ; pos < pos1; pos += 1) {
- getline(inv_source, line);
- buy_statement += line[pos];
- cout << "k="<<buy_statement << endl;
- }
- }
- price_initial = line.find(psearch);
- price_initial += 1;
- price_final = line.find(psearch1);
- for(price_initial; price_initial < price_final; price_initial += 1) {
- price += line[price_initial];
- }
- //price_int = stoi(price);
- cout << "buy_statement = " <<buy_statement << endl; // +++FLAG ALERT
- cout << price_int;
- cart.open("txt/cart.txt");
- cart << key << "~" << buy_statement << endl;
- //current_money -= price_int;
- cart.close();
- inv_source.close();
- cout << "";
- break;
- }
- /*
- cart.open("txt/cart.txt");
- if(cart.is_open()) {
- cout << "HERERERERERE";
- } else {
- cout << "cart file isn't open";
- }
- */
- //inv_source.close();
- //cart.close();
- break;
- case 2:
- cout << "\nReturn\n" << divvy << "[Enter item]\n>";
- cin >> case_2_choice;
- cart.open("txt/cart.txt");
- cart.close();
- break;
- case 3:
- n4 = 1;
- cout << "\nList\n" << divvy;
- inventory.open("txt/inventory.txt");
- if (inventory.is_open()) {
- while(!inventory.eof()) {
- getline(inventory,line);
- cout << n4 << ": " << line << "\n";
- n4 += 1;
- }
- } else {
- cout << "Somehow the inventory isn't open";
- }
- inventory.close();
- break;
- case 4:
- cout << "\nCart\n" << divvy;
- cart.open("txt/cart.txt"); // fsearch thing with the key {Username and password}
- cart.close();
- break;
- case 5:
- cout << "\nQUIT\n" << divvy;// << "\n1.With items in cart\n2.Without any items\n>";
- ben -= 1;
- //cin >> case_4_choice;
- /*
- if(case_4_choice == 1) {
- ben -= 1;
- } else if(case_4_choice == 2) {
- cout << "Arrivederci";
- ben -= 1;
- }else{
- cout << "Hey, buddy what you doing my guy";
- }
- */
- break;
- default:
- cout << "Hey, hey buddy.";
- cout << "\n\n That's not an option\n\n\n\n\n\n\n\n";
- break;
- }
- }
- }
- // USERS ********************************************************
- void addNewMembers(string name, string encrypt) {
- // parameters are put to figure use variables in other functions of code
- string save;
- ofstream Users; // file stream
- Users.open("txt/Users.txt", ios::app);
- if(Users.is_open()) {
- Users << name << ':' << encrypt << '\n'; // appends to file called Users
- } else {
- cout << "Error with file opening";
- }
- Users.close();
- save = name + "." + encrypt;
- menu(name, encrypt);
- }
- void algorithmNewUser(string ps, string name_of_user) {
- string hashnsalt; // acts sorta like a transitional function
- reverse(ps.begin(),ps.end());
- hashnsalt = ps + "6" ;
- reverse(hashnsalt.begin(),hashnsalt.end());
- hashnsalt += "8";
- reverse(hashnsalt.begin(),hashnsalt.end());
- // cout << hashnsalt << "\n"; #++++++++++++++++++ FLAG ALERT
- addNewMembers(name_of_user, hashnsalt);
- }
- void newUser() {
- string username, password;
- cout << "Input a new username: ";
- cin >> username;
- while((4) != password.length()) { // if length != 4 then keep running
- cout << "Input a 4 number pin as a password: ";
- cin >> password;
- }
- algorithmNewUser(password, username);
- }
- //////////////////////////////////////// THE GREAT WALL OF USERS
- void welcomingReturningMember(string ps, string userName) { // welcomes returning user and also checks for username via password
- string username, key, line, save;
- int elseChoice;
- int j = 1; // it's the runner again
- fstream Users;
- key = userName + ":" + ps;
- Users.open("txt/Users.txt");
- if(Users.is_open()) {
- while (!Users.eof() && (j == 1)) {
- getline(Users,line);
- if(key == line) {
- cout << "Welcome back, " << userName << "!";
- break;
- }
- else {
- cout << "User not found\n";
- cout << "New Account?\n[Enter integer]\n1.Yes\n2.No\n>";
- cin >> elseChoice;
- switch(elseChoice) {
- case 1:
- j -= 1;
- newUser();
- break;
- case 2:
- j -= 1;
- cout << "Too bad, you are becoming a New Member\n\n";
- newUser();
- break;
- default:
- cout << "Okay well, that's not a choice";
- }
- }
- }
- } else {
- cout << "File not working";
- }
- save = userName + "." + ps;
- menu(userName, ps);
- }
- void returningUserAlgorithm(string pswd, string user) {
- string saltyhash; // just a standard decaration fam
- reverse(pswd.begin(),pswd.end()); // reverses the order
- saltyhash = pswd + "6";
- reverse(saltyhash.begin(),saltyhash.end());
- saltyhash += "8";
- reverse(saltyhash.begin(),saltyhash.end());// finishes the 6br8-Algoritm
- welcomingReturningMember(saltyhash, user);
- }
- void returningUser() {
- string username, password;
- cout << "Enter username: ";
- cin >> username;
- while((4) != password.length()) {
- cout << "Enter password: ";
- cin >> password;
- }
- returningUserAlgorithm(password, username);
- }
- void user() {
- int user_choice, runner = 1;
- string user_prompt;
- while(runner == 1) {
- user_prompt = "[Enter digit]\n1.New User\n2.Returning User\n>";
- cout << user_prompt;
- cin >> user_choice;
- switch(user_choice) {
- case 1:
- runner -= 1;
- newUser();
- break;
- case 2:
- runner -= 1;
- returningUser();
- break;
- default:
- cout << "Not a valid choice";
- break;
- }
- }
- }
- //
- void buyingMenu() {
- int runner = 1;
- char userChoice;
- while (runner == 1) {
- cout << "Inventory: ";
- cout << "1: Father Azzarto Bobblehead: 25 Tokens.\n";
- cout << "2: Gloves: 7 Tokens.\n";
- cout << "3: Large Duffle Bag: 30 Tokens.\n";
- cout << "4: Winter Had: 20 Tokens.\n";
- cout << "5: Black Quilted Jacket: 45 Tokens.\n";
- cout << "6: Varsity Sweater: 50 Tokens.\n";
- cout << "7: Prep Socks: 15 Tokens.\n";
- cout << "8: Tie Bar: 10 Tokens.\n";
- cout << "9: Blue Prep Tie: 30 Tokens.\n";
- cout << "10: SPP Belt: 25 Tokens.\n";
- cout << "\nSelect what item you want to buy [1-10]: \n";
- cin >> userChoice;
- switch(userChoice) {
- case 1:
- cout << "ur bad";
- break;
- } // switch statement
- } // while loop
- }
- // Lil God ########################################################
- int main() {
- cout << "Prep Campus Shop_V2" << "\n==========================\n";
- user();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement