עבור לתוכן

help with linked list in C lang

Featured Replies

פורסם

שלום לכולם !

נתקלתי בבעיה ואולי משהו מכאן יוכל לעזור לי :

ראשית אגדיר את המבנים הקיימים

struct student_item {

char id;

char name;

int number_of_ courses;

struct student_item *next_student;

}

·רשימה ממוינת לפי שמות הסטודנטים.

* 20= NAME_SIZE, 20= ID_SIZE

2) courses - רשימה מקושרת של קורסים(כל איבר מטיפוס COURSE_ITEM), כאשר כל מבנה ברשימה מכיל 5 שדות מידע: מספר הקורס, מספר מקסימלי של מקומות ומספר הסטודנטים שרשומים בקורס, מצביע על הרשימה המקושרת של הסטודנטים שרשומים בקורס, מצביע על הרשימה המקושרת של הסטודנטים בהמתנה ומצביע לקורס הבא ברשימה:

struct course_item {

int id_course;

int max_quantity, current_quantity;

struct course_list * student_list;

struct waiting_course *waiting_list;

struct course_item *next;

}

3) course_list - רשימה מקושרת של סטודנטים בקורס מסוים, כאשר כל מבנה מכיל רק שדה מידע אחד שמצביע על סטודנט ב- student_list, ומצביע למבנה הסטודנטים הבא . מבנה הרשימה הינו:

struct course_list {

struct student_item *student;

struct course_list *next;

}

·רשימות ממוינות לפי שמות הסטודנטים.

4) waiting_list - רשימה מקושרת של סטודנטים בהמתנה לפינוי מקום בקורס מסוים , כאשר כל מבנה מכיל רק שדה מידע אחד שמצביע על סטודנט ב- student_list ומצביע להבא בתור . מבנה הרשימה הינו:

struct waiting_course {

struct student_item *student;

struct waiting_course *next;

}

·רשימות ההמתנה בקורסים יעבדו לפי First In First Out FIFO)) .

זוהי תוכנית להרשמת סטודנטים במוסד אקדמי

כעת יש לי רק בעיה אחת (כל התוכנית כבר גמורה )

כאשר יש לי מספר סטודנטים שנמצאים ברשימת המתנה לאותו קורס ונניח שהתפנה מקום באותו קורס

אז אני אמור לקחת את הסטודנט ה ראשון מרשימת ההמתנה ולהכניס אותו לרשימת הסטודנטים בקורס

עכשיו בפעם הראשונה הוא מבצע ללא בעייה רק שבפעם השניה אני כבר מאבד את הרשימה

השורה הרלונטית נראת כך :

new_student=first_in_the_waiting_list;

first_in_the_waiting_list=first_in_the_waiting_list->next

אם מישהו יוכל להגיד במה טעיתי אני מאוד יודה לו !!!

פורסם

אפשר ליישר את הקוד לשמאל ככה שזה יהיה הרבה הרבה יותר קריא

מה שעשית נראה נכון, כנראה שלא בנית את הרשימה כמו שצריך

בלי קוד אי אפשר לעזור לך

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים