INFORMATION & COMPUTER SCIENCE
DEPARTMENT, KFUPM
ICS – 201 SECTION 55 & 56 (992 Semester)
INTRODUCTION TO COMPUTER SCIENCE
PROJECT
DOCUMENT
Instructor: Bashir M. Ghandi Due:
2nd May 2000
Note:
·
No grade will be
given for any copied project for all the parties involved.
·
No grade will be
given if you do not come for the demonstration.
An ICS 201 Instructor wants to
maintain the grades of his students in four quizzes. The grade information is
stored in a text file GRADES.TXT in the format:
ID NAME [maximum 30
characters] QUIZ1 QUIZ2 QUIZ3 QUIZ4
Originally, before all the
quizzes have been taken, the file contains the following information:
900000
ALI ISSA MUHAMMAD -1.0 -1.0 -1.0 -1.0
900025
MUSLIM HASAN -1.0 -1.0 -1.0 -1.0
900032
QASIM ZAID UMAR -1.0 -1.0 -1.0 -1.0
900047
KARIM OMAR SAAD -1.0 -1.0 -1.0 -1.0
900058
MUSA SAID -1.0 -1.0 -1.0 -1.0
900060
OMAR ZUHER -1.0 -1.0 -1.0 -1.0
920030
UBAID HUSAIN YAZID -1.0 -1.0 -1.0 -1.0
930541 AYMAN OMAR -1.0 -1.0 -1.0 -1.0
where -1.0 indicates that the
quiz has not been taken.
Write a well structured,
interactive C program which displays a menu with the following options:
1. Display
the grade information for all the students.
2. Display
the grade information for a particular student.
(If the given ID is not in the file an error message should be printed)
3. Enter
quiz grades for all students for a particular quiz.
(A quiz grade less than 0.0 or greater than 100.0
should be rejected and the user prompted to
enter another grade. A quiz number other than 1,2,3, or 4 should be
rejected and the user prompted to enter another quiz number)
4. Change a particular quiz grade for a
particular student.
(If
the given ID is not in the file an error message should be printed. A quiz
grade less than 0.0 or greater than 100.0 should be rejected and the user
prompted to enter another grade)
5. Find
the quiz average for a particular student.
(If
the given ID is not in the file an error message should be printed.)
6. Find
the average of a particular quiz.
(A quiz number other than 1,2,3, or 4 should be
rejected and the user prompted to enter another quiz number. If a quiz has not
been taken an error message: QUIZ NOT TAKEN should be printed)
7. Add
the information for a new student.
(If the given
ID already exists in the file an error message should be printed)
8. Delete
the information for a particular student.(If the given ID does not exist in the
list an error message should be printed)
9. Quit
Note: * Your program must iterate until option 9 is chosen.
* If the grade information is modified in any way, the file GRADES.TXT must be modified accordingly.
Grading Policy:
Your project will be graded out of 10 according to
the following policy:
·
Report: 4
Must contain at least the following:
o
Cover page
o
Content page
o
Introduction and
Problem description:
o
Program listing
o
Algorithms used
o
Known bugs and
limitations
o
Problems encountered
·
Indentation: 1
·
Style: (good naming
and use of functions): 1
·
Documentation: (use of
comments): 1
·
Program (Working
program) 3