Group Project
25. Travel Expenses
This
• One student should design function main, which will call the other functions in the program. The remainder of the functions will be designed by other members of the team.
• The requirements of the program should be analyzed so each student is given about the same workload.
• The parameters and return types of each function should be decided in advance.
• Stubs and drivers should be used to test and debug the program.
• The program can be implemented as a multi-file program, or all the functions can be cut and pasted into the main file.
Here is the assignment: Write a program that calculates and displays the total travel expenses of a businessperson on a trip. The program should have functions that ask for and return the following:
• The total number of days spent on the trip
• The time of departure on the first day of the trip, and the time of arrival back home on the last day of the trip
• The amount of any round-trip airfare
• The amount of any car rentals
• Miles driven, if a private vehicle was used. Calculate the vehicle expense as $0.27 per mile driven
• Parking fees (The company allows up to $6 per day. Anything in excess of this must be paid by the employee.)
• Taxi fees, if a taxi was used anytime during the trip (The company allows up to $10 per day, for each day a taxi was used. Anything in excess of this must be paid by the employee.)
• Conference or seminar registration fees.
• Hotel expenses (The company allows up to $90 per night for lodging. Anything in excess of this must be paid by the employee.)
• The amount of each meal eaten. On the first day of the trip, breakfast is allowed as an expense if the time of departure is before 7 a.m. Lunch is allowed if the time of departure is before 12 noon. Dinner is allowed on the first day if the time of departure is before 6 p.m. On the last day of the trip, breakfast is allowed if the time of arrival is after 8 a.m. Lunch is allowed if the time of arrival is after 1 p.m. Dinner is allowed on the last day if the time of arrival is after 7 p.m. The program should only ask for the amounts of allowable meals. (The company allows up to $9 for breakfast, $12 for lunch, and $16 for dinner. Anything in excess of this must be paid by the employee.)
The program should calculate and display the total expenses incurred by the businessperson, the total allowable expenses for the trip, the excess that must be reimbursed by the businessperson, if any, and the amount saved by the businessperson it the expenses were under the total allowed.
Input Validation: Do not accept negative numbers for any dollar amount or for miles driven in a private vehicle. Do not accept numbers less than 1 for the number of days. Only accept valid times for the time of departure and the time of arrival.
Want to see the full answer?
Check out a sample textbook solutionChapter 6 Solutions
Starting Out with C++: From Control Structures through Objects, Brief Version (8th Edition)
- Tracking laps Learning Objectives In this lab, you will practice writing functions, passing arguments and returning results from the function printing the result of a function call writing your code as a module Instructions Main Idea An Olympic-size swimming pool is used in the Olympic Games, where the racecourse is 50 meters (164.0 ft) in length. "In swimming, a lap is the same as a length. By definition, a lap means a complete trip around a race track, in swimming, the pool is the race track. Therefore if you swim from one end to the other, you’ve completed the track and thus you’ve completed one lap or one length." (Source: What Is A Lap In Swimming? Lap Vs Length) Write the function meters_to_laps() that takes a number of meters as an argument and returns the real number of laps. Complete the program to output the number of laps with two digits after the period. Examples Input: 150 Output : 3.00 Input: 80 Output: 1.60 Your program must define and call the following…arrow_forward5.8 LAB: User-Defined Functions: Max magnitude CORAL LANGUAGE ONLY PLEASE Define a function named MaxMagnitude with two integer parameters that returns the largest magnitude value. Write a program that reads two integers from a user, calls function MaxMagnitude() with the inputs as arguments, and outputs the largest magnitude value. Ex: If the inputs are: 5 7 the function returns and the program output is: 7 Ex: If the inputs are: -8 -2 the function returns and the program output is: -8 Note: The function does not just return the largest value, which for -8 -2 would be -2. Though not necessary, you may use the absolute value built-in math function: AbsoluteValuearrow_forward. Actions taken by the computer when a function is called, such as allocating memory for parameters and local variables, are referred to as _______________.a. overheadb. set uarrow_forward
- (Rounding Numbers) Function floor may be used to round a number to a specific decimal place. The statement y = floor(x * 10 + .5) / 10; rounds x to the tenths position (the first position to the right of the decimal point). The statement y = floor(x * 100 + .5) / 100; rounds x to the hundredths position (the second position to the right of the decimal point). Write a program that defines four functions to round a number x in various ways a) roundToInteger(number) b) roundToTenths(number) c) roundToHundreths(number) d) roundToThousandths(number) For each value read, your program should print the original value, the number rounded to the nearest integer, the number rounded to the nearest tenth, the number rounded to the nearest hun- dredth, and the number rounded to the nearest thousandth. IN C PROGRAMMING LANGUAGE PLEASEarrow_forwardWhen a function is called, what parameters are sent to it?arrow_forwardFunction-Oriented Design: This project is designed to allow you for participating in a group work that every member of group should involve with different task. This work is divided into two parts. First part is to prepare a presentation representing a solution for the defined below problem. Additionally, second part is a report preparation that explains the solution with proper background reviews. It Is required to emphasise your diagrams and that with appropriate, detailed explanations. 1 Introduction Increasingly supermarkets are introducing self-service checkouts. Your task Is to develop a design for Easy Checkout, a new self-service checkout system. You should follow a function-oriented design approach, i.e. you should develop: 1. a data flow diagram 2. structure charts Your design should focus on the processing of a single product. This will provide the foundation for the full design of Easy aeckoat Details on the requirements that you are to work with are given below. 2 Informal…arrow_forward
- Complete and fix this code C program ONLY. Please finish the function printMap and updateMap to make the maze project work.Your code should move the cursor to the starting point located at the first 0 from the topand left border, and then use w, a, s, or d keys to control it to move to E. When E isreached, your code will print a message on the screen “Maze solved!!!”Please notice that part of the code is already provided, and you need to understand the code and finish it by sending screenshotsarrow_forwardIn this assignment compile and run example2(debug_FunctionSwap.cpp) and complete the steps from Debugging in C++ Programming presentation. See how the program works step by step See the value of the variable during the program execution Criteria File format requirements Screen shot of Program Running Screen shot of each step completed as shown in presentation Quality of detailed steps and screenshots as per requirements listed above This is the program #include <iostream> using namespace std; // function prototypes void swap(int& x, int& y); int main() { // local variable declaration: int a = 100, b = 200; cout << "Before swap, value of a :" << a << endl; cout << "Before swap, value of b :" << b << endl << endl; // call function swap to swap the values using variable reference. swap(a, b); cout << "After swap, value of a :" << a << endl; cout << "After swap, value of b :" << b…arrow_forwardtask1: write a void function divisor that receives an integer number and display its divisor on screen including 1 and itself. write the main function to test your function. task2: You are required to create a conversion program. First ask the user his choice and then convert. • Conversion from Pound to Kg. (1 Pound = 0.453 Kg) • Conversion from Feet to centimeter (1 Foot = 30.48 cm) • Convert Hours & minutes in Daysarrow_forward
- Code using c++ Instructions: In the code editor, you are provided with the definition of a struct Person. This struct needs an integer value for its age and a character value for its gender. Furthermore, you are provided with a displayPerson() function which accepts a struct Person as its parameter. In the main(), there are two Persons already created: one Male Person and one Female Person. Your task is to first ask the user for the age of the Male Person and the age of the Female Person. Then, define and declare a function called createKidPerson() which has the following definition: Return type - Person Name - createKidPerson Parameters Person father - the father of the kid to be created Person mother - the mother of the kid to be created Description - creates a new Person and returns this. The age of this Person will be set to 1 while its gender will be set based on the rules mentioned above. Finally, create a new Person and call this createKidPerson() in the main and then…arrow_forwardAccess to more information is preferable to less knowledge when it comes to programming; yet, you should not base your decision just on how well something functions.arrow_forwarddone in c++ Program Specifications: Write a program that asks for a user's name and age, finds the ticket price based on the age, and prints out the user's name, age, and ticket price. The program must define the following 3 functions and call them in the main function. Create a function called getName that takes in no arguments and returns the name of the user. Create a function called getAge that takes in the argument age and uses pass-by-reference to set the age of the user. Ensure that the user cannot put in an age that is negative or greater than 100. Create a function called printTicket that takes in the user's name and age and does the following ○ If they are less than or equal to 13 years old set ticket_Price to 9.99. ○ If their age is greater than 13 and less than 65, set ticket_Price to 19.99. ○ If their age is greater than or equal to 65, set ticket_Price to 12.99. ○ Output to the console the user's name, age and ticket price.arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning