C语言程序设计报告
课题名称:学生成绩管理
姓名:李灿 学号:200510505209 班级:热能与动力工程(2)班
1 系统概述:
本程序为一个学生成绩管理系统,对学生的成绩进行管理,学生的信息包括学号,姓名,学期,三门课程的成绩,输入这些信息,本程序可以自动计算总成绩,可以按高分到低分进行排名,并对输入信息的人数进行汇总.
2 数据结构设计:
(1)结构体;
(2)数组的设计:运用指针代替数组,使用指针来建立线性表,使程序更加简洁,可读性更强.
3 各函数的设计:
函数原型:void InitList(SqLinkList &L);
功能:___ 创建一个空的线性链表;
入口参数:L为要创建的线性链表;
出口参数:创建链表的L.head为空,L.length为0;
返回值:_ 无;
函数原型:void EmptyLinkList(SqLinkList &L);
功能:___ 清空整个线性链表;
入口参数:L为要清空的链表名称;
出口参数:若清空成功则链表长度L.length为0;
返回值:_ 无;
函数原型:int ScanE(ElemType &e);
功能:___ 输入学生信息;
入口参数:e为要输入信息的学生名称;
出口参数:e.num保存学号,e.name保存姓名,e.team保存所在学期,e.s1,e.s2,e.s3分别保存三门课程的成绩;
返回值: 输入合法返回1,否则返回0;
错误处理:若学号、姓名等输入不合法会有提示及重输;
函数原型:Status SqLinkListAppend(SqLinkList &L,ElemType e);
功能:___ 追加一个结点到线性链表中;
入口参数:e为所追加的结点名称,L为e所追加到的线性链表的名称;
出口参数:若追加成功,则e为头结点,链表长度L.length增1;
返回值:_ 若追加成功返回1;
函数原型:Link SearchNode(SqLinkList L,int NUM);
功能:___ 查找学号为NUM的学生;
入口参数:查找的链表名称L,学号NUM;
出口参数:若找到结点指针p指向该结点,否则指向空结点;
返回值:_ 结点指针p;