Goal: To be familiar with the language you are going to present .
Problem : Suppose at the end of the semester, there is a file "scores.dat" recording scores each student has earned so far from closed lab assignments (CLA), open lab assignments (OLA), quizzes, exams, and final exam score. You can assume there are no more than 30 students. The final letter grade is decided according to the following table based on the total points they have earned:
Total Points
Final Letter Grade
Total Points
Final Letter Grade
=90
A
=70, but <73
C-
=87, but <90
B+
=67, but <70
D+
=83, but <87
B
=63, but <67
D
=80, but <83
B-
=60, but <63
D-
=77, but <80
C+
<60
F
=73, but <77
C
In this assignment, you are asked to write a program to calculate student final letter grades as well as the average and highest scores of CLA, OLA, quizzes, exams, and final exam scores. The final result should be printed to the screen (standard output).
Requirements:
At the beginning of the program, your program should give the user a prompt for the name of the data file which contains the records of student grades.
Define a class Student, which includes student id, scores for CLA, OLA, quizzes, exams, final scores, total points, and letter grade. All member data must be private. The class must provide a function to calculate the final letter grade.
Store all Student objects in an associative array (other similar data structures like map, hash map are also fine) so that we can lookup student final letter grade by C#.
Your program should allow users to perform two queries. For each query, the user inputs C#, and your program should print all information (including his/her final letter grade) of the student with the given C#. After two queries, your program print information of all students on the screen.
If the language doesn’t support object-oriented programming or associative array, then use appropriate data structures.
If the language doesn’t support file input, you can store them in your program.
Make sure that your program has the proper documentation (program heading, variable explanation, description/input/output for each user defined function, explanation for logically related statements, etc), and style for good program readability and modifiability. Refer to the back page for more details on program requirements your program should follow.
What to be submit?
Besides Rubric2.doc and your source program, please submit the following:
A document, which must specifies how you set up your development environment, including but not the least,
Where to download the IDE or compiler
How to install the IDE or compiler
How to compile your program
How to execute your program
A short video showing the execution of your program, including the following steps
Display your program
Compile your program
Execute your program
How to make Video:
Never using cell phone or camera to record video from your screen. Instead, please use a screen recording software to produce the video with better quality. The following are some tools recommended from other students in previous semesters:
• ffmpeg https://www.ffmpeg.org/
• VLC http://www.videolan.org/vlc/index.html
• OBS https://obsproject.com/
• Active Presenter: http://atomisystems.com/activepresenter/free-edition/
How to submit?
· Copy the rubric2.doc to the project4 folder in your individual repository. Edit the file to put your name.
· Commit the whole project2 folder to the server. Make sure the folder contains your source program.
· Any commit of the project after the deadline is considered as cheating. If this happens, the latest version before the deadline will be graded, and you may receive up to 50 points deduction.
· No hard copy needed