鱼C论坛

 找回密码
 立即注册
查看: 2802|回复: 18

[已解决]课程设计

[复制链接]
发表于 2022-1-7 11:08:33 | 显示全部楼层 |阅读模式
60鱼币
求助!本人是使用MAC vscode2021 的超级新手,由于实在搞不懂多文件编程的原理,求助
最佳答案
2022-1-7 11:08:34
可能我理解错了,我理解的是一个课程对应一个学分
还有选课系统不知道是要做什么
这个 查看课程信息 和 教师信息查看 、学生信息查看 有什么区别

main.c
  1. #include "teacher_system.h"
  2. #include "student_system.h"
  3. #include "file_operation.h"
  4. #include "course_selection_system.h"
  5. #include <stdio.h>

  6. static void main_menu(void) {
  7.     printf("0.退出系统\n");
  8.     printf("1.教师系统\n");
  9.     printf("2.学生系统\n");
  10.     printf("3.选课系统\n");
  11. }

  12. int main(void) {
  13.     teacher_system_init();
  14.     student_system_init();
  15.     course_selection_system_init();
  16.     load_file("data.dat");
  17.     while(1) {
  18.         main_menu();
  19.         printf("请选择: ");
  20.         size_t sel;
  21.         scanf("%lu", &sel);
  22.         switch(sel) {
  23.             case 0: goto L;
  24.             case 1: teacher_system(); break;
  25.             case 2: student_system(); break;
  26.             case 3: course_selection_system(); break;
  27.         }
  28.     }
  29. L:
  30.     save_file("data.dat");
  31.     teacher_system_deinit();
  32.     student_system_deinit();
  33.     course_selection_system_deinit();
  34.     return 0;
  35. }
复制代码


teacher_system.h
  1. #ifndef _TEACHER_SYSTEM_H_
  2. #define _TEACHER_SYSTEM_H_

  3. #include <stdio.h>

  4. void teacher_system_init(void);
  5. void teacher_system_deinit(void);
  6. void teacher_system_load_file(FILE *fp);
  7. void teacher_system_save_file(FILE *fp);
  8. void teacher_system(void);

  9. #endif
复制代码



teacher_system.c
  1. #include "teacher_system.h"
  2. #include "file_operation.h"
  3. #include "list.h"
  4. #include <string.h>
  5. #include <stdlib.h>

  6. typedef struct {
  7.     char id[128];
  8.     char name[128];
  9.     double credit;
  10. } course_info_t;

  11. typedef struct {
  12.     char id[128];
  13.     char name[128];
  14.     list_t *course_info;
  15. } teacher_t;

  16. static list_t *list;

  17. static void teacher_system_menu(void) {
  18.     printf("0.返回上级菜单\n");
  19.     printf("1.教师信息注册\n");
  20.     printf("2.教师信息注销\n");
  21.     printf("3.教师信息查看\n");
  22.     printf("4.教师信息修改\n");
  23.     printf("5.保存数据到文件\n");
  24.     printf("6.从文件读取数据\n");
  25. }

  26. static teacher_t *teacher_init(void) {
  27.     teacher_t *teacher = malloc(sizeof(*teacher));
  28.     teacher->course_info = list_init();
  29.     return teacher;
  30. }

  31. static void teacher_deinit(teacher_t *teacher) {
  32.     list_deinit(teacher->course_info);
  33.     free(teacher);
  34. }

  35. static void get_teacher(teacher_t *teacher) {
  36.     printf("请输入教师编号: ");
  37.     scanf("%s", teacher->id);
  38.     printf("请输入教师姓名: ");
  39.     scanf("%s", teacher->name);
  40.     printf("输入 # 结束课程信息输入\n");
  41.     list_clean(teacher->course_info);
  42.     while(1) {
  43.         course_info_t course_info;
  44.         printf("请输入课程编号: ");
  45.         scanf("%s", course_info.id);
  46.         if(course_info.id[0] == '#') break;
  47.         printf("请输入课程名称: ");
  48.         scanf("%s", course_info.name);
  49.         printf("请输入课程学分: ");
  50.         scanf("%lf", &course_info.credit);
  51.         list_append(teacher->course_info, &course_info, sizeof(course_info));
  52.     }
  53. }

  54. static void info_register(void) {
  55.     teacher_t *teacher = teacher_init();
  56.     get_teacher(teacher);
  57.     list_append(list, &teacher, sizeof(teacher));
  58. }

  59. static size_t list_find(const char id[]) {
  60.     for(size_t i = 0; i < list_size(list); ++i) {
  61.         teacher_t *teacher;
  62.         list_get(list, i, &teacher, sizeof(teacher));
  63.         if(!strcmp(teacher->id, id)) return i;
  64.     }
  65.     return (size_t)-1;
  66. }

  67. static void info_unregister(void) {
  68.     printf("请输入教师编号: ");
  69.     char id[128];
  70.     scanf("%s", id);
  71.     size_t index = list_find(id);
  72.     if(index != (size_t)-1) {
  73.         teacher_t *teacher;
  74.         list_get(list, index, &teacher, sizeof(teacher));
  75.         teacher_deinit(teacher);
  76.         list_delete(list, index);
  77.     } else printf("注销失败!\n");
  78. }

  79. static void info_view(void) {
  80.     for(size_t i = 0; i < list_size(list); ++i) {
  81.         teacher_t *teacher;
  82.         list_get(list, i, &teacher, sizeof(teacher));
  83.         printf("教师编号: %s\n", teacher->id);
  84.         printf("教师姓名: %s\n", teacher->name);
  85.         for(size_t i = 0; i < list_size(teacher->course_info); ++i) {
  86.             course_info_t course_info;
  87.             list_get(teacher->course_info, i, &course_info, sizeof(course_info));
  88.             printf("课程编号: %s\n", course_info.id);
  89.             printf("课程名称: %s\n", course_info.name);
  90.             printf("课程学分: %lf\n", course_info.credit);
  91.         }
  92.     }
  93. }

  94. static void info_change(void) {
  95.     printf("请输入教师编号: ");
  96.     char id[128];
  97.     scanf("%s", id);
  98.     size_t index = list_find(id);
  99.     if(index != (size_t)-1) {
  100.         teacher_t *teacher;
  101.         list_get(list, index, &teacher, sizeof(teacher));
  102.         get_teacher(teacher);
  103.         list_set(list, index, &teacher, sizeof(teacher));
  104.     } else printf("修改失败!\n");
  105. }

  106. static void save(void) {
  107.     printf("请输入文件名: ");
  108.     char filename[128];
  109.     scanf("%s", filename);
  110.     save_file(filename);
  111. }

  112. static void load(void) {
  113.     printf("请输入文件名: ");
  114.     char filename[128];
  115.     scanf("%s", filename);
  116.     load_file(filename);
  117. }

  118. static void teacher_system_clean(void) {
  119.     teacher_system_init();
  120. }

  121. void teacher_system_init(void) {
  122.     teacher_system_deinit();
  123.     list = list_init();
  124. }

  125. void teacher_system_deinit(void) {
  126.     for(size_t i = 0; i < list_size(list); ++i) {
  127.         teacher_t *teacher;
  128.         list_get(list, i, &teacher, sizeof(teacher));
  129.         teacher_deinit(teacher);
  130.     }
  131.     list_deinit(list);
  132.     list = NULL;
  133. }

  134. void teacher_system_load_file(FILE *fp) {
  135.     if(!fp) return;
  136.     teacher_system_clean();
  137.     size_t size;
  138.     fread(&size, sizeof(size), 1, fp);
  139.     for(size_t i = 0; i < size; ++i) {
  140.         teacher_t *teacher = teacher_init();
  141.         fread(teacher->id, sizeof(teacher->id), 1, fp);
  142.         fread(teacher->name, sizeof(teacher->name), 1, fp);
  143.         {
  144.             size_t size;
  145.             fread(&size, sizeof(size), 1, fp);
  146.             for(size_t i = 0; i < size; ++i) {
  147.                 course_info_t course_info;
  148.                 fread(course_info.id, sizeof(course_info.id), 1, fp);
  149.                 fread(course_info.name, sizeof(course_info.name), 1, fp);
  150.                 fread(&course_info.credit, sizeof(course_info.credit), 1, fp);
  151.                 list_append(teacher->course_info, &course_info, sizeof(course_info));
  152.             }
  153.         }
  154.         list_append(list, &teacher, sizeof(teacher));
  155.     }
  156. }

  157. void teacher_system_save_file(FILE *fp) {
  158.     if(!fp) return;
  159.     size_t size = list_size(list);
  160.     fwrite(&size, sizeof(size), 1, fp);
  161.     for(size_t i = 0; i < size; ++i) {
  162.         teacher_t *teacher;
  163.         list_get(list, i, &teacher, sizeof(teacher));
  164.         fwrite(teacher->id, sizeof(teacher->id), 1, fp);
  165.         fwrite(teacher->name, sizeof(teacher->name), 1, fp);
  166.         {
  167.             size_t size = list_size(teacher->course_info);
  168.             fwrite(&size, sizeof(size), 1, fp);
  169.             for(size_t i = 0; i < size; ++i) {
  170.                 course_info_t course_info;
  171.                 list_get(teacher->course_info, i, &course_info, sizeof(course_info));
  172.                 fwrite(course_info.id, sizeof(course_info.id), 1, fp);
  173.                 fwrite(course_info.name, sizeof(course_info.name), 1, fp);
  174.                 fwrite(&course_info.credit, sizeof(course_info.credit), 1, fp);
  175.             }
  176.         }
  177.     }
  178. }

  179. void teacher_system(void) {
  180.     while(1) {
  181.         teacher_system_menu();
  182.         printf("请选择: ");
  183.         size_t sel;
  184.         scanf("%lu", &sel);
  185.         switch(sel) {
  186.             case 0: goto L;
  187.             case 1: info_register(); break;
  188.             case 2: info_unregister(); break;
  189.             case 3: info_view(); break;
  190.             case 4: info_change(); break;
  191.             case 5: save(); break;
  192.             case 6: load(); break;
  193.         }
  194.     }
  195. L:  ;
  196. }
复制代码


student_system.h
  1. #ifndef _STUDENT_SYSTEM_H_
  2. #define _STUDENT_SYSTEM_H_

  3. #include <stdio.h>

  4. void student_system_init(void);
  5. void student_system_deinit(void);
  6. void student_system_load_file(FILE *fp);
  7. void student_system_save_file(FILE *fp);
  8. void student_system(void);

  9. #endif
复制代码


student_system.c
  1. #include "student_system.h"
  2. #include "file_operation.h"
  3. #include "list.h"
  4. #include <stdlib.h>
  5. #include <string.h>

  6. typedef struct {
  7.     char teacher_id[128];
  8.     char course_id[128];
  9. } course_info_t;

  10. typedef struct {
  11.     char id[128];
  12.     char name[128];
  13.     char major[128];
  14.     list_t *course_info;
  15. } student_t;

  16. static list_t *list;

  17. static void student_system_menu(void) {
  18.     printf("0.返回上级菜单\n");
  19.     printf("1.学生信息注册\n");
  20.     printf("2.学生信息注销\n");
  21.     printf("3.学生信息查看\n");
  22.     printf("4.学生信息修改\n");
  23.     printf("5.保存数据到文件\n");
  24.     printf("6.从文件读取数据\n");
  25. }

  26. static student_t *student_init(void) {
  27.     student_t *student = malloc(sizeof(*student));
  28.     student->course_info = list_init();
  29.     return student;
  30. }

  31. static void student_deinit(student_t *student) {
  32.     list_deinit(student->course_info);
  33.     free(student);
  34. }

  35. static void get_student(student_t *student) {
  36.     printf("请输入学生编号: ");
  37.     scanf("%s", student->id);
  38.     printf("请输入学生姓名: ");
  39.     scanf("%s", student->name);
  40.     printf("请输入所学专业: ");
  41.     scanf("%s", student->major);
  42.     printf("输入 # 结束课程信息输入\n");
  43.     list_clean(student->course_info);
  44.     while(1) {
  45.         course_info_t course_info;
  46.         printf("请输入教师编号: ");
  47.         scanf("%s", course_info.teacher_id);
  48.         if(course_info.teacher_id[0] == '#') break;
  49.         printf("请输入课程编号: ");
  50.         scanf("%s", course_info.course_id);
  51.         list_append(student->course_info, &course_info, sizeof(course_info));
  52.     }
  53. }

  54. static void info_register(void) {
  55.     student_t *student = student_init();
  56.     get_student(student);
  57.     list_append(list, &student, sizeof(student));
  58. }

  59. static size_t list_find(const char id[]) {
  60.     for(size_t i = 0; i < list_size(list); ++i) {
  61.         student_t *student;
  62.         list_get(list, i, &student, sizeof(student));
  63.         if(!strcmp(student->id, id)) return i;
  64.     }
  65.     return (size_t)-1;
  66. }

  67. static void info_unregister(void) {
  68.     printf("请输入学生编号: ");
  69.     char id[128];
  70.     scanf("%s", id);
  71.     size_t index = list_find(id);
  72.     if(index != (size_t)-1) {
  73.         student_t *student;
  74.         list_get(list, index, &student, sizeof(student));
  75.         student_deinit(student);
  76.         list_delete(list, index);
  77.     } else printf("注销失败!\n");
  78. }

  79. static void info_view(void) {
  80.     for(size_t i = 0; i < list_size(list); ++i) {
  81.         student_t *student;
  82.         list_get(list, i, &student, sizeof(student));
  83.         printf("学生编号: %s\n", student->id);
  84.         printf("学生姓名: %s\n", student->name);
  85.         printf("所学专业: %s\n", student->major);
  86.         for(size_t i = 0; i < list_size(student->course_info); ++i) {
  87.             course_info_t course_info;
  88.             list_get(student->course_info, i, &course_info, sizeof(course_info));
  89.             printf("教师编号: %s\n", course_info.teacher_id);
  90.             printf("课程编号: %s\n", course_info.course_id);
  91.         }
  92.     }
  93. }

  94. static void info_change(void) {
  95.     printf("请输入学生编号: ");
  96.     char id[128];
  97.     scanf("%s", id);
  98.     size_t index = list_find(id);
  99.     if(index != (size_t)-1) {
  100.         student_t *student;
  101.         list_get(list, index, &student, sizeof(student));
  102.         get_student(student);
  103.         list_set(list, index, &student, sizeof(student));
  104.     } else printf("修改失败!\n");
  105. }

  106. static void save(void) {
  107.     printf("请输入文件名: ");
  108.     char filename[128];
  109.     scanf("%s", filename);
  110.     save_file(filename);
  111. }

  112. static void load(void) {
  113.     printf("请输入文件名: ");
  114.     char filename[128];
  115.     scanf("%s", filename);
  116.     load_file(filename);
  117. }

  118. static void student_system_clean(void) {
  119.     student_system_init();
  120. }

  121. void student_system_init(void) {
  122.     student_system_deinit();
  123.     list = list_init();
  124. }

  125. void student_system_deinit(void) {
  126.     for(size_t i = 0; i < list_size(list); ++i) {
  127.         student_t *student;
  128.         list_get(list, i, &student, sizeof(student));
  129.         student_deinit(student);
  130.     }
  131.     list_deinit(list);
  132.     list = NULL;
  133. }

  134. void student_system_load_file(FILE *fp) {
  135.     if(!fp) return;
  136.     student_system_clean();
  137.     size_t size;
  138.     fread(&size, sizeof(size), 1, fp);
  139.     for(size_t i = 0; i < size; ++i) {
  140.         student_t *student = student_init();
  141.         fread(student->id, sizeof(student->id), 1, fp);
  142.         fread(student->name, sizeof(student->name), 1, fp);
  143.         fread(student->major, sizeof(student->major), 1, fp);
  144.         {
  145.             size_t size;
  146.             fread(&size, sizeof(size), 1, fp);
  147.             for(size_t i = 0; i < size; ++i) {
  148.                 course_info_t course_info;
  149.                 fread(course_info.teacher_id, sizeof(course_info.teacher_id), 1, fp);
  150.                 fread(course_info.course_id, sizeof(course_info.course_id), 1, fp);
  151.                 list_append(student->course_info, &course_info, sizeof(course_info));
  152.             }
  153.         }
  154.         list_append(list, &student, sizeof(student));
  155.     }
  156. }

  157. void student_system_save_file(FILE *fp) {
  158.     if(!fp) return;
  159.     size_t size = list_size(list);
  160.     fwrite(&size, sizeof(size), 1, fp);
  161.     for(size_t i = 0; i < size; ++i) {
  162.         student_t *student;
  163.         list_get(list, i, &student, sizeof(student));
  164.         fwrite(student->id, sizeof(student->id), 1, fp);
  165.         fwrite(student->name, sizeof(student->name), 1, fp);
  166.         fwrite(student->major, sizeof(student->major), 1, fp);
  167.         {
  168.             size_t size = list_size(student->course_info);
  169.             fwrite(&size, sizeof(size), 1, fp);
  170.             for(size_t i = 0; i < size; ++i) {
  171.                 course_info_t course_info;
  172.                 list_get(student->course_info, i, &course_info, sizeof(course_info));
  173.                 fwrite(course_info.teacher_id, sizeof(course_info.teacher_id), 1, fp);
  174.                 fwrite(course_info.course_id, sizeof(course_info.course_id), 1, fp);
  175.             }
  176.         }
  177.     }
  178. }

  179. void student_system(void) {
  180.     while(1) {
  181.         student_system_menu();
  182.         printf("请选择: ");
  183.         size_t sel;
  184.         scanf("%lu", &sel);
  185.         switch(sel) {
  186.             case 0: goto L;
  187.             case 1: info_register(); break;
  188.             case 2: info_unregister(); break;
  189.             case 3: info_view(); break;
  190.             case 4: info_change(); break;
  191.             case 5: save(); break;
  192.             case 6: load(); break;
  193.         }
  194.     }
  195. L:  ;
  196. }
复制代码


course_selection_system.h
  1. #ifndef _COURSE_SELECTION_SYSTEM_H_
  2. #define _COURSE_SELECTION_SYSTEM_H_

  3. void course_selection_system_init(void);
  4. void course_selection_system_deinit(void);
  5. void course_selection_system(void);

  6. #endif
复制代码


course_selection_system.c
  1. #include "course_selection_system.h"

  2. void course_selection_system_init(void) {
  3. }

  4. void course_selection_system_deinit(void) {
  5. }

  6. void course_selection_system(void) {
  7. }
复制代码


file_operation.h
  1. #ifndef _FILE_OPERATION_H_
  2. #define _FILE_OPERATION_H_

  3. void load_file(const char *filename);
  4. void save_file(const char *filename);

  5. #endif
复制代码


file_operation.c
  1. #include "file_operation.h"
  2. #include "teacher_system.h"
  3. #include "student_system.h"
  4. #include <stdio.h>

  5. void load_file(const char *filename) {
  6.     FILE *fp = fopen(filename, "r");
  7.     if(!fp) return;
  8.     teacher_system_load_file(fp);
  9.     student_system_load_file(fp);
  10. }

  11. void save_file(const char *filename) {
  12.     FILE *fp = fopen(filename, "w");
  13.     if(!fp) return;
  14.     teacher_system_save_file(fp);
  15.     student_system_save_file(fp);
  16. }
复制代码


list.h
  1. #ifndef _LIST_H_
  2. #define _LIST_H_

  3. #include <stddef.h>
  4. #include <stdbool.h>

  5. struct list_node_tag {
  6.     void *data; size_t size;
  7.     struct list_node_tag *next;
  8. };

  9. typedef struct {
  10.     struct list_node_tag *head;
  11.     size_t size;
  12. } list_t;

  13. list_t *list_init(void);
  14. void list_deinit(list_t *list);
  15. bool list_clean(list_t *list);
  16. bool list_insert(list_t *list, size_t index, const void *data, size_t size);
  17. bool list_delete(list_t *list, size_t index);
  18. bool list_get(const list_t *list, size_t index, void *data, size_t size);
  19. bool list_set(list_t *list, size_t index, const void *data, size_t size);
  20. bool list_append(list_t *list, const void *data, size_t size);
  21. size_t list_size(const list_t *list);
  22. bool list_empty(const list_t *list);

  23. #endif
复制代码


list.c
  1. #include "list.h"
  2. #include <stdlib.h>
  3. #include <memory.h>

  4. list_t *list_init(void) {
  5.     list_t *list = malloc(sizeof(*list));
  6.     if(!list) return NULL;
  7.     list->head = NULL;
  8.     list->size = 0;
  9.     return list;
  10. }

  11. void list_deinit(list_t *list) {
  12.     if(!list) return;
  13.     list_clean(list);
  14.     free(list);
  15. }

  16. bool list_clean(list_t *list) {
  17.     if(!list) return false;
  18.     while(!list_empty(list)) list_delete(list, 0);
  19.     return true;
  20. }

  21. bool list_insert(list_t *list, size_t index, const void *data, size_t size) {
  22.     if(!list) return false;
  23.     if(list_size(list) < index) return false;
  24.     if(!data) return false;
  25.     struct list_node_tag **current = &list->head;
  26.     while(index--) current = &(*current)->next;
  27.     struct list_node_tag *node = malloc(sizeof(*node));
  28.     if(!node) return false;
  29.     node->data = malloc(size);
  30.     if(!node->data) {free(node); return false;}
  31.     memcpy(node->data, data, size);
  32.     node->size = size;
  33.     node->next = *current;
  34.     *current = node;
  35.     ++list->size;
  36.     return true;
  37. }

  38. bool list_delete(list_t *list, size_t index) {
  39.     if(!list) return false;
  40.     if(list_size(list) <= index) return false;
  41.     struct list_node_tag **current = &list->head;
  42.     while(index--) current = &(*current)->next;
  43.     struct list_node_tag *temp = *current;
  44.     *current = temp->next;
  45.     free(temp->data); free(temp);
  46.     --list->size;
  47.     return true;
  48. }

  49. bool list_get(const list_t *list, size_t index, void *data, size_t size) {
  50.     if(!list) return false;
  51.     if(list_size(list) <= index) return false;
  52.     if(!data) return false;
  53.     struct list_node_tag *const *current = &list->head;
  54.     while(index--) current = &(*current)->next;
  55.     struct list_node_tag *temp = *current;
  56.     if(temp->size > size) return false;
  57.     memcpy(data, temp->data, temp->size);
  58.     return true;
  59. }

  60. bool list_set(list_t *list, size_t index, const void *data, size_t size) {
  61.     bool res = list_delete(list, index);
  62.     return res ? list_insert(list, index, data, size) : res;
  63. }

  64. bool list_append(list_t *list, const void *data, size_t size) {
  65.     if(!list) return false;
  66.     return list_insert(list, list_size(list), data, size);
  67. }

  68. size_t list_size(const list_t *list) {
  69.     if(!list) return 0;
  70.     return list->size;
  71. }

  72. bool list_empty(const list_t *list) {
  73.     if(!list) return true;
  74.     return list_size(list) == 0;
  75. }
复制代码

题目

题目

最佳答案

查看完整内容

可能我理解错了,我理解的是一个课程对应一个学分 还有选课系统不知道是要做什么 这个 查看课程信息 和 教师信息查看 、学生信息查看 有什么区别 main.c teacher_system.h teacher_system.c student_system.h student_system.c course_selection_system.h course_selection_system.c file_operation.h file_operation.c list.h list.c
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 11:08:34 | 显示全部楼层    本楼为最佳答案   
可能我理解错了,我理解的是一个课程对应一个学分
还有选课系统不知道是要做什么
这个 查看课程信息 和 教师信息查看 、学生信息查看 有什么区别

main.c
  1. #include "teacher_system.h"
  2. #include "student_system.h"
  3. #include "file_operation.h"
  4. #include "course_selection_system.h"
  5. #include <stdio.h>

  6. static void main_menu(void) {
  7.     printf("0.退出系统\n");
  8.     printf("1.教师系统\n");
  9.     printf("2.学生系统\n");
  10.     printf("3.选课系统\n");
  11. }

  12. int main(void) {
  13.     teacher_system_init();
  14.     student_system_init();
  15.     course_selection_system_init();
  16.     load_file("data.dat");
  17.     while(1) {
  18.         main_menu();
  19.         printf("请选择: ");
  20.         size_t sel;
  21.         scanf("%lu", &sel);
  22.         switch(sel) {
  23.             case 0: goto L;
  24.             case 1: teacher_system(); break;
  25.             case 2: student_system(); break;
  26.             case 3: course_selection_system(); break;
  27.         }
  28.     }
  29. L:
  30.     save_file("data.dat");
  31.     teacher_system_deinit();
  32.     student_system_deinit();
  33.     course_selection_system_deinit();
  34.     return 0;
  35. }
复制代码


teacher_system.h
  1. #ifndef _TEACHER_SYSTEM_H_
  2. #define _TEACHER_SYSTEM_H_

  3. #include <stdio.h>

  4. void teacher_system_init(void);
  5. void teacher_system_deinit(void);
  6. void teacher_system_load_file(FILE *fp);
  7. void teacher_system_save_file(FILE *fp);
  8. void teacher_system(void);

  9. #endif
复制代码



teacher_system.c
  1. #include "teacher_system.h"
  2. #include "file_operation.h"
  3. #include "list.h"
  4. #include <string.h>
  5. #include <stdlib.h>

  6. typedef struct {
  7.     char id[128];
  8.     char name[128];
  9.     double credit;
  10. } course_info_t;

  11. typedef struct {
  12.     char id[128];
  13.     char name[128];
  14.     list_t *course_info;
  15. } teacher_t;

  16. static list_t *list;

  17. static void teacher_system_menu(void) {
  18.     printf("0.返回上级菜单\n");
  19.     printf("1.教师信息注册\n");
  20.     printf("2.教师信息注销\n");
  21.     printf("3.教师信息查看\n");
  22.     printf("4.教师信息修改\n");
  23.     printf("5.保存数据到文件\n");
  24.     printf("6.从文件读取数据\n");
  25. }

  26. static teacher_t *teacher_init(void) {
  27.     teacher_t *teacher = malloc(sizeof(*teacher));
  28.     teacher->course_info = list_init();
  29.     return teacher;
  30. }

  31. static void teacher_deinit(teacher_t *teacher) {
  32.     list_deinit(teacher->course_info);
  33.     free(teacher);
  34. }

  35. static void get_teacher(teacher_t *teacher) {
  36.     printf("请输入教师编号: ");
  37.     scanf("%s", teacher->id);
  38.     printf("请输入教师姓名: ");
  39.     scanf("%s", teacher->name);
  40.     printf("输入 # 结束课程信息输入\n");
  41.     list_clean(teacher->course_info);
  42.     while(1) {
  43.         course_info_t course_info;
  44.         printf("请输入课程编号: ");
  45.         scanf("%s", course_info.id);
  46.         if(course_info.id[0] == '#') break;
  47.         printf("请输入课程名称: ");
  48.         scanf("%s", course_info.name);
  49.         printf("请输入课程学分: ");
  50.         scanf("%lf", &course_info.credit);
  51.         list_append(teacher->course_info, &course_info, sizeof(course_info));
  52.     }
  53. }

  54. static void info_register(void) {
  55.     teacher_t *teacher = teacher_init();
  56.     get_teacher(teacher);
  57.     list_append(list, &teacher, sizeof(teacher));
  58. }

  59. static size_t list_find(const char id[]) {
  60.     for(size_t i = 0; i < list_size(list); ++i) {
  61.         teacher_t *teacher;
  62.         list_get(list, i, &teacher, sizeof(teacher));
  63.         if(!strcmp(teacher->id, id)) return i;
  64.     }
  65.     return (size_t)-1;
  66. }

  67. static void info_unregister(void) {
  68.     printf("请输入教师编号: ");
  69.     char id[128];
  70.     scanf("%s", id);
  71.     size_t index = list_find(id);
  72.     if(index != (size_t)-1) {
  73.         teacher_t *teacher;
  74.         list_get(list, index, &teacher, sizeof(teacher));
  75.         teacher_deinit(teacher);
  76.         list_delete(list, index);
  77.     } else printf("注销失败!\n");
  78. }

  79. static void info_view(void) {
  80.     for(size_t i = 0; i < list_size(list); ++i) {
  81.         teacher_t *teacher;
  82.         list_get(list, i, &teacher, sizeof(teacher));
  83.         printf("教师编号: %s\n", teacher->id);
  84.         printf("教师姓名: %s\n", teacher->name);
  85.         for(size_t i = 0; i < list_size(teacher->course_info); ++i) {
  86.             course_info_t course_info;
  87.             list_get(teacher->course_info, i, &course_info, sizeof(course_info));
  88.             printf("课程编号: %s\n", course_info.id);
  89.             printf("课程名称: %s\n", course_info.name);
  90.             printf("课程学分: %lf\n", course_info.credit);
  91.         }
  92.     }
  93. }

  94. static void info_change(void) {
  95.     printf("请输入教师编号: ");
  96.     char id[128];
  97.     scanf("%s", id);
  98.     size_t index = list_find(id);
  99.     if(index != (size_t)-1) {
  100.         teacher_t *teacher;
  101.         list_get(list, index, &teacher, sizeof(teacher));
  102.         get_teacher(teacher);
  103.         list_set(list, index, &teacher, sizeof(teacher));
  104.     } else printf("修改失败!\n");
  105. }

  106. static void save(void) {
  107.     printf("请输入文件名: ");
  108.     char filename[128];
  109.     scanf("%s", filename);
  110.     save_file(filename);
  111. }

  112. static void load(void) {
  113.     printf("请输入文件名: ");
  114.     char filename[128];
  115.     scanf("%s", filename);
  116.     load_file(filename);
  117. }

  118. static void teacher_system_clean(void) {
  119.     teacher_system_init();
  120. }

  121. void teacher_system_init(void) {
  122.     teacher_system_deinit();
  123.     list = list_init();
  124. }

  125. void teacher_system_deinit(void) {
  126.     for(size_t i = 0; i < list_size(list); ++i) {
  127.         teacher_t *teacher;
  128.         list_get(list, i, &teacher, sizeof(teacher));
  129.         teacher_deinit(teacher);
  130.     }
  131.     list_deinit(list);
  132.     list = NULL;
  133. }

  134. void teacher_system_load_file(FILE *fp) {
  135.     if(!fp) return;
  136.     teacher_system_clean();
  137.     size_t size;
  138.     fread(&size, sizeof(size), 1, fp);
  139.     for(size_t i = 0; i < size; ++i) {
  140.         teacher_t *teacher = teacher_init();
  141.         fread(teacher->id, sizeof(teacher->id), 1, fp);
  142.         fread(teacher->name, sizeof(teacher->name), 1, fp);
  143.         {
  144.             size_t size;
  145.             fread(&size, sizeof(size), 1, fp);
  146.             for(size_t i = 0; i < size; ++i) {
  147.                 course_info_t course_info;
  148.                 fread(course_info.id, sizeof(course_info.id), 1, fp);
  149.                 fread(course_info.name, sizeof(course_info.name), 1, fp);
  150.                 fread(&course_info.credit, sizeof(course_info.credit), 1, fp);
  151.                 list_append(teacher->course_info, &course_info, sizeof(course_info));
  152.             }
  153.         }
  154.         list_append(list, &teacher, sizeof(teacher));
  155.     }
  156. }

  157. void teacher_system_save_file(FILE *fp) {
  158.     if(!fp) return;
  159.     size_t size = list_size(list);
  160.     fwrite(&size, sizeof(size), 1, fp);
  161.     for(size_t i = 0; i < size; ++i) {
  162.         teacher_t *teacher;
  163.         list_get(list, i, &teacher, sizeof(teacher));
  164.         fwrite(teacher->id, sizeof(teacher->id), 1, fp);
  165.         fwrite(teacher->name, sizeof(teacher->name), 1, fp);
  166.         {
  167.             size_t size = list_size(teacher->course_info);
  168.             fwrite(&size, sizeof(size), 1, fp);
  169.             for(size_t i = 0; i < size; ++i) {
  170.                 course_info_t course_info;
  171.                 list_get(teacher->course_info, i, &course_info, sizeof(course_info));
  172.                 fwrite(course_info.id, sizeof(course_info.id), 1, fp);
  173.                 fwrite(course_info.name, sizeof(course_info.name), 1, fp);
  174.                 fwrite(&course_info.credit, sizeof(course_info.credit), 1, fp);
  175.             }
  176.         }
  177.     }
  178. }

  179. void teacher_system(void) {
  180.     while(1) {
  181.         teacher_system_menu();
  182.         printf("请选择: ");
  183.         size_t sel;
  184.         scanf("%lu", &sel);
  185.         switch(sel) {
  186.             case 0: goto L;
  187.             case 1: info_register(); break;
  188.             case 2: info_unregister(); break;
  189.             case 3: info_view(); break;
  190.             case 4: info_change(); break;
  191.             case 5: save(); break;
  192.             case 6: load(); break;
  193.         }
  194.     }
  195. L:  ;
  196. }
复制代码


student_system.h
  1. #ifndef _STUDENT_SYSTEM_H_
  2. #define _STUDENT_SYSTEM_H_

  3. #include <stdio.h>

  4. void student_system_init(void);
  5. void student_system_deinit(void);
  6. void student_system_load_file(FILE *fp);
  7. void student_system_save_file(FILE *fp);
  8. void student_system(void);

  9. #endif
复制代码


student_system.c
  1. #include "student_system.h"
  2. #include "file_operation.h"
  3. #include "list.h"
  4. #include <stdlib.h>
  5. #include <string.h>

  6. typedef struct {
  7.     char teacher_id[128];
  8.     char course_id[128];
  9. } course_info_t;

  10. typedef struct {
  11.     char id[128];
  12.     char name[128];
  13.     char major[128];
  14.     list_t *course_info;
  15. } student_t;

  16. static list_t *list;

  17. static void student_system_menu(void) {
  18.     printf("0.返回上级菜单\n");
  19.     printf("1.学生信息注册\n");
  20.     printf("2.学生信息注销\n");
  21.     printf("3.学生信息查看\n");
  22.     printf("4.学生信息修改\n");
  23.     printf("5.保存数据到文件\n");
  24.     printf("6.从文件读取数据\n");
  25. }

  26. static student_t *student_init(void) {
  27.     student_t *student = malloc(sizeof(*student));
  28.     student->course_info = list_init();
  29.     return student;
  30. }

  31. static void student_deinit(student_t *student) {
  32.     list_deinit(student->course_info);
  33.     free(student);
  34. }

  35. static void get_student(student_t *student) {
  36.     printf("请输入学生编号: ");
  37.     scanf("%s", student->id);
  38.     printf("请输入学生姓名: ");
  39.     scanf("%s", student->name);
  40.     printf("请输入所学专业: ");
  41.     scanf("%s", student->major);
  42.     printf("输入 # 结束课程信息输入\n");
  43.     list_clean(student->course_info);
  44.     while(1) {
  45.         course_info_t course_info;
  46.         printf("请输入教师编号: ");
  47.         scanf("%s", course_info.teacher_id);
  48.         if(course_info.teacher_id[0] == '#') break;
  49.         printf("请输入课程编号: ");
  50.         scanf("%s", course_info.course_id);
  51.         list_append(student->course_info, &course_info, sizeof(course_info));
  52.     }
  53. }

  54. static void info_register(void) {
  55.     student_t *student = student_init();
  56.     get_student(student);
  57.     list_append(list, &student, sizeof(student));
  58. }

  59. static size_t list_find(const char id[]) {
  60.     for(size_t i = 0; i < list_size(list); ++i) {
  61.         student_t *student;
  62.         list_get(list, i, &student, sizeof(student));
  63.         if(!strcmp(student->id, id)) return i;
  64.     }
  65.     return (size_t)-1;
  66. }

  67. static void info_unregister(void) {
  68.     printf("请输入学生编号: ");
  69.     char id[128];
  70.     scanf("%s", id);
  71.     size_t index = list_find(id);
  72.     if(index != (size_t)-1) {
  73.         student_t *student;
  74.         list_get(list, index, &student, sizeof(student));
  75.         student_deinit(student);
  76.         list_delete(list, index);
  77.     } else printf("注销失败!\n");
  78. }

  79. static void info_view(void) {
  80.     for(size_t i = 0; i < list_size(list); ++i) {
  81.         student_t *student;
  82.         list_get(list, i, &student, sizeof(student));
  83.         printf("学生编号: %s\n", student->id);
  84.         printf("学生姓名: %s\n", student->name);
  85.         printf("所学专业: %s\n", student->major);
  86.         for(size_t i = 0; i < list_size(student->course_info); ++i) {
  87.             course_info_t course_info;
  88.             list_get(student->course_info, i, &course_info, sizeof(course_info));
  89.             printf("教师编号: %s\n", course_info.teacher_id);
  90.             printf("课程编号: %s\n", course_info.course_id);
  91.         }
  92.     }
  93. }

  94. static void info_change(void) {
  95.     printf("请输入学生编号: ");
  96.     char id[128];
  97.     scanf("%s", id);
  98.     size_t index = list_find(id);
  99.     if(index != (size_t)-1) {
  100.         student_t *student;
  101.         list_get(list, index, &student, sizeof(student));
  102.         get_student(student);
  103.         list_set(list, index, &student, sizeof(student));
  104.     } else printf("修改失败!\n");
  105. }

  106. static void save(void) {
  107.     printf("请输入文件名: ");
  108.     char filename[128];
  109.     scanf("%s", filename);
  110.     save_file(filename);
  111. }

  112. static void load(void) {
  113.     printf("请输入文件名: ");
  114.     char filename[128];
  115.     scanf("%s", filename);
  116.     load_file(filename);
  117. }

  118. static void student_system_clean(void) {
  119.     student_system_init();
  120. }

  121. void student_system_init(void) {
  122.     student_system_deinit();
  123.     list = list_init();
  124. }

  125. void student_system_deinit(void) {
  126.     for(size_t i = 0; i < list_size(list); ++i) {
  127.         student_t *student;
  128.         list_get(list, i, &student, sizeof(student));
  129.         student_deinit(student);
  130.     }
  131.     list_deinit(list);
  132.     list = NULL;
  133. }

  134. void student_system_load_file(FILE *fp) {
  135.     if(!fp) return;
  136.     student_system_clean();
  137.     size_t size;
  138.     fread(&size, sizeof(size), 1, fp);
  139.     for(size_t i = 0; i < size; ++i) {
  140.         student_t *student = student_init();
  141.         fread(student->id, sizeof(student->id), 1, fp);
  142.         fread(student->name, sizeof(student->name), 1, fp);
  143.         fread(student->major, sizeof(student->major), 1, fp);
  144.         {
  145.             size_t size;
  146.             fread(&size, sizeof(size), 1, fp);
  147.             for(size_t i = 0; i < size; ++i) {
  148.                 course_info_t course_info;
  149.                 fread(course_info.teacher_id, sizeof(course_info.teacher_id), 1, fp);
  150.                 fread(course_info.course_id, sizeof(course_info.course_id), 1, fp);
  151.                 list_append(student->course_info, &course_info, sizeof(course_info));
  152.             }
  153.         }
  154.         list_append(list, &student, sizeof(student));
  155.     }
  156. }

  157. void student_system_save_file(FILE *fp) {
  158.     if(!fp) return;
  159.     size_t size = list_size(list);
  160.     fwrite(&size, sizeof(size), 1, fp);
  161.     for(size_t i = 0; i < size; ++i) {
  162.         student_t *student;
  163.         list_get(list, i, &student, sizeof(student));
  164.         fwrite(student->id, sizeof(student->id), 1, fp);
  165.         fwrite(student->name, sizeof(student->name), 1, fp);
  166.         fwrite(student->major, sizeof(student->major), 1, fp);
  167.         {
  168.             size_t size = list_size(student->course_info);
  169.             fwrite(&size, sizeof(size), 1, fp);
  170.             for(size_t i = 0; i < size; ++i) {
  171.                 course_info_t course_info;
  172.                 list_get(student->course_info, i, &course_info, sizeof(course_info));
  173.                 fwrite(course_info.teacher_id, sizeof(course_info.teacher_id), 1, fp);
  174.                 fwrite(course_info.course_id, sizeof(course_info.course_id), 1, fp);
  175.             }
  176.         }
  177.     }
  178. }

  179. void student_system(void) {
  180.     while(1) {
  181.         student_system_menu();
  182.         printf("请选择: ");
  183.         size_t sel;
  184.         scanf("%lu", &sel);
  185.         switch(sel) {
  186.             case 0: goto L;
  187.             case 1: info_register(); break;
  188.             case 2: info_unregister(); break;
  189.             case 3: info_view(); break;
  190.             case 4: info_change(); break;
  191.             case 5: save(); break;
  192.             case 6: load(); break;
  193.         }
  194.     }
  195. L:  ;
  196. }
复制代码


course_selection_system.h
  1. #ifndef _COURSE_SELECTION_SYSTEM_H_
  2. #define _COURSE_SELECTION_SYSTEM_H_

  3. void course_selection_system_init(void);
  4. void course_selection_system_deinit(void);
  5. void course_selection_system(void);

  6. #endif
复制代码


course_selection_system.c
  1. #include "course_selection_system.h"

  2. void course_selection_system_init(void) {
  3. }

  4. void course_selection_system_deinit(void) {
  5. }

  6. void course_selection_system(void) {
  7. }
复制代码


file_operation.h
  1. #ifndef _FILE_OPERATION_H_
  2. #define _FILE_OPERATION_H_

  3. void load_file(const char *filename);
  4. void save_file(const char *filename);

  5. #endif
复制代码


file_operation.c
  1. #include "file_operation.h"
  2. #include "teacher_system.h"
  3. #include "student_system.h"
  4. #include <stdio.h>

  5. void load_file(const char *filename) {
  6.     FILE *fp = fopen(filename, "r");
  7.     if(!fp) return;
  8.     teacher_system_load_file(fp);
  9.     student_system_load_file(fp);
  10. }

  11. void save_file(const char *filename) {
  12.     FILE *fp = fopen(filename, "w");
  13.     if(!fp) return;
  14.     teacher_system_save_file(fp);
  15.     student_system_save_file(fp);
  16. }
复制代码


list.h
  1. #ifndef _LIST_H_
  2. #define _LIST_H_

  3. #include <stddef.h>
  4. #include <stdbool.h>

  5. struct list_node_tag {
  6.     void *data; size_t size;
  7.     struct list_node_tag *next;
  8. };

  9. typedef struct {
  10.     struct list_node_tag *head;
  11.     size_t size;
  12. } list_t;

  13. list_t *list_init(void);
  14. void list_deinit(list_t *list);
  15. bool list_clean(list_t *list);
  16. bool list_insert(list_t *list, size_t index, const void *data, size_t size);
  17. bool list_delete(list_t *list, size_t index);
  18. bool list_get(const list_t *list, size_t index, void *data, size_t size);
  19. bool list_set(list_t *list, size_t index, const void *data, size_t size);
  20. bool list_append(list_t *list, const void *data, size_t size);
  21. size_t list_size(const list_t *list);
  22. bool list_empty(const list_t *list);

  23. #endif
复制代码


list.c
  1. #include "list.h"
  2. #include <stdlib.h>
  3. #include <memory.h>

  4. list_t *list_init(void) {
  5.     list_t *list = malloc(sizeof(*list));
  6.     if(!list) return NULL;
  7.     list->head = NULL;
  8.     list->size = 0;
  9.     return list;
  10. }

  11. void list_deinit(list_t *list) {
  12.     if(!list) return;
  13.     list_clean(list);
  14.     free(list);
  15. }

  16. bool list_clean(list_t *list) {
  17.     if(!list) return false;
  18.     while(!list_empty(list)) list_delete(list, 0);
  19.     return true;
  20. }

  21. bool list_insert(list_t *list, size_t index, const void *data, size_t size) {
  22.     if(!list) return false;
  23.     if(list_size(list) < index) return false;
  24.     if(!data) return false;
  25.     struct list_node_tag **current = &list->head;
  26.     while(index--) current = &(*current)->next;
  27.     struct list_node_tag *node = malloc(sizeof(*node));
  28.     if(!node) return false;
  29.     node->data = malloc(size);
  30.     if(!node->data) {free(node); return false;}
  31.     memcpy(node->data, data, size);
  32.     node->size = size;
  33.     node->next = *current;
  34.     *current = node;
  35.     ++list->size;
  36.     return true;
  37. }

  38. bool list_delete(list_t *list, size_t index) {
  39.     if(!list) return false;
  40.     if(list_size(list) <= index) return false;
  41.     struct list_node_tag **current = &list->head;
  42.     while(index--) current = &(*current)->next;
  43.     struct list_node_tag *temp = *current;
  44.     *current = temp->next;
  45.     free(temp->data); free(temp);
  46.     --list->size;
  47.     return true;
  48. }

  49. bool list_get(const list_t *list, size_t index, void *data, size_t size) {
  50.     if(!list) return false;
  51.     if(list_size(list) <= index) return false;
  52.     if(!data) return false;
  53.     struct list_node_tag *const *current = &list->head;
  54.     while(index--) current = &(*current)->next;
  55.     struct list_node_tag *temp = *current;
  56.     if(temp->size > size) return false;
  57.     memcpy(data, temp->data, temp->size);
  58.     return true;
  59. }

  60. bool list_set(list_t *list, size_t index, const void *data, size_t size) {
  61.     bool res = list_delete(list, index);
  62.     return res ? list_insert(list, index, data, size) : res;
  63. }

  64. bool list_append(list_t *list, const void *data, size_t size) {
  65.     if(!list) return false;
  66.     return list_insert(list, list_size(list), data, size);
  67. }

  68. size_t list_size(const list_t *list) {
  69.     if(!list) return 0;
  70.     return list->size;
  71. }

  72. bool list_empty(const list_t *list) {
  73.     if(!list) return true;
  74.     return list_size(list) == 0;
  75. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 11:23:55 | 显示全部楼层
1.这个程序的菜单是什么样子的?
2.这个程序应该怎么使用?先输入1,然后输入123,然后输入1234,然后回车,像这样?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 11:37:25 From FishC Mobile | 显示全部楼层
对对
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 13:43:07 From FishC Mobile | 显示全部楼层
人造人 发表于 2022-1-7 11:23
1.这个程序的菜单是什么样子的?
2.这个程序应该怎么使用?先输入1,然后输入123,然后输入1234,然后回车 ...

菜单就是简易的1、2、3输入数字来选择功能
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 13:54:29 | 显示全部楼层
Kingonline 发表于 2022-1-7 13:43
菜单就是简易的1、2、3输入数字来选择功能

写出来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 13:59:31 From FishC Mobile | 显示全部楼层
人造人 发表于 2022-1-7 13:54
写出来

类似“
1、注册学生信息
2、注销学生信息
3、删除学生信息
4、查看学生信息
5、退出

这样的菜单选项
不用图形界面
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 14:08:31 | 显示全部楼层
Kingonline 发表于 2022-1-7 13:59
类似“
1、注册学生信息
2、注销学生信息

不要类似,就是要这个程序的完整的菜单,我试试给你补完整程序
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 14:12:07 | 显示全部楼层
教师信息、学生信息、选课信息,这是三个结构体吧
这三个结构体中有哪些成员,这个也写出来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 14:27:30 From FishC Mobile | 显示全部楼层
第一个界面:欢迎使用选课系统
进入第二个界面:
1.教师系统
2.学生系统
3.选课系统
教师系统界面:
1.教师信息注册
2.教师信息注销
3.教师信息删除
4.教师信息查看
5.教师信息修改(输入名字修改)
4.保存信息
(名字、编号、课程、课程学分)
5.返回
学生系统界面:
1.学生信息注册
2.学生信息注销
3.学生信息删除
4.学生信息查看
5.学生信息修改(学生名字修改)
4.保存信息
5.返回
(名字、学号、所学专业、所选课程)
选课系统界面:
1.查看课程信息(教师名字、学生人数、学分)
2.修改课程信息(教师名字、学生人数、学分)
3.排序
4.保存信息
我这样说详细吗,还是说还得继续补充细节
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 14:29:52 | 显示全部楼层
Kingonline 发表于 2022-1-7 14:27
第一个界面:欢迎使用选课系统
进入第二个界面:
1.教师系统

我先研究研究,看看还少些什么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 14:32:06 From FishC Mobile | 显示全部楼层
人造人 发表于 2022-1-7 14:29
我先研究研究,看看还少些什么

OKOK,你做个简略的,我学习学习代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 15:51:21 | 显示全部楼层
Kingonline 发表于 2022-1-7 14:27
第一个界面:欢迎使用选课系统
进入第二个界面:
1.教师系统

1. 教师信息注销和教师信息删除有什么区别
2. 课程、课程学分具体是做什么
3. 选课系统界面里面的学分是做什么
4. 这3个系统之间是什么样的关系
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 16:01:06 | 显示全部楼层
人造人 发表于 2022-1-7 14:12
教师信息、学生信息、选课信息,这是三个结构体吧
这三个结构体中有哪些成员,这个也写出来

教师信息:名字,教师编号,课程名字,课程学分
学生信息:名字,学生编号,所选课程名字
选课信息:课程编号(用来排序),课程名字,课程学分,人数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 16:06:53 | 显示全部楼层
Kingonline 发表于 2022-1-7 16:01
教师信息:名字,教师编号,课程名字,课程学分
学生信息:名字,学生编号,所选课程名字
选课信息:课 ...

也就是说
一个教师提供了一个或多个课程
学生从所有的这些教师提供的课程里面选择课程,可以选择一个或多个
是这样吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 16:09:37 | 显示全部楼层
人造人 发表于 2022-1-7 15:51
1. 教师信息注销和教师信息删除有什么区别
2. 课程、课程学分具体是做什么
3. 选课系统界面里面的学分 ...

1.注销和删除应该是一样的,所以注销就好(原谅我想太少了)
2.课程和学分是用户自己输入的,用动态链表连接。
3.学分可以用来排序
4.我认为的是教师在教师系统输入的信息可以在选课系统里面看到、
学生也同理。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 16:11:49 | 显示全部楼层
人造人 发表于 2022-1-7 16:06
也就是说
一个教师提供了一个或多个课程
学生从所有的这些教师提供的课程里面选择课程,可以选择一个或 ...

思路大致是这样的:就是教师在里面输入信息,在选课系统里面显示,然后学生看到后选择自己想选的课程
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-7 16:16:31 | 显示全部楼层
人造人 发表于 2022-1-7 15:51
1. 教师信息注销和教师信息删除有什么区别
2. 课程、课程学分具体是做什么
3. 选课系统界面里面的学分 ...

其实,只要能满足题目的要求,想输入什么完成什么都无所谓,你自由发挥,我想看看大佬的思路,和多文件编程的运用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-9 17:32:24 | 显示全部楼层
  1. $ ls
  2. course_selection_system.c  file_operation.c  list.c  main.c            student_system.h  teacher_system.h
  3. course_selection_system.h  file_operation.h  list.h  student_system.c  teacher_system.c
  4. $ gcc-debug -o main main.c teacher_system.c student_system.c course_selection_system.c file_operation.c list.c
  5. $ ls
  6. course_selection_system.c  file_operation.c  list.c  main    student_system.c  teacher_system.c
  7. course_selection_system.h  file_operation.h  list.h  main.c  student_system.h  teacher_system.h
  8. $ ./main
  9. 0.退出系统
  10. 1.教师系统
  11. 2.学生系统
  12. 3.选课系统
  13. 请选择: 1
  14. 0.返回上级菜单
  15. 1.教师信息注册
  16. 2.教师信息注销
  17. 3.教师信息查看
  18. 4.教师信息修改
  19. 5.保存数据到文件
  20. 6.从文件读取数据
  21. 请选择: 3
  22. 0.返回上级菜单
  23. 1.教师信息注册
  24. 2.教师信息注销
  25. 3.教师信息查看
  26. 4.教师信息修改
  27. 5.保存数据到文件
  28. 6.从文件读取数据
  29. 请选择: 0
  30. 0.退出系统
  31. 1.教师系统
  32. 2.学生系统
  33. 3.选课系统
  34. 请选择: 2
  35. 0.返回上级菜单
  36. 1.学生信息注册
  37. 2.学生信息注销
  38. 3.学生信息查看
  39. 4.学生信息修改
  40. 5.保存数据到文件
  41. 6.从文件读取数据
  42. 请选择: 3
  43. 0.返回上级菜单
  44. 1.学生信息注册
  45. 2.学生信息注销
  46. 3.学生信息查看
  47. 4.学生信息修改
  48. 5.保存数据到文件
  49. 6.从文件读取数据
  50. 请选择: 0
  51. 0.退出系统
  52. 1.教师系统
  53. 2.学生系统
  54. 3.选课系统
  55. 请选择: 1
  56. 0.返回上级菜单
  57. 1.教师信息注册
  58. 2.教师信息注销
  59. 3.教师信息查看
  60. 4.教师信息修改
  61. 5.保存数据到文件
  62. 6.从文件读取数据
  63. 请选择: 1
  64. 请输入教师编号: 001
  65. 请输入教师姓名: 小明
  66. 输入 # 结束课程信息输入
  67. 请输入课程编号:  005
  68. 请输入课程名称: 《C语言》
  69. 请输入课程学分: 97
  70. 请输入课程编号: 009
  71. 请输入课程名称: 《汇编语言》
  72. 请输入课程学分: 99
  73. 请输入课程编号: #
  74. 0.返回上级菜单
  75. 1.教师信息注册
  76. 2.教师信息注销
  77. 3.教师信息查看
  78. 4.教师信息修改
  79. 5.保存数据到文件
  80. 6.从文件读取数据
  81. 请选择: 3
  82. 教师编号: 001
  83. 教师姓名: 小明
  84. 课程编号: 005
  85. 课程名称: 《C语言》
  86. 课程学分: 97.000000
  87. 课程编号: 009
  88. 课程名称: 《汇编语言》
  89. 课程学分: 99.000000
  90. 0.返回上级菜单
  91. 1.教师信息注册
  92. 2.教师信息注销
  93. 3.教师信息查看
  94. 4.教师信息修改
  95. 5.保存数据到文件
  96. 6.从文件读取数据
  97. 请选择: 1
  98. 请输入教师编号: 007
  99. 请输入教师姓名: 小红
  100. 输入 # 结束课程信息输入
  101. 请输入课程编号: 013
  102. 请输入课程名称: 《C++》
  103. 请输入课程学分: 98
  104. 请输入课程编号: 016
  105. 请输入课程名称: 《python》
  106. 请输入课程学分: 100
  107. 请输入课程编号: 102
  108. 请输入课程名称: 《java》
  109. 请输入课程学分: 97
  110. 请输入课程编号: #
  111. 0.返回上级菜单
  112. 1.教师信息注册
  113. 2.教师信息注销
  114. 3.教师信息查看
  115. 4.教师信息修改
  116. 5.保存数据到文件
  117. 6.从文件读取数据
  118. 请选择: 3
  119. 教师编号: 001
  120. 教师姓名: 小明
  121. 课程编号: 005
  122. 课程名称: 《C语言》
  123. 课程学分: 97.000000
  124. 课程编号: 009
  125. 课程名称: 《汇编语言》
  126. 课程学分: 99.000000
  127. 教师编号: 007
  128. 教师姓名: 小红
  129. 课程编号: 013
  130. 课程名称: 《C++》
  131. 课程学分: 98.000000
  132. 课程编号: 016
  133. 课程名称: 《python》
  134. 课程学分: 100.000000
  135. 课程编号: 102
  136. 课程名称: 《java》
  137. 课程学分: 97.000000
  138. 0.返回上级菜单
  139. 1.教师信息注册
  140. 2.教师信息注销
  141. 3.教师信息查看
  142. 4.教师信息修改
  143. 5.保存数据到文件
  144. 6.从文件读取数据
  145. 请选择: 0
  146. 0.退出系统
  147. 1.教师系统
  148. 2.学生系统
  149. 3.选课系统
  150. 请选择: 0
  151. $ ls
  152. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  153. course_selection_system.h  file_operation.h  main    student_system.h
  154. data.dat                   list.c            main.c  teacher_system.c
  155. $ xxd data.dat
  156. 00000000: 0200 0000 0000 0000 3030 3100 bebe bebe  ........001.....
  157. 00000010: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  158. 00000020: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  159. 00000030: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  160. 00000040: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  161. 00000050: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  162. 00000060: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  163. 00000070: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  164. 00000080: bebe bebe bebe bebe e5b0 8fe6 988e 00be  ................
  165. 00000090: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  166. 000000a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  167. 000000b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  168. 000000c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  169. 000000d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  170. 000000e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  171. 000000f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  172. 00000100: bebe bebe bebe bebe 0200 0000 0000 0000  ................
  173. 00000110: 3030 3500 0000 0000 0000 0000 00ff 0000  005.............
  174. 00000120: 2f2f 2f2f 2f2f 2f2f 1000 0000 2060 0000  ////////.... `..
  175. 00000130: c0b1 38de fd7f 0000 9665 a8dd 2756 0000  ..8......e..'V..
  176. 00000140: 0000 0000 0000 0000 3000 0000 2060 0000  ........0... `..
  177. 00000150: c0b1 38de fd7f 0000 028e a8dd 2756 0000  ..8.........'V..
  178. 00000160: 0000 0000 0000 0000 a93a 2000 0000 0000  .........: .....
  179. 00000170: b38a b541 0000 0000 40d6 a8dd 2756 0000  ...A....@...'V..
  180. 00000180: f988 a8dd 2756 0000 0000 0000 0000 0000  ....'V..........
  181. 00000190: e380 8a43 e8af ade8 a880 e380 8b00 0000  ...C............
  182. 000001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  183. 000001b0: 0000 0000 0000 0000 0098 6408 a77b 1a4e  ..........d..{.N
  184. 000001c0: 0000 0000 0000 0000 a0b0 38de fd7f 0000  ..........8.....
  185. 000001d0: 0100 0000 0000 0000 30b2 38de fd7f 0000  ........0.8.....
  186. 000001e0: d0b1 38de fd7f 0000 0000 0000 0000 0000  ..8.............
  187. 000001f0: 60cb a8dd 2756 0000 942f 6c81 627f 0000  `...'V.../l.b...
  188. 00000200: 0000 0000 0000 0000 8e41 6c81 627f 0000  .........Al.b...
  189. 00000210: 0000 0000 0040 5840 3030 3900 0000 0000  .....@X@009.....
  190. 00000220: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  191. 00000230: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  192. 00000240: 9665 a8dd 2756 0000 0000 0000 0000 0000  .e..'V..........
  193. 00000250: 3000 0000 2060 0000 c0b1 38de fd7f 0000  0... `....8.....
  194. 00000260: 028e a8dd 2756 0000 0000 0000 0000 0000  ....'V..........
  195. 00000270: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  196. 00000280: 40d6 a8dd 2756 0000 f988 a8dd 2756 0000  @...'V......'V..
  197. 00000290: 0000 0000 0000 0000 e380 8ae6 b187 e7bc  ................
  198. 000002a0: 96e8 afad e8a8 80e3 808b 0000 0000 0000  ................
  199. 000002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  200. 000002c0: 0098 6408 a77b 1a4e 0000 0000 0000 0000  ..d..{.N........
  201. 000002d0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  202. 000002e0: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  203. 000002f0: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  204. 00000300: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  205. 00000310: 8e41 6c81 627f 0000 0000 0000 00c0 5840  .Al.b.........X@
  206. 00000320: 3030 3700 bebe bebe bebe bebe bebe bebe  007.............
  207. 00000330: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  208. 00000340: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  209. 00000350: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  210. 00000360: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  211. 00000370: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  212. 00000380: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  213. 00000390: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  214. 000003a0: e5b0 8fe7 baa2 00be bebe bebe bebe bebe  ................
  215. 000003b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  216. 000003c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  217. 000003d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  218. 000003e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  219. 000003f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  220. 00000400: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  221. 00000410: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  222. 00000420: 0300 0000 0000 0000 3031 3300 fd7f 0000  ........013.....
  223. 00000430: 90b1 38de fd7f 0000 c0b1 38de fd7f 0000  ..8.......8.....
  224. 00000440: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  225. 00000450: 9665 a8dd 2756 0000 0100 0000 0000 0000  .e..'V..........
  226. 00000460: 0200 0000 0000 0000 b38a b541 0000 0000  ...........A....
  227. 00000470: c0c7 a8dd 2756 0000 1a61 a8dd 2756 0000  ....'V...a..'V..
  228. 00000480: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  229. 00000490: 40d6 a8dd 2756 0000 4000 0000 2061 0000  @...'V..@... a..
  230. 000004a0: 0000 0000 0000 0000 e380 8a43 2b2b e380  ...........C++..
  231. 000004b0: 8b00 afad e8a8 80e3 3030 3900 0000 0000  ........009.....
  232. 000004c0: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  233. 000004d0: 0098 6408 a77b 1a4e c0b1 38de fd7f 0000  ..d..{.N..8.....
  234. 000004e0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  235. 000004f0: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  236. 00000500: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  237. 00000510: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  238. 00000520: 8e41 6c81 627f 0000 0000 0000 0080 5840  .Al.b.........X@
  239. 00000530: 3031 3600 fd7f 0000 90b1 38de fd7f 0000  016.......8.....
  240. 00000540: c0b1 38de fd7f 0000 1000 0000 2060 0000  ..8......... `..
  241. 00000550: c0b1 38de fd7f 0000 9665 a8dd 2756 0000  ..8......e..'V..
  242. 00000560: 0100 0000 0000 0000 0200 0000 0000 0000  ................
  243. 00000570: b38a b541 0000 0000 c0c7 a8dd 2756 0000  ...A........'V..
  244. 00000580: 1a61 a8dd 2756 0000 a93a 2000 0000 0000  .a..'V...: .....
  245. 00000590: b38a b541 0000 0000 40d6 a8dd 2756 0000  ...A....@...'V..
  246. 000005a0: 4000 0000 2061 0000 0000 0000 0000 0000  @... a..........
  247. 000005b0: e380 8a70 7974 686f 6ee3 808b 00a8 80e3  ...python.......
  248. 000005c0: 3030 3900 0000 0000 0000 0000 00ff 0000  009.............
  249. 000005d0: 2f2f 2f2f 2f2f 2f2f 0098 6408 a77b 1a4e  ////////..d..{.N
  250. 000005e0: c0b1 38de fd7f 0000 a0b0 38de fd7f 0000  ..8.......8.....
  251. 000005f0: 0100 0000 0000 0000 30b2 38de fd7f 0000  ........0.8.....
  252. 00000600: d0b1 38de fd7f 0000 0000 0000 0000 0000  ..8.............
  253. 00000610: 60cb a8dd 2756 0000 942f 6c81 627f 0000  `...'V.../l.b...
  254. 00000620: 0000 0000 0000 0000 8e41 6c81 627f 0000  .........Al.b...
  255. 00000630: 0000 0000 0000 5940 3130 3200 fd7f 0000  ......Y@102.....
  256. 00000640: 90b1 38de fd7f 0000 c0b1 38de fd7f 0000  ..8.......8.....
  257. 00000650: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  258. 00000660: 9665 a8dd 2756 0000 0100 0000 0000 0000  .e..'V..........
  259. 00000670: 0200 0000 0000 0000 b38a b541 0000 0000  ...........A....
  260. 00000680: c0c7 a8dd 2756 0000 1a61 a8dd 2756 0000  ....'V...a..'V..
  261. 00000690: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  262. 000006a0: 40d6 a8dd 2756 0000 4000 0000 2061 0000  @...'V..@... a..
  263. 000006b0: 0000 0000 0000 0000 e380 8a6a 6176 61e3  ...........java.
  264. 000006c0: 808b 008b 00a8 80e3 3030 3900 0000 0000  ........009.....
  265. 000006d0: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  266. 000006e0: 0098 6408 a77b 1a4e c0b1 38de fd7f 0000  ..d..{.N..8.....
  267. 000006f0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  268. 00000700: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  269. 00000710: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  270. 00000720: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  271. 00000730: 8e41 6c81 627f 0000 0000 0000 0040 5840  .Al.b........@X@
  272. 00000740: 0000 0000 0000 0000                      ........
  273. $
  274. $ ls
  275. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  276. course_selection_system.h  file_operation.h  main    student_system.h
  277. data.dat                   list.c            main.c  teacher_system.c
  278. $ ./main
  279. 0.退出系统
  280. 1.教师系统
  281. 2.学生系统
  282. 3.选课系统
  283. 请选择: 1
  284. 0.返回上级菜单
  285. 1.教师信息注册
  286. 2.教师信息注销
  287. 3.教师信息查看
  288. 4.教师信息修改
  289. 5.保存数据到文件
  290. 6.从文件读取数据
  291. 请选择: 3
  292. 教师编号: 001
  293. 教师姓名: 小明
  294. 课程编号: 005
  295. 课程名称: 《C语言》
  296. 课程学分: 97.000000
  297. 课程编号: 009
  298. 课程名称: 《汇编语言》
  299. 课程学分: 99.000000
  300. 教师编号: 007
  301. 教师姓名: 小红
  302. 课程编号: 013
  303. 课程名称: 《C++》
  304. 课程学分: 98.000000
  305. 课程编号: 016
  306. 课程名称: 《python》
  307. 课程学分: 100.000000
  308. 课程编号: 102
  309. 课程名称: 《java》
  310. 课程学分: 97.000000
  311. 0.返回上级菜单
  312. 1.教师信息注册
  313. 2.教师信息注销
  314. 3.教师信息查看
  315. 4.教师信息修改
  316. 5.保存数据到文件
  317. 6.从文件读取数据
  318. 请选择: 0
  319. 0.退出系统
  320. 1.教师系统
  321. 2.学生系统
  322. 3.选课系统
  323. 请选择: 2
  324. 0.返回上级菜单
  325. 1.学生信息注册
  326. 2.学生信息注销
  327. 3.学生信息查看
  328. 4.学生信息修改
  329. 5.保存数据到文件
  330. 6.从文件读取数据
  331. 请选择: 3
  332. 0.返回上级菜单
  333. 1.学生信息注册
  334. 2.学生信息注销
  335. 3.学生信息查看
  336. 4.学生信息修改
  337. 5.保存数据到文件
  338. 6.从文件读取数据
  339. 请选择: 1
  340. 请输入学生编号: 003
  341. 请输入学生姓名: 丽丽
  342. 请输入所学专业: 软件工程
  343. 输入 # 结束课程信息输入
  344. 请输入教师编号: 007
  345. 请输入课程编号: 013
  346. 请输入教师编号: 007
  347. 请输入课程编号: 102
  348. 请输入教师编号: 001
  349. 请输入课程编号: 009
  350. 请输入教师编号: #
  351. 0.返回上级菜单
  352. 1.学生信息注册
  353. 2.学生信息注销
  354. 3.学生信息查看
  355. 4.学生信息修改
  356. 5.保存数据到文件
  357. 6.从文件读取数据
  358. 请选择: 3
  359. 学生编号: 003
  360. 学生姓名: 丽丽
  361. 所学专业: 软件工程
  362. 教师编号: 007
  363. 课程编号: 013
  364. 教师编号: 007
  365. 课程编号: 102
  366. 教师编号: 001
  367. 课程编号: 009
  368. 0.返回上级菜单
  369. 1.学生信息注册
  370. 2.学生信息注销
  371. 3.学生信息查看
  372. 4.学生信息修改
  373. 5.保存数据到文件
  374. 6.从文件读取数据
  375. 请选择: 1
  376. 请输入学生编号: 005
  377. 请输入学生姓名: 小张
  378. 请输入所学专业: 微电子技术
  379. 输入 # 结束课程信息输入
  380. 请输入教师编号: 001
  381. 请输入课程编号: 005
  382. 请输入教师编号: 001
  383. 请输入课程编号: 009
  384. 请输入教师编号: 007
  385. 请输入课程编号: 013
  386. 请输入教师编号: #
  387. 0.返回上级菜单
  388. 1.学生信息注册
  389. 2.学生信息注销
  390. 3.学生信息查看
  391. 4.学生信息修改
  392. 5.保存数据到文件
  393. 6.从文件读取数据
  394. 请选择: 3
  395. 学生编号: 003
  396. 学生姓名: 丽丽
  397. 所学专业: 软件工程
  398. 教师编号: 007
  399. 课程编号: 013
  400. 教师编号: 007
  401. 课程编号: 102
  402. 教师编号: 001
  403. 课程编号: 009
  404. 学生编号: 005
  405. 学生姓名: 小张
  406. 所学专业: 微电子技术
  407. 教师编号: 001
  408. 课程编号: 005
  409. 教师编号: 001
  410. 课程编号: 009
  411. 教师编号: 007
  412. 课程编号: 013
  413. 0.返回上级菜单
  414. 1.学生信息注册
  415. 2.学生信息注销
  416. 3.学生信息查看
  417. 4.学生信息修改
  418. 5.保存数据到文件
  419. 6.从文件读取数据
  420. 请选择: 1
  421. 请输入学生编号: 008
  422. 请输入学生姓名: 小李
  423. 请输入所学专业: 应用电子技术
  424. 输入 # 结束课程信息输入
  425. 请输入教师编号: 007
  426. 请输入课程编号: 013
  427. 请输入教师编号: 007
  428. 请输入课程编号: 016
  429. 请输入教师编号: 001
  430. 请输入课程编号: 005
  431. 请输入教师编号: #
  432. 0.返回上级菜单
  433. 1.学生信息注册
  434. 2.学生信息注销
  435. 3.学生信息查看
  436. 4.学生信息修改
  437. 5.保存数据到文件
  438. 6.从文件读取数据
  439. 请选择: 3
  440. 学生编号: 003
  441. 学生姓名: 丽丽
  442. 所学专业: 软件工程
  443. 教师编号: 007
  444. 课程编号: 013
  445. 教师编号: 007
  446. 课程编号: 102
  447. 教师编号: 001
  448. 课程编号: 009
  449. 学生编号: 005
  450. 学生姓名: 小张
  451. 所学专业: 微电子技术
  452. 教师编号: 001
  453. 课程编号: 005
  454. 教师编号: 001
  455. 课程编号: 009
  456. 教师编号: 007
  457. 课程编号: 013
  458. 学生编号: 008
  459. 学生姓名: 小李
  460. 所学专业: 应用电子技术
  461. 教师编号: 007
  462. 课程编号: 013
  463. 教师编号: 007
  464. 课程编号: 016
  465. 教师编号: 001
  466. 课程编号: 005
  467. 0.返回上级菜单
  468. 1.学生信息注册
  469. 2.学生信息注销
  470. 3.学生信息查看
  471. 4.学生信息修改
  472. 5.保存数据到文件
  473. 6.从文件读取数据
  474. 请选择: 0
  475. 0.退出系统
  476. 1.教师系统
  477. 2.学生系统
  478. 3.选课系统
  479. 请选择: 0
  480. $ ls
  481. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  482. course_selection_system.h  file_operation.h  main    student_system.h
  483. data.dat                   list.c            main.c  teacher_system.c
  484. $ xxd data.dat
  485. 00000000: 0200 0000 0000 0000 3030 3100 bebe bebe  ........001.....
  486. 00000010: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  487. 00000020: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  488. 00000030: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  489. 00000040: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  490. 00000050: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  491. 00000060: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  492. 00000070: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  493. 00000080: bebe bebe bebe bebe e5b0 8fe6 988e 00be  ................
  494. 00000090: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  495. 000000a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  496. 000000b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  497. 000000c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  498. 000000d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  499. 000000e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  500. 000000f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  501. 00000100: bebe bebe bebe bebe 0200 0000 0000 0000  ................
  502. 00000110: 3030 3500 0000 0000 0000 0000 00ff 0000  005.............
  503. 00000120: 2f2f 2f2f 2f2f 2f2f 1000 0000 2060 0000  ////////.... `..
  504. 00000130: c0b1 38de fd7f 0000 9665 a8dd 2756 0000  ..8......e..'V..
  505. 00000140: 0000 0000 0000 0000 3000 0000 2060 0000  ........0... `..
  506. 00000150: c0b1 38de fd7f 0000 028e a8dd 2756 0000  ..8.........'V..
  507. 00000160: 0000 0000 0000 0000 a93a 2000 0000 0000  .........: .....
  508. 00000170: b38a b541 0000 0000 40d6 a8dd 2756 0000  ...A....@...'V..
  509. 00000180: f988 a8dd 2756 0000 0000 0000 0000 0000  ....'V..........
  510. 00000190: e380 8a43 e8af ade8 a880 e380 8b00 0000  ...C............
  511. 000001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  512. 000001b0: 0000 0000 0000 0000 0098 6408 a77b 1a4e  ..........d..{.N
  513. 000001c0: 0000 0000 0000 0000 a0b0 38de fd7f 0000  ..........8.....
  514. 000001d0: 0100 0000 0000 0000 30b2 38de fd7f 0000  ........0.8.....
  515. 000001e0: d0b1 38de fd7f 0000 0000 0000 0000 0000  ..8.............
  516. 000001f0: 60cb a8dd 2756 0000 942f 6c81 627f 0000  `...'V.../l.b...
  517. 00000200: 0000 0000 0000 0000 8e41 6c81 627f 0000  .........Al.b...
  518. 00000210: 0000 0000 0040 5840 3030 3900 0000 0000  .....@X@009.....
  519. 00000220: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  520. 00000230: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  521. 00000240: 9665 a8dd 2756 0000 0000 0000 0000 0000  .e..'V..........
  522. 00000250: 3000 0000 2060 0000 c0b1 38de fd7f 0000  0... `....8.....
  523. 00000260: 028e a8dd 2756 0000 0000 0000 0000 0000  ....'V..........
  524. 00000270: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  525. 00000280: 40d6 a8dd 2756 0000 f988 a8dd 2756 0000  @...'V......'V..
  526. 00000290: 0000 0000 0000 0000 e380 8ae6 b187 e7bc  ................
  527. 000002a0: 96e8 afad e8a8 80e3 808b 0000 0000 0000  ................
  528. 000002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  529. 000002c0: 0098 6408 a77b 1a4e 0000 0000 0000 0000  ..d..{.N........
  530. 000002d0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  531. 000002e0: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  532. 000002f0: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  533. 00000300: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  534. 00000310: 8e41 6c81 627f 0000 0000 0000 00c0 5840  .Al.b.........X@
  535. 00000320: 3030 3700 bebe bebe bebe bebe bebe bebe  007.............
  536. 00000330: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  537. 00000340: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  538. 00000350: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  539. 00000360: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  540. 00000370: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  541. 00000380: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  542. 00000390: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  543. 000003a0: e5b0 8fe7 baa2 00be bebe bebe bebe bebe  ................
  544. 000003b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  545. 000003c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  546. 000003d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  547. 000003e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  548. 000003f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  549. 00000400: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  550. 00000410: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  551. 00000420: 0300 0000 0000 0000 3031 3300 fd7f 0000  ........013.....
  552. 00000430: 90b1 38de fd7f 0000 c0b1 38de fd7f 0000  ..8.......8.....
  553. 00000440: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  554. 00000450: 9665 a8dd 2756 0000 0100 0000 0000 0000  .e..'V..........
  555. 00000460: 0200 0000 0000 0000 b38a b541 0000 0000  ...........A....
  556. 00000470: c0c7 a8dd 2756 0000 1a61 a8dd 2756 0000  ....'V...a..'V..
  557. 00000480: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  558. 00000490: 40d6 a8dd 2756 0000 4000 0000 2061 0000  @...'V..@... a..
  559. 000004a0: 0000 0000 0000 0000 e380 8a43 2b2b e380  ...........C++..
  560. 000004b0: 8b00 afad e8a8 80e3 3030 3900 0000 0000  ........009.....
  561. 000004c0: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  562. 000004d0: 0098 6408 a77b 1a4e c0b1 38de fd7f 0000  ..d..{.N..8.....
  563. 000004e0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  564. 000004f0: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  565. 00000500: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  566. 00000510: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  567. 00000520: 8e41 6c81 627f 0000 0000 0000 0080 5840  .Al.b.........X@
  568. 00000530: 3031 3600 fd7f 0000 90b1 38de fd7f 0000  016.......8.....
  569. 00000540: c0b1 38de fd7f 0000 1000 0000 2060 0000  ..8......... `..
  570. 00000550: c0b1 38de fd7f 0000 9665 a8dd 2756 0000  ..8......e..'V..
  571. 00000560: 0100 0000 0000 0000 0200 0000 0000 0000  ................
  572. 00000570: b38a b541 0000 0000 c0c7 a8dd 2756 0000  ...A........'V..
  573. 00000580: 1a61 a8dd 2756 0000 a93a 2000 0000 0000  .a..'V...: .....
  574. 00000590: b38a b541 0000 0000 40d6 a8dd 2756 0000  ...A....@...'V..
  575. 000005a0: 4000 0000 2061 0000 0000 0000 0000 0000  @... a..........
  576. 000005b0: e380 8a70 7974 686f 6ee3 808b 00a8 80e3  ...python.......
  577. 000005c0: 3030 3900 0000 0000 0000 0000 00ff 0000  009.............
  578. 000005d0: 2f2f 2f2f 2f2f 2f2f 0098 6408 a77b 1a4e  ////////..d..{.N
  579. 000005e0: c0b1 38de fd7f 0000 a0b0 38de fd7f 0000  ..8.......8.....
  580. 000005f0: 0100 0000 0000 0000 30b2 38de fd7f 0000  ........0.8.....
  581. 00000600: d0b1 38de fd7f 0000 0000 0000 0000 0000  ..8.............
  582. 00000610: 60cb a8dd 2756 0000 942f 6c81 627f 0000  `...'V.../l.b...
  583. 00000620: 0000 0000 0000 0000 8e41 6c81 627f 0000  .........Al.b...
  584. 00000630: 0000 0000 0000 5940 3130 3200 fd7f 0000  ......Y@102.....
  585. 00000640: 90b1 38de fd7f 0000 c0b1 38de fd7f 0000  ..8.......8.....
  586. 00000650: 1000 0000 2060 0000 c0b1 38de fd7f 0000  .... `....8.....
  587. 00000660: 9665 a8dd 2756 0000 0100 0000 0000 0000  .e..'V..........
  588. 00000670: 0200 0000 0000 0000 b38a b541 0000 0000  ...........A....
  589. 00000680: c0c7 a8dd 2756 0000 1a61 a8dd 2756 0000  ....'V...a..'V..
  590. 00000690: a93a 2000 0000 0000 b38a b541 0000 0000  .: ........A....
  591. 000006a0: 40d6 a8dd 2756 0000 4000 0000 2061 0000  @...'V..@... a..
  592. 000006b0: 0000 0000 0000 0000 e380 8a6a 6176 61e3  ...........java.
  593. 000006c0: 808b 008b 00a8 80e3 3030 3900 0000 0000  ........009.....
  594. 000006d0: 0000 0000 00ff 0000 2f2f 2f2f 2f2f 2f2f  ........////////
  595. 000006e0: 0098 6408 a77b 1a4e c0b1 38de fd7f 0000  ..d..{.N..8.....
  596. 000006f0: a0b0 38de fd7f 0000 0100 0000 0000 0000  ..8.............
  597. 00000700: 30b2 38de fd7f 0000 d0b1 38de fd7f 0000  0.8.......8.....
  598. 00000710: 0000 0000 0000 0000 60cb a8dd 2756 0000  ........`...'V..
  599. 00000720: 942f 6c81 627f 0000 0000 0000 0000 0000  ./l.b...........
  600. 00000730: 8e41 6c81 627f 0000 0000 0000 0040 5840  .Al.b........@X@
  601. 00000740: 0300 0000 0000 0000 3030 3300 bebe bebe  ........003.....
  602. 00000750: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  603. 00000760: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  604. 00000770: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  605. 00000780: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  606. 00000790: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  607. 000007a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  608. 000007b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  609. 000007c0: bebe bebe bebe bebe e4b8 bde4 b8bd 00be  ................
  610. 000007d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  611. 000007e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  612. 000007f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  613. 00000800: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  614. 00000810: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  615. 00000820: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  616. 00000830: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  617. 00000840: bebe bebe bebe bebe e8bd afe4 bbb6 e5b7  ................
  618. 00000850: a5e7 a88b 00be bebe bebe bebe bebe bebe  ................
  619. 00000860: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  620. 00000870: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  621. 00000880: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  622. 00000890: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  623. 000008a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  624. 000008b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  625. 000008c0: bebe bebe bebe bebe 0300 0000 0000 0000  ................
  626. 000008d0: 3030 3700 ff7f 0000 9665 2c7a a955 0000  007......e,z.U..
  627. 000008e0: 0200 0000 0000 0000 f000 0000 2060 0000  ............ `..
  628. 000008f0: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  629. 00000900: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  630. 00000910: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  631. 00000920: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  632. 00000930: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  633. 00000940: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  634. 00000950: 3031 3300 fd7f 0000 0013 8d1f f92d 133a  013..........-.:
  635. 00000960: c0b1 38de fd7f 0000 1018 edc5 ff7f 0000  ..8.............
  636. 00000970: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  637. 00000980: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  638. 00000990: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  639. 000009a0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  640. 000009b0: 4000 0000 2061 0000 e372 7afc 227f 0000  @... a...rz."...
  641. 000009c0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  642. 000009d0: 3030 3700 ff7f 0000 9665 2c7a a955 0000  007......e,z.U..
  643. 000009e0: 0200 0000 0000 0000 f000 0000 2060 0000  ............ `..
  644. 000009f0: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  645. 00000a00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  646. 00000a10: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  647. 00000a20: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  648. 00000a30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  649. 00000a40: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  650. 00000a50: 3130 3200 fd7f 0000 0013 8d1f f92d 133a  102..........-.:
  651. 00000a60: c0b1 38de fd7f 0000 1018 edc5 ff7f 0000  ..8.............
  652. 00000a70: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  653. 00000a80: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  654. 00000a90: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  655. 00000aa0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  656. 00000ab0: 4000 0000 2061 0000 e372 7afc 227f 0000  @... a...rz."...
  657. 00000ac0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  658. 00000ad0: 3030 3100 ff7f 0000 9665 2c7a a955 0000  001......e,z.U..
  659. 00000ae0: 0200 0000 0000 0000 f000 0000 2060 0000  ............ `..
  660. 00000af0: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  661. 00000b00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  662. 00000b10: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  663. 00000b20: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  664. 00000b30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  665. 00000b40: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  666. 00000b50: 3030 3900 fd7f 0000 0013 8d1f f92d 133a  009..........-.:
  667. 00000b60: c0b1 38de fd7f 0000 1018 edc5 ff7f 0000  ..8.............
  668. 00000b70: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  669. 00000b80: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  670. 00000b90: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  671. 00000ba0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  672. 00000bb0: 4000 0000 2061 0000 e372 7afc 227f 0000  @... a...rz."...
  673. 00000bc0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  674. 00000bd0: 3030 3500 bebe bebe bebe bebe bebe bebe  005.............
  675. 00000be0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  676. 00000bf0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  677. 00000c00: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  678. 00000c10: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  679. 00000c20: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  680. 00000c30: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  681. 00000c40: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  682. 00000c50: e5b0 8fe5 bca0 00be bebe bebe bebe bebe  ................
  683. 00000c60: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  684. 00000c70: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  685. 00000c80: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  686. 00000c90: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  687. 00000ca0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  688. 00000cb0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  689. 00000cc0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  690. 00000cd0: e5be aee7 94b5 e5ad 90e6 8a80 e69c af00  ................
  691. 00000ce0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  692. 00000cf0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  693. 00000d00: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  694. 00000d10: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  695. 00000d20: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  696. 00000d30: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  697. 00000d40: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  698. 00000d50: 0300 0000 0000 0000 3030 3100 3060 0000  ........001.0`..
  699. 00000d60: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  700. 00000d70: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  701. 00000d80: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  702. 00000d90: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  703. 00000da0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  704. 00000db0: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  705. 00000dc0: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  706. 00000dd0: 90b1 38de fd7f 0000 3030 3500 ff7f 0000  ..8.....005.....
  707. 00000de0: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  708. 00000df0: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  709. 00000e00: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  710. 00000e10: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  711. 00000e20: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  712. 00000e30: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  713. 00000e40: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  714. 00000e50: 4019 edc5 ff7f 0000 3030 3100 3060 0000  @.......001.0`..
  715. 00000e60: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  716. 00000e70: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  717. 00000e80: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  718. 00000e90: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  719. 00000ea0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  720. 00000eb0: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  721. 00000ec0: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  722. 00000ed0: 90b1 38de fd7f 0000 3030 3900 ff7f 0000  ..8.....009.....
  723. 00000ee0: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  724. 00000ef0: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  725. 00000f00: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  726. 00000f10: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  727. 00000f20: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  728. 00000f30: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  729. 00000f40: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  730. 00000f50: 4019 edc5 ff7f 0000 3030 3700 3060 0000  @.......007.0`..
  731. 00000f60: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  732. 00000f70: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  733. 00000f80: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  734. 00000f90: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  735. 00000fa0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  736. 00000fb0: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  737. 00000fc0: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  738. 00000fd0: 90b1 38de fd7f 0000 3031 3300 ff7f 0000  ..8.....013.....
  739. 00000fe0: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  740. 00000ff0: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  741. 00001000: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  742. 00001010: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  743. 00001020: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  744. 00001030: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  745. 00001040: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  746. 00001050: 4019 edc5 ff7f 0000 3030 3800 bebe bebe  @.......008.....
  747. 00001060: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  748. 00001070: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  749. 00001080: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  750. 00001090: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  751. 000010a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  752. 000010b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  753. 000010c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  754. 000010d0: bebe bebe bebe bebe e5b0 8fe6 9d8e 00be  ................
  755. 000010e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  756. 000010f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  757. 00001100: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  758. 00001110: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  759. 00001120: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  760. 00001130: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  761. 00001140: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  762. 00001150: bebe bebe bebe bebe e5ba 94e7 94a8 e794  ................
  763. 00001160: b5e5 ad90 e68a 80e6 9caf 00be bebe bebe  ................
  764. 00001170: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  765. 00001180: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  766. 00001190: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  767. 000011a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  768. 000011b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  769. 000011c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  770. 000011d0: bebe bebe bebe bebe 0300 0000 0000 0000  ................
  771. 000011e0: 3030 3700 3060 0000 8002 0000 3060 0000  007.0`......0`..
  772. 000011f0: 0019 edc5 ff7f 0000 f000 0000 2060 0000  ............ `..
  773. 00001200: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  774. 00001210: 0200 0000 0000 0000 0300 0000 0000 0000  ................
  775. 00001220: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  776. 00001230: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  777. 00001240: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  778. 00001250: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  779. 00001260: 3031 3300 3060 0000 0013 8d1f f92d 133a  013.0`.......-.:
  780. 00001270: 0019 edc5 ff7f 0000 1018 edc5 ff7f 0000  ................
  781. 00001280: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  782. 00001290: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  783. 000012a0: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  784. 000012b0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  785. 000012c0: 4000 0000 4061 0000 e372 7afc 227f 0000  @...@a...rz."...
  786. 000012d0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  787. 000012e0: 3030 3700 3060 0000 8002 0000 3060 0000  007.0`......0`..
  788. 000012f0: 0019 edc5 ff7f 0000 f000 0000 2060 0000  ............ `..
  789. 00001300: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  790. 00001310: 0200 0000 0000 0000 0300 0000 0000 0000  ................
  791. 00001320: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  792. 00001330: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  793. 00001340: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  794. 00001350: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  795. 00001360: 3031 3600 3060 0000 0013 8d1f f92d 133a  016.0`.......-.:
  796. 00001370: 0019 edc5 ff7f 0000 1018 edc5 ff7f 0000  ................
  797. 00001380: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  798. 00001390: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  799. 000013a0: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  800. 000013b0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  801. 000013c0: 4000 0000 4061 0000 e372 7afc 227f 0000  @...@a...rz."...
  802. 000013d0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  803. 000013e0: 3030 3100 3060 0000 8002 0000 3060 0000  001.0`......0`..
  804. 000013f0: 0019 edc5 ff7f 0000 f000 0000 2060 0000  ............ `..
  805. 00001400: 3019 edc5 ff7f 0000 028e 2c7a a955 0000  0.........,z.U..
  806. 00001410: 0200 0000 0000 0000 0300 0000 0000 0000  ................
  807. 00001420: b38a b541 0000 0000 40d6 2c7a a955 0000  ...A....@.,z.U..
  808. 00001430: f988 2c7a a955 0000 0000 0000 0000 0000  ..,z.U..........
  809. 00001440: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  810. 00001450: 3130 3200 fd7f 0000 90b1 38de fd7f 0000  102.......8.....
  811. 00001460: 3030 3500 3060 0000 0013 8d1f f92d 133a  005.0`.......-.:
  812. 00001470: 0019 edc5 ff7f 0000 1018 edc5 ff7f 0000  ................
  813. 00001480: 0100 0000 0000 0000 a019 edc5 ff7f 0000  ................
  814. 00001490: 4019 edc5 ff7f 0000 0000 0000 0000 0000  @...............
  815. 000014a0: e0d9 2c7a a955 0000 940f 70fc 227f 0000  ..,z.U....p."...
  816. 000014b0: 0000 0000 0000 0000 8e21 70fc 227f 0000  .........!p."...
  817. 000014c0: 4000 0000 4061 0000 e372 7afc 227f 0000  @...@a...rz."...
  818. 000014d0: 1000 0000 3000 0000 4019 edc5 ff7f 0000  ....0...@.......
  819. $
  820. $ ./main
  821. 0.退出系统
  822. 1.教师系统
  823. 2.学生系统
  824. 3.选课系统
  825. 请选择: 1
  826. 0.返回上级菜单
  827. 1.教师信息注册
  828. 2.教师信息注销
  829. 3.教师信息查看
  830. 4.教师信息修改
  831. 5.保存数据到文件
  832. 6.从文件读取数据
  833. 请选择: 3
  834. 教师编号: 001
  835. 教师姓名: 小明
  836. 课程编号: 005
  837. 课程名称: 《C语言》
  838. 课程学分: 97.000000
  839. 课程编号: 009
  840. 课程名称: 《汇编语言》
  841. 课程学分: 99.000000
  842. 教师编号: 007
  843. 教师姓名: 小红
  844. 课程编号: 013
  845. 课程名称: 《C++》
  846. 课程学分: 98.000000
  847. 课程编号: 016
  848. 课程名称: 《python》
  849. 课程学分: 100.000000
  850. 课程编号: 102
  851. 课程名称: 《java》
  852. 课程学分: 97.000000
  853. 0.返回上级菜单
  854. 1.教师信息注册
  855. 2.教师信息注销
  856. 3.教师信息查看
  857. 4.教师信息修改
  858. 5.保存数据到文件
  859. 6.从文件读取数据
  860. 请选择: 0
  861. 0.退出系统
  862. 1.教师系统
  863. 2.学生系统
  864. 3.选课系统
  865. 请选择: 2
  866. 0.返回上级菜单
  867. 1.学生信息注册
  868. 2.学生信息注销
  869. 3.学生信息查看
  870. 4.学生信息修改
  871. 5.保存数据到文件
  872. 6.从文件读取数据
  873. 请选择: 3
  874. 学生编号: 003
  875. 学生姓名: 丽丽
  876. 所学专业: 软件工程
  877. 教师编号: 007
  878. 课程编号: 013
  879. 教师编号: 007
  880. 课程编号: 102
  881. 教师编号: 001
  882. 课程编号: 009
  883. 学生编号: 005
  884. 学生姓名: 小张
  885. 所学专业: 微电子技术
  886. 教师编号: 001
  887. 课程编号: 005
  888. 教师编号: 001
  889. 课程编号: 009
  890. 教师编号: 007
  891. 课程编号: 013
  892. 学生编号: 008
  893. 学生姓名: 小李
  894. 所学专业: 应用电子技术
  895. 教师编号: 007
  896. 课程编号: 013
  897. 教师编号: 007
  898. 课程编号: 016
  899. 教师编号: 001
  900. 课程编号: 005
  901. 0.返回上级菜单
  902. 1.学生信息注册
  903. 2.学生信息注销
  904. 3.学生信息查看
  905. 4.学生信息修改
  906. 5.保存数据到文件
  907. 6.从文件读取数据
  908. 请选择: 2
  909. 请输入学生编号: 003
  910. 0.返回上级菜单
  911. 1.学生信息注册
  912. 2.学生信息注销
  913. 3.学生信息查看
  914. 4.学生信息修改
  915. 5.保存数据到文件
  916. 6.从文件读取数据
  917. 请选择: 3
  918. 学生编号: 005
  919. 学生姓名: 小张
  920. 所学专业: 微电子技术
  921. 教师编号: 001
  922. 课程编号: 005
  923. 教师编号: 001
  924. 课程编号: 009
  925. 教师编号: 007
  926. 课程编号: 013
  927. 学生编号: 008
  928. 学生姓名: 小李
  929. 所学专业: 应用电子技术
  930. 教师编号: 007
  931. 课程编号: 013
  932. 教师编号: 007
  933. 课程编号: 016
  934. 教师编号: 001
  935. 课程编号: 005
  936. 0.返回上级菜单
  937. 1.学生信息注册
  938. 2.学生信息注销
  939. 3.学生信息查看
  940. 4.学生信息修改
  941. 5.保存数据到文件
  942. 6.从文件读取数据
  943. 请选择: 4
  944. 请输入学生编号: 008
  945. 请输入学生编号: 011
  946. 请输入学生姓名: 小李
  947. 请输入所学专业: 软件工程
  948. 输入 # 结束课程信息输入
  949. 请输入教师编号: 007
  950. 请输入课程编号: 013
  951. 请输入教师编号: 001
  952. 请输入课程编号: 005
  953. 请输入教师编号: #
  954. 0.返回上级菜单
  955. 1.学生信息注册
  956. 2.学生信息注销
  957. 3.学生信息查看
  958. 4.学生信息修改
  959. 5.保存数据到文件
  960. 6.从文件读取数据
  961. 请选择: 3
  962. 学生编号: 005
  963. 学生姓名: 小张
  964. 所学专业: 微电子技术
  965. 教师编号: 001
  966. 课程编号: 005
  967. 教师编号: 001
  968. 课程编号: 009
  969. 教师编号: 007
  970. 课程编号: 013
  971. 学生编号: 011
  972. 学生姓名: 小李
  973. 所学专业: 软件工程
  974. 教师编号: 007
  975. 课程编号: 013
  976. 教师编号: 001
  977. 课程编号: 005
  978. 0.返回上级菜单
  979. 1.学生信息注册
  980. 2.学生信息注销
  981. 3.学生信息查看
  982. 4.学生信息修改
  983. 5.保存数据到文件
  984. 6.从文件读取数据
  985. 请选择: 0
  986. 0.退出系统
  987. 1.教师系统
  988. 2.学生系统
  989. 3.选课系统
  990. 请选择: 1
  991. 0.返回上级菜单
  992. 1.教师信息注册
  993. 2.教师信息注销
  994. 3.教师信息查看
  995. 4.教师信息修改
  996. 5.保存数据到文件
  997. 6.从文件读取数据
  998. 请选择: 3
  999. 教师编号: 001
  1000. 教师姓名: 小明
  1001. 课程编号: 005
  1002. 课程名称: 《C语言》
  1003. 课程学分: 97.000000
  1004. 课程编号: 009
  1005. 课程名称: 《汇编语言》
  1006. 课程学分: 99.000000
  1007. 教师编号: 007
  1008. 教师姓名: 小红
  1009. 课程编号: 013
  1010. 课程名称: 《C++》
  1011. 课程学分: 98.000000
  1012. 课程编号: 016
  1013. 课程名称: 《python》
  1014. 课程学分: 100.000000
  1015. 课程编号: 102
  1016. 课程名称: 《java》
  1017. 课程学分: 97.000000
  1018. 0.返回上级菜单
  1019. 1.教师信息注册
  1020. 2.教师信息注销
  1021. 3.教师信息查看
  1022. 4.教师信息修改
  1023. 5.保存数据到文件
  1024. 6.从文件读取数据
  1025. 请选择: 4
  1026. 请输入教师编号: 001
  1027. 请输入教师编号: 017
  1028. 请输入教师姓名: 小明
  1029. 输入 # 结束课程信息输入
  1030. 请输入课程编号: 103
  1031. 请输入课程名称: 《C语言》
  1032. 请输入课程学分: 108
  1033. 请输入课程编号: #
  1034. 0.返回上级菜单
  1035. 1.教师信息注册
  1036. 2.教师信息注销
  1037. 3.教师信息查看
  1038. 4.教师信息修改
  1039. 5.保存数据到文件
  1040. 6.从文件读取数据
  1041. 请选择: 3
  1042. 教师编号: 017
  1043. 教师姓名: 小明
  1044. 课程编号: 103
  1045. 课程名称: 《C语言》
  1046. 课程学分: 108.000000
  1047. 教师编号: 007
  1048. 教师姓名: 小红
  1049. 课程编号: 013
  1050. 课程名称: 《C++》
  1051. 课程学分: 98.000000
  1052. 课程编号: 016
  1053. 课程名称: 《python》
  1054. 课程学分: 100.000000
  1055. 课程编号: 102
  1056. 课程名称: 《java》
  1057. 课程学分: 97.000000
  1058. 0.返回上级菜单
  1059. 1.教师信息注册
  1060. 2.教师信息注销
  1061. 3.教师信息查看
  1062. 4.教师信息修改
  1063. 5.保存数据到文件
  1064. 6.从文件读取数据
  1065. 请选择: 2
  1066. 请输入教师编号: 007
  1067. 0.返回上级菜单
  1068. 1.教师信息注册
  1069. 2.教师信息注销
  1070. 3.教师信息查看
  1071. 4.教师信息修改
  1072. 5.保存数据到文件
  1073. 6.从文件读取数据
  1074. 请选择: 3
  1075. 教师编号: 017
  1076. 教师姓名: 小明
  1077. 课程编号: 103
  1078. 课程名称: 《C语言》
  1079. 课程学分: 108.000000
  1080. 0.返回上级菜单
  1081. 1.教师信息注册
  1082. 2.教师信息注销
  1083. 3.教师信息查看
  1084. 4.教师信息修改
  1085. 5.保存数据到文件
  1086. 6.从文件读取数据
  1087. 请选择: 0
  1088. 0.退出系统
  1089. 1.教师系统
  1090. 2.学生系统
  1091. 3.选课系统
  1092. 请选择: 0
  1093. $ ls
  1094. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  1095. course_selection_system.h  file_operation.h  main    student_system.h
  1096. data.dat                   list.c            main.c  teacher_system.c
  1097. $ xxd data.dat
  1098. 00000000: 0100 0000 0000 0000 3031 3700 bebe bebe  ........017.....
  1099. 00000010: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1100. 00000020: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1101. 00000030: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1102. 00000040: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1103. 00000050: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1104. 00000060: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1105. 00000070: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1106. 00000080: bebe bebe bebe bebe e5b0 8fe6 988e 00be  ................
  1107. 00000090: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1108. 000000a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1109. 000000b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1110. 000000c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1111. 000000d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1112. 000000e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1113. 000000f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1114. 00000100: bebe bebe bebe bebe 0100 0000 0000 0000  ................
  1115. 00000110: 3130 3300 4000 0000 b0dd 3ad1 fe7f 0000  103.@.....:.....
  1116. 00000120: f0dc 3ad1 fe7f 0000 00a6 e71b 4910 5bed  ..:.........I.[.
  1117. 00000130: 1000 0000 3000 0000 50dd 3ad1 fe7f 0000  ....0...P.:.....
  1118. 00000140: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1119. 00000150: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1120. 00000160: 4025 ee8c 5c55 0000 00a6 e71b 4910 5bed  @%..\U......I.[.
  1121. 00000170: 0000 0000 0000 0000 9000 0000 2060 0000  ............ `..
  1122. 00000180: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1123. 00000190: e380 8a43 e8af ade8 a880 e380 8b00 0000  ...C............
  1124. 000001a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1125. 000001b0: 0800 0000 0000 0000 00a6 e71b 4910 5bed  ............I.[.
  1126. 000001c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1127. 000001d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1128. 000001e0: 4000 0000 2061 0000 0000 0000 0000 0000  @... a..........
  1129. 000001f0: 70de 3ad1 fe7f 0000 5fbe ed8c 5c55 0000  p.:....._...\U..
  1130. 00000200: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1131. 00000210: 0000 0000 0000 5b40 0200 0000 0000 0000  ......[@........
  1132. 00000220: 3030 3500 bebe bebe bebe bebe bebe bebe  005.............
  1133. 00000230: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1134. 00000240: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1135. 00000250: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1136. 00000260: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1137. 00000270: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1138. 00000280: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1139. 00000290: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1140. 000002a0: e5b0 8fe5 bca0 00be bebe bebe bebe bebe  ................
  1141. 000002b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1142. 000002c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1143. 000002d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1144. 000002e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1145. 000002f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1146. 00000300: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1147. 00000310: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1148. 00000320: e5be aee7 94b5 e5ad 90e6 8a80 e69c af00  ................
  1149. 00000330: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1150. 00000340: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1151. 00000350: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1152. 00000360: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1153. 00000370: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1154. 00000380: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1155. 00000390: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1156. 000003a0: 0300 0000 0000 0000 3030 3100 3060 0000  ........001.0`..
  1157. 000003b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1158. 000003c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1159. 000003d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1160. 000003e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1161. 000003f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1162. 00000400: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1163. 00000410: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1164. 00000420: 90b1 38de fd7f 0000 3030 3500 ff7f 0000  ..8.....005.....
  1165. 00000430: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1166. 00000440: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1167. 00000450: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1168. 00000460: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1169. 00000470: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1170. 00000480: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1171. 00000490: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1172. 000004a0: 4019 edc5 ff7f 0000 3030 3100 3060 0000  @.......001.0`..
  1173. 000004b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1174. 000004c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1175. 000004d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1176. 000004e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1177. 000004f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1178. 00000500: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1179. 00000510: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1180. 00000520: 90b1 38de fd7f 0000 3030 3900 ff7f 0000  ..8.....009.....
  1181. 00000530: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1182. 00000540: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1183. 00000550: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1184. 00000560: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1185. 00000570: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1186. 00000580: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1187. 00000590: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1188. 000005a0: 4019 edc5 ff7f 0000 3030 3700 3060 0000  @.......007.0`..
  1189. 000005b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1190. 000005c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1191. 000005d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1192. 000005e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1193. 000005f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1194. 00000600: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1195. 00000610: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1196. 00000620: 90b1 38de fd7f 0000 3031 3300 ff7f 0000  ..8.....013.....
  1197. 00000630: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1198. 00000640: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1199. 00000650: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1200. 00000660: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1201. 00000670: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1202. 00000680: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1203. 00000690: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1204. 000006a0: 4019 edc5 ff7f 0000 3031 3100 bebe bebe  @.......011.....
  1205. 000006b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1206. 000006c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1207. 000006d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1208. 000006e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1209. 000006f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1210. 00000700: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1211. 00000710: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1212. 00000720: bebe bebe bebe bebe e5b0 8fe6 9d8e 00be  ................
  1213. 00000730: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1214. 00000740: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1215. 00000750: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1216. 00000760: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1217. 00000770: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1218. 00000780: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1219. 00000790: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1220. 000007a0: bebe bebe bebe bebe e8bd afe4 bbb6 e5b7  ................
  1221. 000007b0: a5e7 a88b 008a 80e6 9caf 00be bebe bebe  ................
  1222. 000007c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1223. 000007d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1224. 000007e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1225. 000007f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1226. 00000800: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1227. 00000810: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1228. 00000820: bebe bebe bebe bebe 0200 0000 0000 0000  ................
  1229. 00000830: 3030 3700 3000 0000 50dd 3ad1 fe7f 0000  007.0...P.:.....
  1230. 00000840: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1231. 00000850: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1232. 00000860: 0034 ee8c 5c55 0000 00a6 e71b 4910 5bed  .4..\U......I.[.
  1233. 00000870: 0000 0000 0000 0000 b001 0000 2060 0000  ............ `..
  1234. 00000880: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1235. 00000890: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1236. 000008a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1237. 000008b0: 3031 3300 0000 0000 00a6 e71b 4910 5bed  013.........I.[.
  1238. 000008c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1239. 000008d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1240. 000008e0: 4004 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1241. 000008f0: 70de 3ad1 fe7f 0000 3ee6 ed8c 5c55 0000  p.:.....>...\U..
  1242. 00000900: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1243. 00000910: 0000 0000 0000 0000 0100 0000 0000 0000  ................
  1244. 00000920: b38a b541 0000 0000 00a6 e71b 4910 5bed  ...A........I.[.
  1245. 00000930: 3030 3100 3000 0000 50dd 3ad1 fe7f 0000  001.0...P.:.....
  1246. 00000940: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1247. 00000950: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1248. 00000960: 0034 ee8c 5c55 0000 00a6 e71b 4910 5bed  .4..\U......I.[.
  1249. 00000970: 0000 0000 0000 0000 b001 0000 2060 0000  ............ `..
  1250. 00000980: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1251. 00000990: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1252. 000009a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1253. 000009b0: 3030 3500 0000 0000 00a6 e71b 4910 5bed  005.........I.[.
  1254. 000009c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1255. 000009d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1256. 000009e0: 4004 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1257. 000009f0: 70de 3ad1 fe7f 0000 3ee6 ed8c 5c55 0000  p.:.....>...\U..
  1258. 00000a00: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1259. 00000a10: 0000 0000 0000 0000 0100 0000 0000 0000  ................
  1260. 00000a20: b38a b541 0000 0000 00a6 e71b 4910 5bed  ...A........I.[.
  1261. $
  1262. $ ls
  1263. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  1264. course_selection_system.h  file_operation.h  main    student_system.h
  1265. data.dat                   list.c            main.c  teacher_system.c
  1266. $ ./main
  1267. 0.退出系统
  1268. 1.教师系统
  1269. 2.学生系统
  1270. 3.选课系统
  1271. 请选择: 1
  1272. 0.返回上级菜单
  1273. 1.教师信息注册
  1274. 2.教师信息注销
  1275. 3.教师信息查看
  1276. 4.教师信息修改
  1277. 5.保存数据到文件
  1278. 6.从文件读取数据
  1279. 请选择: 3
  1280. 教师编号: 017
  1281. 教师姓名: 小明
  1282. 课程编号: 103
  1283. 课程名称: 《C语言》
  1284. 课程学分: 108.000000
  1285. 0.返回上级菜单
  1286. 1.教师信息注册
  1287. 2.教师信息注销
  1288. 3.教师信息查看
  1289. 4.教师信息修改
  1290. 5.保存数据到文件
  1291. 6.从文件读取数据
  1292. 请选择: 0
  1293. 0.退出系统
  1294. 1.教师系统
  1295. 2.学生系统
  1296. 3.选课系统
  1297. 请选择: 2
  1298. 0.返回上级菜单
  1299. 1.学生信息注册
  1300. 2.学生信息注销
  1301. 3.学生信息查看
  1302. 4.学生信息修改
  1303. 5.保存数据到文件
  1304. 6.从文件读取数据
  1305. 请选择: 3
  1306. 学生编号: 005
  1307. 学生姓名: 小张
  1308. 所学专业: 微电子技术
  1309. 教师编号: 001
  1310. 课程编号: 005
  1311. 教师编号: 001
  1312. 课程编号: 009
  1313. 教师编号: 007
  1314. 课程编号: 013
  1315. 学生编号: 011
  1316. 学生姓名: 小李
  1317. 所学专业: 软件工程
  1318. 教师编号: 007
  1319. 课程编号: 013
  1320. 教师编号: 001
  1321. 课程编号: 005
  1322. 0.返回上级菜单
  1323. 1.学生信息注册
  1324. 2.学生信息注销
  1325. 3.学生信息查看
  1326. 4.学生信息修改
  1327. 5.保存数据到文件
  1328. 6.从文件读取数据
  1329. 请选择: 0
  1330. 0.退出系统
  1331. 1.教师系统
  1332. 2.学生系统
  1333. 3.选课系统
  1334. 请选择: 0
  1335. $ ls
  1336. course_selection_system.c  file_operation.c  list.h  student_system.c  teacher_system.h
  1337. course_selection_system.h  file_operation.h  main    student_system.h
  1338. data.dat                   list.c            main.c  teacher_system.c
  1339. $ xxd data.dat
  1340. 00000000: 0100 0000 0000 0000 3031 3700 bebe bebe  ........017.....
  1341. 00000010: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1342. 00000020: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1343. 00000030: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1344. 00000040: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1345. 00000050: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1346. 00000060: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1347. 00000070: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1348. 00000080: bebe bebe bebe bebe e5b0 8fe6 988e 00be  ................
  1349. 00000090: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1350. 000000a0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1351. 000000b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1352. 000000c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1353. 000000d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1354. 000000e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1355. 000000f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1356. 00000100: bebe bebe bebe bebe 0100 0000 0000 0000  ................
  1357. 00000110: 3130 3300 4000 0000 b0dd 3ad1 fe7f 0000  103.@.....:.....
  1358. 00000120: f0dc 3ad1 fe7f 0000 00a6 e71b 4910 5bed  ..:.........I.[.
  1359. 00000130: 1000 0000 3000 0000 50dd 3ad1 fe7f 0000  ....0...P.:.....
  1360. 00000140: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1361. 00000150: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1362. 00000160: 4025 ee8c 5c55 0000 00a6 e71b 4910 5bed  @%..\U......I.[.
  1363. 00000170: 0000 0000 0000 0000 9000 0000 2060 0000  ............ `..
  1364. 00000180: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1365. 00000190: e380 8a43 e8af ade8 a880 e380 8b00 0000  ...C............
  1366. 000001a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1367. 000001b0: 0800 0000 0000 0000 00a6 e71b 4910 5bed  ............I.[.
  1368. 000001c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1369. 000001d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1370. 000001e0: 4000 0000 2061 0000 0000 0000 0000 0000  @... a..........
  1371. 000001f0: 70de 3ad1 fe7f 0000 5fbe ed8c 5c55 0000  p.:....._...\U..
  1372. 00000200: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1373. 00000210: 0000 0000 0000 5b40 0200 0000 0000 0000  ......[@........
  1374. 00000220: 3030 3500 bebe bebe bebe bebe bebe bebe  005.............
  1375. 00000230: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1376. 00000240: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1377. 00000250: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1378. 00000260: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1379. 00000270: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1380. 00000280: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1381. 00000290: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1382. 000002a0: e5b0 8fe5 bca0 00be bebe bebe bebe bebe  ................
  1383. 000002b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1384. 000002c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1385. 000002d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1386. 000002e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1387. 000002f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1388. 00000300: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1389. 00000310: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1390. 00000320: e5be aee7 94b5 e5ad 90e6 8a80 e69c af00  ................
  1391. 00000330: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1392. 00000340: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1393. 00000350: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1394. 00000360: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1395. 00000370: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1396. 00000380: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1397. 00000390: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1398. 000003a0: 0300 0000 0000 0000 3030 3100 3060 0000  ........001.0`..
  1399. 000003b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1400. 000003c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1401. 000003d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1402. 000003e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1403. 000003f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1404. 00000400: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1405. 00000410: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1406. 00000420: 90b1 38de fd7f 0000 3030 3500 ff7f 0000  ..8.....005.....
  1407. 00000430: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1408. 00000440: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1409. 00000450: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1410. 00000460: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1411. 00000470: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1412. 00000480: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1413. 00000490: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1414. 000004a0: 4019 edc5 ff7f 0000 3030 3100 3060 0000  @.......001.0`..
  1415. 000004b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1416. 000004c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1417. 000004d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1418. 000004e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1419. 000004f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1420. 00000500: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1421. 00000510: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1422. 00000520: 90b1 38de fd7f 0000 3030 3900 ff7f 0000  ..8.....009.....
  1423. 00000530: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1424. 00000540: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1425. 00000550: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1426. 00000560: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1427. 00000570: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1428. 00000580: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1429. 00000590: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1430. 000005a0: 4019 edc5 ff7f 0000 3030 3700 3060 0000  @.......007.0`..
  1431. 000005b0: c001 0000 3060 0000 0019 edc5 ff7f 0000  ....0`..........
  1432. 000005c0: f000 0000 2060 0000 3019 edc5 ff7f 0000  .... `..0.......
  1433. 000005d0: 028e 2c7a a955 0000 0100 0000 0000 0000  ..,z.U..........
  1434. 000005e0: 0300 0000 0000 0000 b38a b541 0000 0000  ...........A....
  1435. 000005f0: 40d6 2c7a a955 0000 f988 2c7a a955 0000  @.,z.U....,z.U..
  1436. 00000600: 0000 0000 0000 0000 4000 0000 4061 0000  ........@...@a..
  1437. 00000610: 0000 0000 0000 0000 3130 3200 fd7f 0000  ........102.....
  1438. 00000620: 90b1 38de fd7f 0000 3031 3300 ff7f 0000  ..8.....013.....
  1439. 00000630: 0013 8d1f f92d 133a 0200 0000 0000 0000  .....-.:........
  1440. 00000640: 1018 edc5 ff7f 0000 0100 0000 0000 0000  ................
  1441. 00000650: a019 edc5 ff7f 0000 4019 edc5 ff7f 0000  ........@.......
  1442. 00000660: 0000 0000 0000 0000 e0d9 2c7a a955 0000  ..........,z.U..
  1443. 00000670: 940f 70fc 227f 0000 0000 0000 0000 0000  ..p."...........
  1444. 00000680: 8e21 70fc 227f 0000 0000 0000 0000 0000  .!p."...........
  1445. 00000690: e372 7afc 227f 0000 1000 0000 3000 0000  .rz.".......0...
  1446. 000006a0: 4019 edc5 ff7f 0000 3031 3100 bebe bebe  @.......011.....
  1447. 000006b0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1448. 000006c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1449. 000006d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1450. 000006e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1451. 000006f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1452. 00000700: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1453. 00000710: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1454. 00000720: bebe bebe bebe bebe e5b0 8fe6 9d8e 00be  ................
  1455. 00000730: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1456. 00000740: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1457. 00000750: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1458. 00000760: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1459. 00000770: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1460. 00000780: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1461. 00000790: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1462. 000007a0: bebe bebe bebe bebe e8bd afe4 bbb6 e5b7  ................
  1463. 000007b0: a5e7 a88b 008a 80e6 9caf 00be bebe bebe  ................
  1464. 000007c0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1465. 000007d0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1466. 000007e0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1467. 000007f0: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1468. 00000800: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1469. 00000810: bebe bebe bebe bebe bebe bebe bebe bebe  ................
  1470. 00000820: bebe bebe bebe bebe 0200 0000 0000 0000  ................
  1471. 00000830: 3030 3700 3000 0000 50dd 3ad1 fe7f 0000  007.0...P.:.....
  1472. 00000840: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1473. 00000850: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1474. 00000860: 0034 ee8c 5c55 0000 00a6 e71b 4910 5bed  .4..\U......I.[.
  1475. 00000870: 0000 0000 0000 0000 b001 0000 2060 0000  ............ `..
  1476. 00000880: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1477. 00000890: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1478. 000008a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1479. 000008b0: 3031 3300 0000 0000 00a6 e71b 4910 5bed  013.........I.[.
  1480. 000008c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1481. 000008d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1482. 000008e0: 4004 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1483. 000008f0: 70de 3ad1 fe7f 0000 3ee6 ed8c 5c55 0000  p.:.....>...\U..
  1484. 00000900: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1485. 00000910: 0000 0000 0000 0000 0100 0000 0000 0000  ................
  1486. 00000920: b38a b541 0000 0000 00a6 e71b 4910 5bed  ...A........I.[.
  1487. 00000930: 3030 3100 3000 0000 50dd 3ad1 fe7f 0000  001.0...P.:.....
  1488. 00000940: 0100 0000 0000 0000 90df 3ad1 fe7f 0000  ..........:.....
  1489. 00000950: 90de 3ad1 fe7f 0000 0000 0000 0000 0000  ..:.............
  1490. 00000960: 0034 ee8c 5c55 0000 00a6 e71b 4910 5bed  .4..\U......I.[.
  1491. 00000970: 0000 0000 0000 0000 b001 0000 2060 0000  ............ `..
  1492. 00000980: 0800 0000 0000 0000 40de 3ad1 fe7f 0000  ........@.:.....
  1493. 00000990: 4002 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1494. 000009a0: b0dd 3ad1 fe7f 0000 b313 ee8c 5c55 0000  ..:.........\U..
  1495. 000009b0: 3030 3500 0000 0000 00a6 e71b 4910 5bed  005.........I.[.
  1496. 000009c0: ffff ffff ffff ffff e0dd 3ad1 fe7f 0000  ..........:.....
  1497. 000009d0: bc5b 27da ff0f 0000 40de 3ad1 fe7f 0000  .['.....@.:.....
  1498. 000009e0: 4004 0000 4061 0000 0000 0000 0000 0000  @...@a..........
  1499. 000009f0: 70de 3ad1 fe7f 0000 3ee6 ed8c 5c55 0000  p.:.....>...\U..
  1500. 00000a00: e0dd 3ad1 fe7f 0000 d0de 3ad1 fe7f 0000  ..:.......:.....
  1501. 00000a10: 0000 0000 0000 0000 0100 0000 0000 0000  ................
  1502. 00000a20: b38a b541 0000 0000 00a6 e71b 4910 5bed  ...A........I.[.
  1503. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 20:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表