学生成绩管理系统课程设计报告 前言 一、系统的设计需求 1、整个系统均用 C 语言实现; 2、利用指针、链表来实现学生成绩的数据结构设计; 3、系统具有输入、显示、删除、排序、退出基本功能; 4、系统的各个功能模块都用函数的形式来实现; 5、可以将学生信息全部显示出来出来。 二、系统的功能模块划分 每一条记录包括一个学生的姓名、成绩。同时 1、输入功能:一次可以完成一个学生成绩记录的输入。 2、显示功能:完成全部学生记录的显示。 3、删除功能:对指定学生的成绩进行删除。 4、排序功能:按学生从大到小进行排序。 5、修改功能:对学生的成绩进行修改。 三、系统的整体设计 1.数据结构设计: A、输入功能的设计: void insert_func(void) {char s_temp[4]; ptr=(struct student *) malloc(sizeof(struct student)); printf(" Student name : "); gets(ptr->name);// gets从标准输入设备读取字符串// printf(" Student score: "); gets(s_temp); ptr->score = atoi(s_temp);//把字符串转化为 整数// B、删除功能的设计: void delete_func(void)//现在进入删除操作// {char del_name[20]; printf(" Delete student name: "); gets(del_name); prev = head; current = head->next; while ((current != NULL) && (strcmp(current->name , del_name)!=0))// 用到了strcmp 比较字符串 {prev = current; current = current->next; }if (current != NULL) {prev->next = current->next; free(current);//释放当前位置// printf(" %s student record deleted\n",del_name);//输出被删除的姓名// }else printf(" Student %s not found\n",del_name);//否则此学生不存在// C、排序功能的设计: void sort_func(void) //插入数据// {prev = head;//把头指针所指的值付给prev// current = head->next;//把头指针的下一个指针值付给当前指针所指的位置// while ((current != NULL) && (current->score > ptr->score)) {prev = current; current = current->next; }ptr->next = current; prev->next = ptr; D、修改功能的设计: void modify_func(void) {char n_temp[20],s_temp[4];//定义字符类型// printf(" Modify student name: "); gets(n_temp);//这样输入姓名 current=head->next; while ((cu...