Fundamentals of Programming I Group Assignment (Mini Project Work)
Fundamentals of Programming I Group Assignment (Mini Project Work)
Thus, each salesperson passes in between 0 and 5 sales slips per day. The program records
the above daily information and generates a summary of the total sales by each salesperson
per product. At the end of every month, the program prints the results in tabular format with
each of the columns representing a particular salesperson and each of the rows representing a
particular product. Cross total each row to get the total sales of each product for last month;
cross total each column to get the total sales by salesperson for last month. Your tabular print
out should include these cross totals to the right of the totaled rows and to the bottom of the
totaled columns. Also the company wants the program to calculate the bonus payment each
salesperson receives at the end of the month and print it at the bottom of the column. The
company pays a 5% bonus to each of its salespeople based on the amount of sales he/she
made during the previous month. Using the information given here write an application to
1
solve the problem of the company. Also the program allow to search for particular product or
salesperson record.
3. (Airline Reservations System) A small airline has just purchased a computer for its new
automated reservations system. You’ve been asked to program the new system. You are to
write a program to assign seats on each flight of the airlines only plane (capacity: 100 seats).
Your program should display the following menu of alternatives: Please type 1 for "First
Class" and Please type 2 for "Economy". If the person types 1, your program should assign a
seat in the first class section (seats 1–30). If the person types 2, your program should assign a
seat in the economy section (seats 31–100). Your program should print a boarding pass
indicating the person’s seat number and whether it’s in the first class or economy section of
the plane. Your program should, of course, never assign a seat that has already been
assigned. When the first class section is full, your program should ask the person if it’s
acceptable to be placed in the economy section (and vice versa). If yes, then make the
appropriate seat assignment. If no, then print the message "Next flight leaves in 3 hours." The
program must request the person to input his/her name, sex, age and passport number (unique
and makes the person searchable when necessary).
Note: - You are free to add more features than what described in the given problem
above. For example you may have your own seat design for the given number of seats
both for “First class” and “Economy section”.
4. Write a program that reads in the average monthly rainfall for Addis Ababa city for each
month of the year and then reads in the actual monthly rainfall for each of the previous 12
months. The program then prints out a nicely formatted table showing the rainfall for each of
the previous 12 months as well as how much above or below average the rainfall was for
each month. The average monthly rainfall is given for the months Meskerem, Tikimt, and so
forth, in order. To obtain the actual rainfall for the previous 12 months, the program first asks
what the current month is and then asks for the rainfall figures for the previous 12 months.
The output should correctly label the months. The program also outputs a bar graph showing
the average rainfall and the actual rainfall for each of the previous 12 months. There should
be two bar graphs for each month and they should be labeled as the average rainfall and the
rainfall for the most recent month. Your program should ask the user whether she or he wants
to see the table or the bar graph and then should display whichever format is requested. The
program should also allow the user to see either format as often as the user wishes until the
2
user requests that the program end. Moreover, allow the user to search for specific month and
see the result in both table format and bar graph.
5. Software Engineering department head needs a program that read in student ID and mark of
all the subjects they are taking in this semester. The program should compute average mark
and find an equivalent grade letter of each mark scored by the student in every subject he/she
is taking. Additionally the program read in the credit hours of each subjects and should
compute the CGPA (cumulative grade point average) of all student. The CGPA is calculated
using the following formula:
Write an application that print the student's mark sheet in the following format and also the
program allows the Head of Department to search for specific student or to see top five (5)
ranked students.
Hint: - use the following grading scale and its equivalent grade pint
Mark out of 100 % >= 85 >=75 >= 70 >= 60 >= 50 >= 40 < 40
Grade Letter A B+ B C+ C D F
Grade letter point 4 3.5 3 2.5 2 1.5 0
3
6. A company pays its employees as managers (who receive a fixed weekly salary), hourly
workers (who receive a fixed hourly wage for up to the first 40 hours they work and “time-
and-a-half” 1.5 times their hourly wage for overtime hours worked), commission workers
(who receive 250 ETB plus 5.7 percent of their gross weekly sales), or pieceworkers (who
receive a fixed amount of money per item for each of the items they produce each
pieceworker in this company works on only one type of item). Write a program to compute
the weekly pay for each employee. You do not know the number of employees in advance.
Each type of employee has its own pay-code: Managers have code 1, hourly workers have
code 2, commission workers have code 3 and pieceworkers have code 4. Use more
appropriate selection structure to compute each employee’s pay according to that employee’s
pay-code. The program should prompt the user (i.e., the payroll clerk) to enter the
appropriate facts your program needs to calculate each employee’s pay according to that
employee’s pay-code. Finally, the program prints the weekly pay of the employees in tabular
format. Also the program allows the user to search for specific record.