Advertisement
shadowlucario50

C++ Buy Your Bed

Apr 29th, 2025
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.88 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <ctime>
  4. #include <iomanip>
  5. #include <climits>
  6.  
  7. void buyList(bool item1, bool item2, bool item3);
  8. void showBalance(int balance);
  9. int buy(int item, int money, bool item1, bool item2, bool item3);
  10. int work(bool item1, bool item2, bool item3);
  11.  
  12. //bool confirm();
  13.  
  14. int main(){
  15.     srand(time(0));
  16.     int choice = 0;
  17.     int item = 0;
  18.     bool item1 = false;
  19.     bool item2 = false;
  20.     bool item3 = false;
  21.     int money = 0;
  22.     int moneyAfter = money;
  23.     int totalMoney = money;
  24.     int sellingItem;
  25.     int hour = 12;
  26.  
  27.     std::cout << "*************\n";
  28.     std::cout << "Buy Your Bed!\n";
  29.     std::cout << "*************\n";
  30.  
  31.     std::cout << "In this simple game, you work jobs and get cash! Buy all the items to win!\n\n";
  32.  
  33.     do{
  34.         if(hour > 1){
  35.             std::cout << "You have " << hour << " hours left to buy your bed!\n";
  36.         }
  37.         else if(hour == 1) {
  38.             std::cout << "You have " << hour << " hour left to buy your bed!\n";
  39.         }
  40.         else{
  41.             std::cout << "You are out of time.\n";
  42.             break;
  43.         }
  44.         showBalance(money);
  45.         std::cout << "1. Buy\n";
  46.         //std::cout << "2. Sell\n";
  47.         std::cout << "2. Work\n";
  48.         std::cout << "3. Exit\n";
  49.         std::cin >> choice;
  50.  
  51.         std::cin.clear();
  52.         std::cin.ignore(INT_MAX,'\n');
  53.  
  54.         switch(choice) {
  55.             //Buy
  56.             case 1:
  57.                 buyList(item1,item2,item3);
  58.                 std::cout << "Choose an item to buy!\n";
  59.                 moneyAfter -= buy(item,money,item1,item2,item3);
  60.                 if(moneyAfter == money - 50){
  61.                     item1 = true;
  62.                     money = moneyAfter;
  63.                 }
  64.                 else if(moneyAfter == money - 200){
  65.                     item2 = true;
  66.                     money = moneyAfter;
  67.                 }
  68.                 else if(moneyAfter == money - 500){
  69.                     item3 = true;
  70.                     money = moneyAfter;
  71.                 }
  72.                 break;
  73.             //Sell
  74.             /*case 2:
  75.                
  76.                 break;*/
  77.             //Work
  78.             case 2:
  79.                 moneyAfter += work(item1,item2,item3);
  80.                 totalMoney += work(item1,item2,item3);
  81.                 if(moneyAfter > money){
  82.                     hour--;
  83.                 }
  84.                 money = moneyAfter;
  85.                 break;
  86.             //Exit
  87.             case 3:
  88.                 std::cout << "Leaving early, aren't you? Okay then!\n";
  89.                 break;
  90.             default:
  91.                 std::cout << "Please choose a valid option.\n";
  92.                 break;
  93.         }
  94.  
  95.     }while(choice != 3);
  96.    
  97.     std::cout << "\nLet's see the results!\n\n";
  98.  
  99.     //If Full Set
  100.     if(item1 == true && item2 == true && item3 == true){
  101.         std::cout << "You worked hard and got your full bed! Sleep well!\n";
  102.     }
  103.     //If Quitting Immediately
  104.     else if(money == 0 && item1 == false && item2 == false && item3 == false) {
  105.         std::cout << "Not even trying, are you? Well, good night then...\n";
  106.     }
  107.     //If Only Have Pillow
  108.     else if(item1 == true && item2 == false && item3 == false) {
  109.         std::cout << "At least you got a pillow! Much better than a rock!\n";
  110.     }
  111.     //If Only Have Blanket
  112.     else if(item1 == false && item2 == true && item3 == false) {
  113.         std::cout << "You have a blanket to keep you warm at night! That's still something!\n";
  114.     }
  115.     //If Only Have Mattress
  116.     else if(item1 == false && item2 == false && item3 == true) {
  117.         std::cout << "A mattress is pretty nice! No longer have to sleep on the ground!\n";
  118.     }
  119.     //If Only Have Pillow and Blanket
  120.     else if(item1 == true && item2 == true && item3 == false) {
  121.         std::cout << "Warm and cozy with something to rest your head on! That's good enough!\n";
  122.     }
  123.     //If Only Have Pillow and Mattress
  124.     else if(item1 == true && item2 == false && item3 == true) {
  125.         std::cout << "Something to lay on and support your head! Got the priorities of comfort ready!\n";
  126.     }
  127.     //If Only Have Blanket and Mattress
  128.     else if(item1 == false && item2 == true && item3 == true) {
  129.         std::cout << "Something to cover you and lay on! A pretty good combo!\n";
  130.     }
  131.     //If Nothing Was Bought
  132.     else{
  133.         std::cout << "You worked hard but couldn't get anything for a bed... Time to find a comfy rock!\n";
  134.     }
  135.  
  136.     std::cout << "\nFinal Money: $" << money << '\n';
  137.     std::cout << "Total Earnings: $" << totalMoney << '\n';
  138. }
  139.  
  140. void buyList(bool item1, bool item2, bool item3){
  141.    
  142.     if(item1 == false){
  143.         std::cout << "1. Pillow - $50\n";
  144.     }
  145.     if(item2 == false){
  146.         std::cout << "2. Blanket - $200\n";
  147.     }
  148.     if(item3 == false){
  149.         std::cout << "3. Mattress - $500\n";
  150.     }
  151.     std::cout << "4. Back\n";
  152. }
  153.  
  154. void showBalance(int balance){
  155.     std::cout << "Current Cash: $" << balance << '\n';
  156. }
  157.  
  158. int buy(int item, int money, bool item1, bool item2, bool item3){
  159.     int choice1;
  160.     //int choice2;
  161.    
  162.     //Do loops not work in other functions when called?
  163.     do{
  164.         std::cin >> choice1;
  165.         std::cin.clear();
  166.         std::cin.ignore(INT_MAX,'\n');
  167.  
  168.         switch(choice1) {
  169.             case 1:
  170.                 //choice2 = confirm();
  171.                 if (money >= 50 && item1 == false){
  172.                     return 50;
  173.                 }
  174.                 else if(item1 == true){
  175.                     std::cout << "Already bought that item.\n";
  176.                     return 0;
  177.                 }
  178.                 else {
  179.                     std::cout << "Need more cash!\n";
  180.                     return 0;
  181.                 }
  182.                 break;
  183.             case 2:
  184.                 //choice2 = confirm();
  185.                 if (money >= 200 && item2 == false){
  186.                     return 200;
  187.                 }
  188.                 else if(item2 == true){
  189.                     std::cout << "Already bought that item.\n";
  190.                     return 0;
  191.                 }
  192.                 else{
  193.                     std::cout << "Need more cash!\n";
  194.                     return 0;
  195.                 }
  196.                 break;
  197.             case 3:
  198.                 //choice2 = confirm();
  199.                 if (money >= 500 && item3 == false){
  200.                     return 500;
  201.                 }
  202.                 else if(item3 == true){
  203.                     std::cout << "Already bought that item.\n";
  204.                     return 0;
  205.                 }
  206.                 else{
  207.                     std::cout << "Need more cash!\n";
  208.                     return 0;
  209.                 }
  210.                 break;
  211.             case 4:
  212.                 //choice2 = confirm();
  213.                 return 0;
  214.                 break;
  215.             default:
  216.                 std::cout << "Choose a valid option.\n";
  217.                 return 0;
  218.                 break;
  219.         }
  220.     }while (choice1 =! 4);
  221. }
  222.  
  223. int work(bool item1, bool item2, bool item3){
  224.     int bonus = 1;
  225.     if(item1 == true || item2 == true || item3 == true) {
  226.         bonus *= 2;
  227.     }
  228.     else if(item1 == true && item2 == true || item1 == true && item3 == true || item2 == true && item3 == true) {
  229.         bonus *=4;
  230.     }
  231.     else if(item1 == true && item2 == true && item3 == true) {
  232.         bonus *=8;
  233.     }
  234.     return rand() % 40 * bonus + (20 * bonus);
  235. }
  236.  
  237. /*
  238. bool confirm(){
  239.     int choice;
  240.     std::cout << "Confirm?\n";
  241.     std::cout << "1: Yes\n";
  242.     std::cout << "2: No\n";
  243.     do{
  244.         std::cin >> choice;
  245.         std::cin.clear();
  246.         std::cin.ignore(INT_MAX,'\n');
  247.  
  248.         switch(choice){
  249.             case 1:
  250.                 return true;
  251.                 break;
  252.             case 2:
  253.                 return false;
  254.                 break;
  255.             default:
  256.                 break;
  257.         }
  258.     }while(choice != 1 || choice != 2);
  259. }
  260. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement