当前位置:首页 > 学生管理系统
开始
输入要删除学生的学号
在学生基本信息中删除 在学生成绩基本信息中删除
结束
图5
6.排序功能:void sort(grade *head);
head为指向学生成绩链表的头结点的指针。
下面流程图实现的是按综合成绩升序排序,使用的选择排序法,虽说使用的存储结构为链式存储结构,但排序时并非改变的指针指向,而是只修改存储的信息,指针指向不用改变。如图6
7
开始 head=head->next N head->next!=NULL
Y p=head->next
N P!=NULL Y N head->zonghe>p->zonghe Y 交换相邻节点中数据
p=p->next
head=head->next
结束 图6
7.显示所有学生信息:void show(student *stud); stud为指向学生基本信息数组的指针
用于显示内存中学生基本情况信息,以便更好了解学生的一些情况.
8
开始
i=1
stud[i].xuehao!=\ N
Y 输出学号,姓名,性别, 宿舍,电话号
i++
结束
图7
8.保存功能:void save1(student *stud); void save2(grade *head);
stud为指向学生基本信息数组的指针,head为指向学生成绩链表的头结点的指针。函数用于将内存中数据存储到文件中以便更好保存信息。
开始
输入i
N i==1
Y N I==2
保存学生基本信 Y 息到A.TXT 输入有误,
重新操作! 保存学生成绩信 息到B.TXT
结束
9
图8
3.2 源程序
#define num 10
#include
#include
//学生基本信息的结构体定义 typedef struct student {string xuehao; //学号 string name; //姓名 string gender; //性别 string sushe; //宿舍号 string tel;//电话 }student;
//学生成绩信息的结构体定义 typedef struct grade {string xuehao;//学号
string courseno; //课程号 string coursename; //课程名称 int xuefen; //学分
int pingshi; //平时成绩 int shiyan; //实验成绩 int juanmian;//卷面成绩 float zonghe;//综合成绩 float shide;//实得学分 grade *next; }grade;
void luru(grade *gra);
void menu(student *stu,grade *head,grade *gra); void lookfor(student *p,grade *head); void sort(grade *head); void out(grade *head); void sort1(grade *head);
void del(student *stu,grade *head); void show(student *stu); void save1(student *stud); void save2(grade *head);
10
共分享92篇相关文档