Chat with us, powered by LiveChat CS 1050 Homework Assignment 2 – SUMMER 2017 | Writedemy

CS 1050 Homework Assignment 2 – SUMMER 2017

CS 1050 Homework Assignment 2 – SUMMER 2017

Question

CS 1050 Homework Assignment 2 – SUMMER 2017

WARNING – Technology failing is not an excuse to turn in your assignment late. START EARLY so you will have time to fix problems before the deadline.

Directions: Complete the following homework assignment using the description given in each section.

Purpose:

· The Tuition.c program will be used to

· Read in the Student ID (an integer value) and use an array search see if the ID is a valid one

· Issue appropriate prompts and calculate the tuition for each Student using a SEPARATE FUNCTION for each Student type (1-undergrad, 2-graduate, 3-PhD)

· Print out the tuition information in ASCENDING SORTED ORDER by Student.

Submission information:

Submit this assignment by the deadline – NO LATER!If you have problems with this contact Jacob (the TA) or myself. DO NOT WAIT TILL THE LAST DAY TO EMAIL. Do not submit on blackboard or by email!

Description:

Ø student type 1 (UNDERGRADUATE) – an undergraduate student has the following guidelines: 
a) they must sign up for at least 3 hours but no more than 18 hours of classes
b) their tuition is calculated at $750/hour
c) they are eligible for scholarships up to 50% of their tuition amount

Ø student type 2 (GRADUATE) – a graduate student has the following guidelines:
a) they must sign up for at least 3 hours but no more than 9 hours of classes
b) their tuition is calculated at $1,000/hour
c) they are eligible for scholarships up to 75% of their tuition

Ø student type 3 (PhD) – a PhD student has the following guidelines:
a) they must sign up for at least 3 hours but no more than 9 hours of classes
b) their tuition is calculated at $1,200/hour
c) they are eligible for up to $10,000 stipend (must be a dollar amount)

In this portion of the assignment you must make use of C’s input capabilities. You must prompt the user to enter a Student ID. Valid ID’s and Student type will be stored in your program in a two dimension array and include:

int stuInfo [] []={ {394003920, 2}, double billInfo [][] { {0.0, 0.0, 0.0},

{388920394, 3}, {0.0, 0.0, 0.0},

{499230076, 1}, {0.0, 0.0, 0.0},

{298760112, 2}, {0.0, 0.0, 0.0},

{592493811, 3} {0.0, 0.0, 0.0},

{355982306, 3} }; {0.0, 0.0, 0.0} };

The array “billInfo[][]” will be initialized with zeros and then will eventually be used to store the tuition information for each Student type. For Student 592493811 it will have the following information:

billInfo[4][0]=665.00

billInfo[4][1]=146.30

billInfo[4][2]=518.70

because Student 592493811 is in row “4” of stuInfo[][] and column “0” is total bill, column “1” is discounts and column “2” is net bill.

checkID() function prototype: int checkID(int idEntered);

This function will received the user entered ID (inputID), will search theglobal stuInfo [][] array to see if the ID the user entered matches an ID in the array. If it does, then pass the Student’s row back to the calling line of code. If the id entered does NOT match an ID in the array then pass back a -1 to the calling line of code to indicate it was not found and an error should be issued. A simple switch statement will make this work in the main function:

int rowID = checkID (inputID);

switch ( stuInfo[rowID] [1]) ) {

case 1: processUndergrad(rowID);

break;

case 2: processGraduate(rowID);

break;

case 3: processPhD(rowID);

break;

default: processBadID(inputID); //processBadID is an optional function but must print out error message.

}

processUndergrad(), processGraduate(), processPhD()
function prototypes:
 void process<type>(int rowNumber);

<type> is either Undergrad, Graduate, or PhD. All should have the same parameters and return type.

These functions will receive the ROW for the valid ID entered. It should then prompt the user for the information to calculate that type of Student.For example, if ID 499230076 is entered (type “1” – a undergrad) then processUndergrad() will be invoked and it will prompt the user to enter the Undergrad tuition just like homework 1. If ID 592493811 is entered (type “3” – a PhD student) then processPhD() will be invoked and it will prompt the user to enter the PhD rate and stipend just like homework 1.

processFinalReport() function prototype: void processFinalReport();

This function will be used to produce a report SORTED by the Student ID. If an ID has not been entered DO NOT display the row for it.

Example Output:

$ .a/.out

Enter Student ID: 99939493

ERROR – Invalid Student ID

Enter Student ID: 298760112

Enter credit hours:11

ERROR – Graduate Students can take no more than 9 hours

Enter credit hours:9

Enter Scholarship Amount: $ 0.0

Graduate Student 298760112 Tuition is:

Gross $ 9000.00
Scholarships $
 0.00

Tuition Bill $ 9000.00

Enter Student ID: 388920394

Enter credit hours: 3

Enter Stipend Amount: $ 5000

PhD Student 388920394 Tuition is:

Gross $ 3600.00

Stipend Amt $ 5000.00

Tuition Bill $-1400.00

Enter Student ID: 499230076

Enter credit hours:17

Enter Scholarship Amount: $9000.00

ERROR – Scholarship Amount cannot be larger than 50% of Tuition

Enter Scholarship Amount: $3559

Undergraduate Student 499230076 Tuition is:

Gross $ 12750.00

Scholarships $ 3559.00

Tuition Bill $ 9191.00

Enter Student ID: -1

When the user enters -1, then function processFinalReport() will be invoked to produce the following report:

STUDENT BILLING REPORT (SORTED BY STUDENT ID)

ID TYPE GROSS DISCOUNTS NET

298760112 4 1064.50 234.19 830.31

355982306 4 1482.93 326.24 1156.69

388920394 3 989.67 217.73 771.94

394003920 2 2315.96 509.51 1806.45

499230076 1 3517.00 773.74 2743.26

592493811 3 665.00 146.30 518.70

———— ———— ———–

TOTAL 10035.06 2207.71 7827.35

Make sure you format the input and output exactly as above. Use of “$” signs, etc. should match this exactly.

Files to Submit:

Tuition.c

SUMMARY

Functions required:

checkID()

processUndergrad()

processGraduate()

processPhD()

processFinalReport()

Additional functions are fine but you must define the ones above exactly as shown.

Guidelines for Grading Homework 2

40 Points Possible

General

If your program does not compile or produce any input/output (I/O) because most of the source code is commented out then your homework will receive a grade of zero. Turning in the assignment late is also a grade of zero.

1 pointfor having the filename and class named appropriately according to the assignment handout, for a header at the top with name, date, etc and also internal comments and for general style. Is the program formatted well? Proper indentation, etc.

Tuition2.c

5 pointsfor properly prompting the user to enter the values (switch statement) and looping until a “-1” is entered

5 points check() functionfor properly searching for a valid Student ID and returning the results back to the switch

5 points processUndergrad() functionfor correctly calculating the tuition results for the Undergrad Student.

5 points processGraduate() functionfor correctly calculating the tuition results for the Graduate Student.

5 points processPhD() functionfor correctly calculating the tuition results for the PhD Student.

5 pointsfor properly outputting error messages for bad Student IDs.

5 points for properly calculating the total bill numbers.

5 points processFinalReport() sorting the arrays properly (by ID)

BONUS (5 POINTS)

If you turn the assignment in by Wednesday, July 5th BEFORE 5PM you will get 5 extra points.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Writedemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order