الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو المساعده في مشروعي

بدأه shirothehunt في 3 مايو 2009 · 1 رد · 486 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو المساعده في هذا المشروع واتمني من الاعضاء الكرام سرعة الاستجابه

لم يفلح معي استخدام برنامج الجافا فلجأت الي سي بلاس بلاس بس بصراحه مش عارف

هذا هو المشروع بالكامل

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.

شكرا لحضراتكم

#2

سلملي على دكتورة سمحاء

وعلى حاسبات القاهرة

مواضيع مشابهة