Determine the grade that the student received

Assignment Help Software Engineering
Reference no: EM132977018

CSI6208 Programming Principles - Edith Cowan University

Background Information
This assignment tests your understanding of and ability to apply the programming concepts we have covered in the unit so far, including the usage of variables, input and output, data types and structures, selection, iteration and functions. Above all else, it tests your ability to design and then implement a solution to a problem using these concepts.

Assignment Overview
You are required to design and implement a "Student Grades" program that allows the user first specify the assessments that exist in a unit, and then to enter the marks that each student received for those assessments. The program uses this information to determine and display information such as student grades (e.g. "Distinction"). The program displays information on both a per-student / per- assessment basis, as well as some aggregated data such as a class average.

Details of the program requirements can be found in the "Program Requirements" section.

The entirety of this program can be implemented in under 150 lines of code (although implementing optional additions may result in a longer program). This number is not a limit or a goal - it is based upon an average quality implementation that includes comments and blank lines. It is simply provided to prompt you to ask your tutor for advice if your program significantly exceeds it.

Program Requirements
In the following information, numbered points describe a core requirement of the program, and bullet points (in italics) are additional details, notes and hints regarding the requirement. Ask your tutor if you do not understand the requirements or would like further information.

1. Prompt the user to enter the number of assessments that the unit has.
• This value will be referred to as num_assessments in this assignment brief.
• Remember to convert numeric inputs such as this to integers so that you can use them as intended!
• In this assignment we assume the user will always enter an integer when asked to enter an integer.

2. For each assessment, prompt the user to enter a name (e.g. "Essay", "Exam"...) and value (how many marks it is worth). Store these values in two separate lists - a list of assessment names (strings) and another list of assessment values (integers).
• Use a loop that repeats num_assessments times.
• Prompt for the name and value and append them to the lists inside the body of the loop.

3. Include code to check that the user enters a number that is at least 1 when they are prompted to enter the number of assessments, number of students and assessment values. If they enter a value that is less than 1, show an error message and either end the program or continue to re- prompt them until they enter a valid value.

4. After the user has entered the name and value for all assessments, if the assessment values do not add up to 100 the program should show an error message and end. If the assessment values DO add up to 100, prompt the user to enter the number of students in the class.
• This value will be referred to as num_students in this assignment brief.

5. Enter a loop that repeats num_students times. The body of this loop must:

5.1. Prompt the user to enter the student's name and store it into a variable.

5.2. Enter a loop that repeats num_assessments times. The body of this loop must:
• Note that the loop for assessments is i nside the body of the loop for students - this is how the program can prompt for the appropriate number of assessments per student.

5.2.1. Prompt the user to enter the current student's mark for the current assessment.
• The prompt for input should include the current student's name, as well as the name and value of the current assessment, e.g. "What did Joe get out of 20 in the Essay?"

5.2.2. If the mark entered by the user is below 0, set it to 0. If the mark is above the value of the current assessment, set it to the value of the current assessment.
• e.g. If the user enters a mark of 30 for an assessment with a value of 20, change the mark
to 20. This is simply to ensure that the mark is valid - alternatively, you can use a loop to re-prompt the user for input until they enter a valid mark.

5.2.3. Determine the grade that the student received using the calculate_grade()
function (detailed on the following page), and display it to the user.
• The calculate_grade() function expects a value out of 100, so be sure to convert the mark appropriately using the assessment's value, e.g. 13 out of 20 converts to 65.
• The message displayed to the user should include the mark, assessment value, and the
grade, e.g. "13 out of 20 is a Credit."

5.3. After obtaining marks for all assessments for a student, the program must determine the student's total mark and display a message which includes their name and their final grade,
e.g. "Joe has a total mark of 72 (Distinction)".
• This occurs inside the body of the loop that repeats once per student, but after (and not part of) the loop that repeats once per assessment. Refer to the overview in the Pseudocode section.
• The calculate_grade() function can be used to determine the student's final grade. You will need to keep a running total of their assessment marks (see Workshop 3, Task 4 for a similar task).

6. The last thing the program should do (after looping through all of the students) is determine and print the average mark (and corresponding grade) for the class as a whole, and the name and total mark of the top student - i.e., the student with the highest total mark.
• It is up to you to figure out how to calculate these values. It will involve using variables to keep track of
certain pieces of information throughout earlier parts of the program.

• Round the average mark of the class to the nearest integer and show it without decimal places, e.g. show "68" instead of "68.0" or "68.125".

Attachment:- Programming Principles.rar

Reference no: EM132977018

Questions Cloud

Evaluate the governs plan to reduce juvenile delinquency : In a recent speech, the governor of your state announced: "one of the biggest causes of juvenile delinquency in this state is the high rate of unemployment amon
Providing a per-student subsidy to private schools : The federal government is considering providing a per-student subsidy to private schools in the country. What is the anticipated effect of the subsidy on the su
Identify five types of business information : Identify five types of business information that are potential targets of economic or industrial espionage and explain why they are valuable to an adversary
How much money will Analog need to borrow : Analog Computers needs to borrow $835,000 from the Midland Bank. The bank requires a 13% compensating balance. How much money will Analog need to borrow
Determine the grade that the student received : Determine the grade that the student received - the program must determine the student's total mark and display a message which includes their name
How does the effectiveness of fiscal stimulus change : 1. Use the DD-AA model to answer the following. Make sure to show the original effects in the goods or asset markets that drive the changes in e and Y in the DD
What is the reorder point : Assume that the lead time is always 5 days and no delay in delivery has been experienced by the company: What is the reorder point
What are the economic benefits of fedex : Federal Express enters into contracts with independent truck operators who offer FedEx service and who are rewarded by the volume of packages they carry.
How much is the balance of investment : Harrison distributed a dividend of 2 per share during the year and reported net income of 560,000. How much is the balance of investment

Reviews

Write a Review

Software Engineering Questions & Answers

  Write balanced transportation problem to minimize sum

With customer 1 penalty cost of 490 is incurred; with customer 2, $80; and with customer 3, $110. Write balanced transportation problem to minimize the sum of shortage and shipping cost.

  You are required to read the media release about

you are required to read the media release about franchising below and determine what are the key points of this

  Differentiate between alpa and beta testing

Differentiate between alpa and beta testing, Consider a piece of an embedded software that is a part of a T.V. Which of the types of system testing would you choose to apply and at what time?

  In object oriented design of software

In object oriented design of software which of the following is not true? [A] Objects inherit the properties of the class

  Use contemporary case tools in process and data modeling

Use contemporary CASE tools in process and data modeling

  Continuing to build rx companys marketing plan this

continuing to build rx companys marketing plan this assignment focuses on branding pricing and distribution of your

  Floral design

A customer asks you to create a formal, European-style arrangement for a midsummer English garden party. The design should feature tight masses of seasonal flowers. Which style of arrangement would you most likely recommend?

  Create graph which shows congestion window size

Design another scenario as duplicate of Drop_Fast scenario. Write the new scenario Drop_Fast_Buffer. In new scenario, edit attributes of Client_East node and assign 65535 to its Receiver Buffer.

  Explain model-based expert systems

Explain model-based expert systems and frame-based expert systems

  Translate business requirements into systems

Perform modelling to assist with analysis and decision making, Translate business requirements into systems by applying appropriate SDLC methodologies and incorporating industry best practices

  Imagine that you are the team leader for a project at work

imagine that you are the team leader for a project at work. your team has been assigned with opening a new market in

  Write a report which analyses system test evaluation

Write a report which critically analyses the system test evaluation and validation of a project , Optimisation in design and operations for reliability and maintainability which you have developed in assignment.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd