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