(7)显示文件流程图(图4.7)
Y
N
8
P为空?
入口 找到文件
二、程序解析
1.数据结构
链表是线形表的一种,线形表分为顺序存储结构和链式存储结构。线形表的顺序存储结构的特点是逻辑关系上相邻的两个元素物理位置上也相邻,因此可以随机存取表中任一元素。链式存储结构的特点是用一组任意的存储单元存储线形表的数据元素。链表的最大的优点是对表的添加、删除、查找、排序等操作比较方便,因此采用链表来存储学生相关信息。且对结点的定义如下:
typedef struct message_student /*结构体定义*/ {
char number[6]; char name[20]; char sex[4];
float subject[numsubs]; float score; float average; int index; }studen
2查询学生记录类C码算法:
函数说明:#include \
int findrecord(student stud[]) /*查找信息*/
定义相关变量:char str[2];
int i,num;
如果没有保存文件:if(numstus==0)
输出没有可被查找的记录:printf(\没有可被查找的记录\\n\返回函数:return -1;
否则,输出“按何种方式查询”:printf(\以何种方式查找?\\n1.学号\\t2.姓名\\t3.名次\\n\
选择1,按学号查找: if(str[0]=='1') /*按学号查找*/ 输出“请输入学号”:printf(\请输入学号:\
进行for和if语句的循环,进行选择:for(i=0;i<=numstus;i++)
if(strcmp(str,stud[i].number)==0)
若找到符合要求的信息,则输出: display(stud,i,i); 否则退出,执行其它程序:break;
按姓名,名次查询的程序与其相同,不再累赘; 如果输入的条件都不符合;if(i>numstus)
输出“没有查找所要的信息”printf(\没有查找所要的信息。\\n\; 返回函数:return -1; 返回主函数:return i;
调试分析及设计体会
一、实验结果
经过老师指导和同学的帮助,我们终于得到了正确的实验结果,以下为学生成绩管理系统运行的相关结果。 (1)开始界面(图5.1)
(2)增加学生纪录界面(图5.2)
(3)查询学生纪录界面(图5.3)
(4)修改学生纪录界面(图5.4)
C语言课程设计学生成绩管理系统.doc



