ارجو المساعده في هذا المشروع واتمني من الاعضاء الكرام سرعة الاستجابه
لم يفلح معي استخدام برنامج الجافا فلجأت الي سي بلاس بلاس بس بصراحه مش عارف
هذا هو المشروع بالكامل
1. Write an application that keeps track of student information in a university.
Design your files and records as needed so as to make your application
efficient. Each student has the following basic information:
a. First Name
b. Last Name
c. Date of birth represented as dd-mm-yyyy
d. Student ID (8 numbers that uniquely identify the student)
e. Year of enrollment represented as yyyy
f. GPA (this should be automatically calculated based on scores
obtained in various courses)
g. Total number of credit hours completed (should be accumulated for
each student)
h. Student's standing. This can be (First year, Second Year, Third
Year, Fourth Year, Graduated).
So, the grade of each course the student has taken should be
documented some where as well as the student's grade in that course (A,
A-, B+, B, B-, C+, C, C-, D, F). Points for each letter grade are as follows:
A = 4 points A- = 3.7 points B+ = 3.3 points B = 3 points
B- = 2.7 C+ = 2.3 C = 2 points D = 1 point
F= 0
If student "20008000" took two courses each 3 credit hours and he scored
A- on the first and B on the second, then his GPA will be
(3.7*3 + 3*3)/ (3+3)
Please be prepared to be asked during the discussion of your project how
you chose to design your application and why. You should be able to
defend your design based on efficiency (which means you have to
consider efficiency when designing your application). Please submit a
rough diagram of your design with your project. This should include field
and record representations chosen by you. You will need to use indices in
this project, The primary index file should contain a header record which
has the number of entries in the index, and a sync flag. Decide on the size
of the header record and fix the size of each record entry in the primary
index. You should build secondary indices as needed but employ a late
binding approach.
Once your program is started, the user will interact with it using a menu like the
one below:
Choose one of the following :
1. Add a student
2. Enroll a student in a course
3. Drop a student out of a course
4. Upload student grades for a given course
5. Display all students enrolled in a given year (sorted by
student's last names)
6. Display all students enrolled in a given course (sorted by
students' last names)
7. Display student grades for a particular course
8. Display top 10 students for a particular year (First, Second,
Third or Fourth)
9. Display a transcript for a student given his/her ID
10. Update a student's standing
11. Exit
When your application starts, it should load files needed for its operation.
Description of options:
For option 1 - Ask the user to enter a new student's basic data and then write
that to the file.
For option 2 – Display a list of available courses. Information for each course
should include the Code, Name, and credit hours for the course. (Initially prepare
a file containing 20 courses and load that when you start your application and
allow the user to choose from these). The user can select a course by entering
its code, then entering the student ID of the student he/she wants to enroll.
For option 3 – Display a list of courses in which some students are enrolled.
Allow the user to select a course by entering its code. Then display all students
enrolled in the course so as to allow the user to delete a student from these.
How to select from these students for deletion is left up to you.
For option 4 – Allow the user to select the course for which grades are to be
uploaded. The file should contain student IDs and associated letter grades.
When reading each grade, you have to do the following:
• Verify the ID is in fact for a student enrolled in a course.
• Update the student's "completed credit hours" info
• Update the student's GPA
Use blocking when reading grade records.
For option 5 – Allow the user to enter a year, then display all students that were
enrolled in that year (sorted by their last name) . Info to display should include
the student's full name, his/her ID, # of course he or she is currently enrolled in,
# of completed credit hours, and overall GPA.
For option 6 – Allow the user to enter a course code, then display all students
enrolled in that course (sorted by their last name) . Info to display should include
the student's full name, his/her ID, # of course he or she is currently enrolled in,
# of completed credit hours, and overall GPA.
For option 7 – Allow the user to enter a course code, then display all students
enrolled in that course (sorted by their last name) . as well as their grade in that
course.
Option 8 is self explanatory. You should only take as input the desired year.
For option 9 – Allow the user to enter a student's ID. Then for this ID, display the
student's Info. Info to display should include the student's full name, his/her ID,
student's standing , # of completed credit hours, and overall GPA id addition to
each course he/she has taken and the letter grade for each course.
For option 10- simply allow the user to enter a student's ID and advance that by 1
level (so if s/he was "First Year" s/he should become "Second Year" and so on
for all levels expect for "Fourth Year" which should be changed "Graduated").
For option 11- cleanup and save any information you need to save then exist.
General: Keep the menu running constantly until the user chooses to quit the
program.
Bonus Part
If you submit your project early (1 week before the due date) you will get an extra
20 points. If you implement the following bonus part, you get an extra 40 points.
You can NOT implement the bonus part and get credit for it, unless you've
already completed the main project. Students who missed the midterm for any
reason (medical or otherwise), MUST implement this Bonus section.
Assume you have a hard disk with the following specs:
• Has 4 platters
• Has 4096 tracks per platter surface
• Has 512 sectors per track
• Has 256 bytes per sector
• Rotates at 8,00 rpm
• Average seek time: 4 msec
Write a program that roughly simulates the hard disk described above. In
your simulation, number the tracks from 1 –to 4096 with track 1 being the
outer most track and track 4096 being the inner most track. Sectors
should be numbered from 1 to 512 with adjacent numbers indicating
adjacent sectors (sectors 1 and sector 512 are also adjacent). For
simplicity, we will assume that a read request is generated in terms of only
two values (x, y) which represent the track and sector numbers to be read
(here we're ignoring the various platters and are focusing on just one
surface). For example, sector (1034, 67), refers to the 67th sector on track
1034. Given this description, and assuming the read/write heads are
initially positioned at position (35, 500) your program should allow a user
to enter a set of 10 requests (where a request indicates a sector that
needs to be read or written and is represented as a pair as just specified),
and calculate the exact seek and latency time needed to service each
request based on the order the requests were entered. Seek time can be
calculated by computing the distance between the position( track) the read
write heads are on and the track they need to move to. Calculating
latency involves a few more steps. To calculate latency, you must first
calculate the seek time in order to know how long it will take to move the
heads to the right track. Then, knowing which the sector was under the
head it moved, and the rotational speed, your program should compute
the sector which will be under the after the move. Finally, you can
compute the latency, or the time left for the correct sector to arrive under
the read/write head.
شكرا لحضراتكم