Thread: can someone look at my code and provide suggestions ?

  1. #16
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    Posts
    14,336
    Quote Originally Posted by atlas07 View Post
    ok, i have reformatted my code and sorted out my issue. For all those who were unhappy.
    I now have a new problem, how would i output the commission value in case 4? (line 107).
    here i have tried using
    Code:
    cout << "\n5% commission of total sales is " << commission = 0.05 * total_sales << "\n\n\n";
    to assign commission a value, but i get the error

    illegal use of floating point.

    Any ideas?
    I led you slightly astray there -- you need parentheses around the expression to keep the order of operations in the right place:
    Code:
    cout << "\n5% commission of total sales is " << (commission = 0.05 * total_sales) << "\n\n\n";

  2. #17
    Registered User
    Join Date
    Apr 2010
    Posts
    25
    Quote Originally Posted by Salem View Post
    Oh, and FWIW, your original post with board-friendly spaces only for indentation
    Code:
    #include <iostream>          //the usual headers are used including string
    #include <string>
    #include <conio.h>
    
    void WeeklySales();                   //these are functions i created
    
    
    main()
    {
      int number;                           // declare variables
      char answer;
      double sales, sales_amount, quantity, total_sales, vat, commission;
    
      sales = (sales_amount * quantity);          //initialise variables
      total_sales = (sales + vat);
    
      do {                                 //start of a do-while loop
        //output displays the menu
        cout << "\n\n******Sales System******";
        cout << ("\n\n");
        cout << "1. Display Company Logo.\n"; endl;
        cout << "2. Input/Validate weekly sales data.\n";endl;
        cout << "3. Calculate weekly sales.\n";endl;
        cout << "4. Display reciept.\n";endl;
        cout << "5. SHUT DOWN & LOG OFF.\n";endl;
        cout << "\nEnter a number...\n";endl;        //prompts the user
    
        cin >> number;                     //input
        cout << ("\n\n");
    
        switch (number)  //<--the expression is a variable (number) & controls
        //the switch the value of (number) is tested against a list of
        //constants. When a match is found, the statement sequence
        //assosciated with that match is executed.
        {
        case 1:    //<-----  const = 1
    
          //displays the company logo
          cout << "\n\tUU\tUU \tEEEEEEEE \tLL\t\t \SSSSSSS\n\tUU\tU";
          cout << "U \tEE \t\tLL\t\tS\n\tUU\tUU \tEE \t\tLL\t\tS\n\t";
          cout << "UU\tUU \tEEEEEEE \t\LL\t\t\ SSSSSS\n\tUU\tUU \tEE";
          cout << " \t\tLL\t\t       S\n\tUU\tUU  \tEE  \t  \t\LL  ";
          cout << "\t\t       S \n\t UUUUUUUU   *\tEEEEEEEE  *\tLLLLL";
          cout << "LL  *\tSSSSSSS   *\n\n\n\n\n";
    
          //the break statement causes program flow to exit from the entire switch statement
          break;
    
        case 2:   //<------const = 2. if match found, executes,
          //then calls the weeklysales function below
    
          cout << ("\nWeekly sales data\n\----------------- ");
          WeeklySales();  //<-------------   function call here
          break;
    
        case 3:
    
          cout << ("\nCalculate weekly sales \n\n");
          cout << "\n\nWould you like to calculate the weekly sales ? y/n\n";
          cin >> answer;
    
          //a switch within a switch
          switch (answer)  {
          case 'n':       //<---if 'n' is entered the text is ouputted
            cout << "\n\n\nThank You!\n\n";
            break;  //<----break takes it out of the switch
          case 'y':  //<---if 'y' then program is run below
            cout << "\n\nTOTAL SALES = sales amount * quantity\n" << endl;
            cout << "\nEnter the sales amount\n";
            cin >>  sales_amount;
            cout << "\nEnter the quantity\n" ;
            cin >>  quantity ;
    
            sales = (sales_amount * quantity);
            cout << "\n" << sales_amount << "  *  " << quantity << " = " << sales << "\n";
            cout << "\n" << "Sales is: \t" << sales << "\n";
    
            vat = 0.175*sales;
            total_sales = (sales + vat);
            cout << "\VAT is :\t  " << vat << "\nTOTAL SALES inc VAT is: \t" << total_sales << "\n";
    
            if(total_sales<=25)
              cout << " and No commission";
            else if(total_sales<=50)
              cout << "\n5% commission of total sales is " << 0.05 * total_sales << "\n\n\n";
            else if(total_sales<=75)
              cout << "\n10% commission of total sales is " << 0.10 * total_sales << "\n\n\n";
            else if(total_sales>75)
              cout << "\n20% commission of total sales is " << 0.20 * total_sales << "\n\n\n";
          }     //<-------end of the switch statement within the switch statement (nested)
          break;
        case 4:      //displaying the invoice
    
          cout << ("\nDisplay receipt \n\n");
          cout << "\nUELS INVOICE\n";
          cout << "------------\n\n";
          cout << "Sales Amount :   " << sales_amount << "\n";
          cout << "Quantity :       " << quantity << "\n";
          cout << "Sales :          " << sales << "\n";
          cout << "VAT :            " << vat << "\n";
          cout << "Total Sales :    " << total_sales << "\n";
          cout << "Commission :     " << commission << "\n";  //<------------------i couldn't figure out how to calculate the commission
          cout << "\n\n\n\n\n";
          break;
    
        case 5:
    
          cout << ("\nGoodbye, and thank you for using U.E.L.S. \n\n");break;
    
          //default statement sequence is executed if no matches are found
        default:
    
          cout << ("Enter a number from 1-5 only!\n\n\n\n\n\n");
    
        }
      } while (number !=5); //program will NOT stop looping till 5 is entered
      getch();
    }
    
    
    
    void WeeklySales() //<--------weekly sales function not part of main() function
    {                  //when function is completed, goes back to case 3:
      //declare variables
      int sales_code, bikeprice, model_code, quantity;
      string date;
      char answer; //either yes or no
    
      cout << "\n\nWould you like to input weekly sales data ? \n";
      cin >> answer;
      switch (answer)  {
      case 'n':       //
        cout << "\n\n\nThank You!\n\n";
        break;
      case 'y':
        do
        //the instructions to enter the i.d. code will be repeated (do...while
        //loop) as long as the sales_code is less than 1 or greater than 20.
        {
    
          cout << "\n\nPlease enter your identifiction code \n";
          cin >> sales_code;
    
          //the condition is tested
          if (sales_code < 1 || sales_code > 20)
          {
            cout << ("\nTHIS I.D. CODE IS NOT VALID. TRY AGAIN \n");
          }
        }
        //the instructions to enter the i.d. code will be repeated (do...while
        //loop) as long as the salescode is less than 1 or greater than 20.
        while (1 > sales_code || sales_code > 20);
    
        //another do...while loop
        do
        {
          cout << "\nPlease enter the bike price (one unit = 1 Euro) \n";
          cin >> bikeprice;
    
          if (bikeprice < 1 || bikeprice > 500)
          {
            cout << ("\nINVALID PRICE. Bike prices cannot be 0 or more than 500. TRY AGAIN \n");
          }
        }
        while (bikeprice < 1 || bikeprice > 500);
    
        //another do...while loop
        do
        {
          cout << "\nPlease enter the 3 digit model code \n";
          cin >> model_code;
    
          if (model_code < 0 || model_code > 999)
          {
            cout << ("\nINVALID MODEL CODE. TRY AGAIN \n");
          }
        }
        while (model_code < 0 || model_code > 999);
    
        //another do...while loop
        do
        {
          cout << ("\nPlease enter the quantity sold \n");
          cin >> quantity;
    
          if (quantity < 1 || quantity > 10)
          {
            cout << ("\nINVALID QUANTITY. TRY A NUMBER FROM 1-10 \n");
          }
        }
        while (quantity < 1 || quantity > 10);
    
        do {
          cout << "\nPlease enter the date in this format dd/mm/yyyy: \n";
          cin >> date;
    
          cout << "\nIs this the correct date ?\t" << date << "\tpress y/n: \n\n";
          cin >> answer;   //gets answer from user
    
          switch (answer)  {
          case 'y':
            cout << "\n\n\nThank You!\n\n";
            break;
          }
        }while (answer != 'y');
    
      }
    }
    thank you

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Help would be much appreciated.
    By jitterbug in forum C++ Programming
    Replies: 6
    Last Post: 04-01-2009, 08:02 PM
  2. Replies: 14
    Last Post: 04-01-2008, 02:23 AM
  3. Replies: 8
    Last Post: 04-28-2003, 07:29 PM
  4. fopen();
    By GanglyLamb in forum C Programming
    Replies: 8
    Last Post: 11-03-2002, 12:39 PM
  5. Merging files (code included)
    By TankCDR in forum C Programming
    Replies: 3
    Last Post: 10-28-2001, 11:06 AM