#include /* et cetera */ int main(void) { /* int choice declare_this MAYBE THIS ISN'T DECLARED HERE AFTER ALL */ do { /* loop until 0 is selected from menu() */ menu() /* call menu to get choice */ switch(menuchoice) { case 5: /* quit now */ printf("\tBye."); continue; case 1: add(); case 2: printf("\tThis function is not yet implemented."); case 3: printf("\tThis function is not yet implemented."); case 4: printf("\tThis function is not yet implemented."); } while menu(choice) != 5 return 0; } int menu() { int menuchoice; printf("\n\tSierra Sporting Goods\n\n"); /* Name of the company */ printf("\t---------------------\n\n"); printf("\t1 = Add a record\n"); /* Menu choices begin with this line */ printf("\t2 = Report\n"); printf("\t3 = Delete a record\n"); printf("\t4 = Change a record\n"); printf("\t5 = Quit\n\n"); /* Menu choices end with this line */ scanf("%d%*c", &menuchoice); /* prompt for choice and return it to main() */ return menuchoice; } add() { int number; int type; int quantity; int count_tot = 0; int quantity_tot = 0; double cost; double price; double cost_tot = 0; /* Let's initialize the variables */ double price_tot = 0; /* whose values are not obtained */ double profit_tot = 0; /* by user input */ double grand_cost = 0; double grand_price = 0; double grand_profit = 0; char continuechoice; do { /* printf("\n\tSierra Sporting Goods\n"); */ /* printf("\t---------------------\n\n"); */ printf("\tEnter the product number: "); /* BEGIN prompting user for input */ scanf("%d%*c", &number); while (number < 1 || number > 9999) /* Validate 'number' variable */ { printf("\tProduct number is out of range, please enter a value between 1 and 9999\n"); printf("\tEnter the product number: "); scanf("%d%*c", &number); } printf("\tEnter the product type : "); scanf("%d%*c", &type); while (type < 1 || type > 5) /* Validate 'type' variable */ { printf("\tProduct type is out of range, please enter a value between 1 and 5\n"); printf("\tEnter the product type : "); scanf("%d%*c", &type); } printf("\tEnter the quantity : "); scanf("%d%*c", &quantity); while (quantity < 1 || quantity > 50) /* Validate 'quantity' variable */ { printf("\tProduct quantity is out of range, please enter a value between 1 and 50\n"); printf("\tEnter the quantity : "); scanf("%d%*c", &quantity); } printf("\tEnter the cost : "); scanf("%lf%*c", &cost); while (cost < 5.00 || cost > 900.00) /* Validate 'cost' variable */ { printf("\tProduct cost is out of range, please enter a value between 5.00 and 900.00\n"); printf("\tEnter the cost : "); scanf("%lf%*c", &cost); } printf("\tEnter the price : "); scanf("%lf%*c", &price); while (price < 6.00 || price > 1000.00) /* Validate 'price' variable */ { printf("\tProduct price is out of range, please enter a value between 6.00 and 1000.00\n"); printf("\tEnter the price : "); scanf("%lf%*c", &price); /* DONE prompting user for input */ } printf("\n\tThe product number is --> %04d\n", number); /* Display 'number' in zero-filled field, width 4 */ printf("\tThe product type is ----> %d\n", type); printf("\tThe quantity is --------> %d\n", quantity); printf("\tThe cost is ------------> %.2lf\n", cost); printf("\tThe price is -----------> %.2lf\n", price); count_tot++; /* Increase order count by 1 */ price_tot = quantity * price; /* CALCULATE: total order price, */ cost_tot = quantity * cost; /* total order cost, */ profit_tot = price_tot - cost_tot; /* order profit, */ quantity_tot = quantity_tot + quantity; /* total qty of products, */ grand_price += price_tot; /* grand price, */ grand_cost += cost_tot; /* grand cost */ grand_profit += profit_tot; /* and grand profit */ printf("\n\tThe subtotal price is : %.2lf\n", price_tot); /* Display subtotals */ printf("\tThe subtotal cost is : %.2lf\n", cost_tot); printf("\tThe subtotal profit is : %.2lf\n", profit_tot); printf("\n\tAnother product? (Y/N): "); /* Ask user whether to continue do/while loop, */ scanf("%c%*c", &continuechoice); /* read in the user's choice as a char */ choice = toupper(continuechoice); /* and format it to uppercase */ } while (continuechoice != 'N'); } getint() { receive item to prompt for and min/max range return appropriate int if valid display error msg if invalid } getreal() { receive item to prompt for and min/max range return appropriate double if valid display error message if invalid } total() { receive two arguments (quantity and cost OR quantity and price) return total } show() { receive 4 args: product_number, quantity, cost, and price total() /* to get total cost */ total() /* to get total price */ display everything (as in lab 2) return nothing }