How to add a loop, user-defined function and array to the code

Discussion in 'C++' started by LoveDream, Apr 24, 2012.

  1. LoveDream

    LoveDream New Member

    Joined:
    Apr 24, 2012
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    Hello, guys.

    I have to do this assignment until tomorrow. We had to write a "selling program for computers, laptops and tablets", which I did but for the extra credit, we have to have those three points in the application and I have tried the entire weekend to do that but didn't know how to do the "extra credit" part, which I really need.

    The application is pretty basic and easy but I have to also have these three things and I was wondering if you guys could help me with these:

    1.) A loop to prompt the user if they would like to place another order

    2.) At least one user-defined function

    3.) An enumerated data type, array or struct (structure)


    I did one of these three, it's a "DO WHILE" loop asking users if they want to make another order, it's right at the beginning of the code.

    Anyway, this is the source code and I will be really, very grateful if someone helps me out here.



    Code:
    
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <fstream>
    
    using namespace std;
    
    double desktop();		//function prototype
    double laptop();
    double tablet();
    
    
    int main()
    {
    
    	char order, makeAnotherOrder;
    	double amountDue;
    
    	do
    	{
    
    	cout << "Please select your model (d, l, t)\n";
    
    	cin >> order;
    
    	if (order == 'd')
    		amountDue = desktop();
    
    	if (order == 'l')
    		amountDue = laptop();
    
    	if (order == 't')
    	amountDue = tablet();
    
    		cout << "The total amount with a discount (if you were eligible for one) is : $" << amountDue << endl;
    
    		cout << "Would you like to place another order? Press 'y' to confirm.\n";
    		cin >> makeAnotherOrder;
    
    		} //closing brace of the loop statement
    
    		while (makeAnotherOrder == 'y' || makeAnotherOrder == 'Y');
    
    		return 0;
    
    }
    
    double desktop()
    {
    
    	int quantity;
    	double desktopAmount;
    	double discount = .1;
    	const double price = 999;
    	double subtotal, tax, totalPrice;
    
    	cout << "Please enter how many desktop computers you want to buy: \n";
    
    	cin >> quantity;
    
    
    	if (quantity > 3)
    	{
    		desktopAmount = quantity * price;
    		tax = price * .07;
    		totalPrice = desktopAmount + tax;
    		subtotal = totalPrice - discount;
    		cout << "You are entitled to a discount!\n";
    	}
    
    	else
    
    	desktopAmount = quantity * price;
    	tax = price * .07;
    	totalPrice = desktopAmount + tax;
    	cout << "The total price you have to pay is: \n"
    	<< totalPrice << endl;
    
    
    	cout << setfill('.') << left << setw(35) << "Quantity: " << right << " " << quantity << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Price: " << setfill(' ') << right << " $" << setw(1) << price << endl;
    
    	cout << setfill('.') << left << setw(28) << "Tax: " << setfill('.') << right << setw(9) << "$" << tax << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Total Price: " << setfill(' ') << right << " $" << setw(7) << totalPrice << endl;
    
    
    	return desktopAmount;
    
    }
    
    
    double laptop()
    {
    
    	int quantity;
    	double laptopAmount;
    	double discount = .1;
    	const double price = 699;
    	double subtotal, tax, totalPrice;
    
    	cout << "Please enter how many laptops you want to buy: \n";
    
    	cin >> quantity;
    
    
    	if (quantity > 5)
    	{
    		laptopAmount = quantity * price;
    		tax = price * .07;
    		totalPrice = laptopAmount + tax;
    		subtotal = totalPrice - discount;
    		cout << "You are entitled to a discount!\n";
    	}
    
    	else
    
    	laptopAmount = quantity * price;
    	tax = price * .07;
    	totalPrice = laptopAmount + tax;
    	cout << "The total price you have to pay is: \n"
    	<< totalPrice << endl;
    
    
    	cout << setfill('.') << left << setw(35) << "Quantity: " << right << " " << quantity << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Price: " << setfill(' ') << right << " $" << setw(1) << price << endl;
    
    	cout << setfill('.') << left << setw(28) << "Tax: " << setfill('.') << right << setw(9) << "$" << tax << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Total Price: " << setfill(' ') << right << " $" << setw(7) << totalPrice << endl;
    
    
    	return laptopAmount;
    
    }
    
    
    double tablet()
    {
    
    	int quantity;
    	double tabletAmount;
    	double discount = .1;
    	const double price = 399;
    	double subtotal, tax, totalPrice;
    
    	cout << "Please enter how many tablets you want to buy: \n";
    
    	cin >> quantity;
    
    
    	if (quantity > 10)
    	{
    		tabletAmount = quantity * price;
    		tax = price * .07;
    		totalPrice = tabletAmount + tax;
    		subtotal = totalPrice - discount;
    		cout << "You are entitled to a discount!\n";
    	}
    
    	else
    
    	tabletAmount = quantity * price;
    	tax = price * .07;
    	totalPrice = tabletAmount + tax;
    	cout << "The total price you have to pay is: \n"
    	<< totalPrice << endl;
    
    
    
    	cout << setfill('.') << left << setw(35) << "Quantity: " << right << " " << quantity << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Price: " << setfill(' ') << right << " $" << setw(1) << price << endl;
    
    	cout << setfill('.') << left << setw(28) << "Tax: " << setfill('.') << right << setw(9) << "$" << tax << endl;
    
    	cout << left << setfill ('.') << setw(35) << "Total Price: " << setfill(' ') << right << " $" << setw(7) << totalPrice << endl;
    
    
    
    
    
    	return tabletAmount;
    
    }
     
  2. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    You've also got the second of the three: desktop(), laptop() and tablet() are user defined functions.

    Which of an enumerated data type, array or struct do you want to use, and what for? You could perhaps use a global array to list the prices of each type of hardware, for example:
    Code:
    const double prices[3]={999, 699, 399};
    
    then reference these values instead of using the literals within the code.
     
  3. LoveDream

    LoveDream New Member

    Joined:
    Apr 24, 2012
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    So, I add array globally like this and that's it?

    Code:
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <fstream>
    
    using namespace std;
    
    double desktop();		//function prototype
    double laptop();
    double tablet();
    
    const doublePrices[3]={999, 699, 399};
    
    int main()
    {
    
    	char order, makeAnotherOrder;
    	double amountDue;
    
    	do
    	{
    
    	cout << "Please select your model (d, l, t)\n"; etc...
    
     
  4. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    Yep, that's about it. I'd be inclined actually to use those values, for example
    Code:
    desktopAmount = quantity * prices[0];
    
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice