学生管理系统实验报告
一、实验目的
上学期学习了C语言的内容,学生信息管理系统有助于对C语言的学习的进一步巩固,
在本系统可以增强对指针、数组、文件、函数等基本知识的进一步理解。另外学生管理系统
也是学校常用的基本系统之一,它有助于学校对学生的基本管理。
二、问题分析
学生信息管理系统是对学生信息的基本管理,它包括:学生信息的输入、学生信息的修
改、学生信息的查询、学生信息的删除、学生成绩的排序、学生信息的输出。
使用模块化编程的方法每项功能有一个函数来完成,对应如下:
学生信息的输入voidjiaLi
ki
学生信息的修改voidxiuLi
ki
学生信息的查询voidchaLi
ki
学生信息的删除voidsha
Li
ki
学生信息的排序voidpaiLi
ki
学生信息的保存voidbaoLi
ki
为了避免指针的过于复杂使用typedef函数创建了一个struct的同义字程序如下:
typedefstruct
ode
structstude
tdata
struct
ode
ext
NodeLi
k
这是问题变得更易于描述、和程序的设计。另外本程序运用动态存储、二进制进行存贮。
为了使程序变得更加明了设计另外一个定位Node型的函数(NodeLocateLi
kichar
fi
dchar
ameor
um)这对于查询、删除、修改中非常重要。
程序的设计流程如下:
输入密码开始
操作
学生信息学生信息的学生信息学生信息学生信息学生信息学生成学生信息
的输入
修改
的查询
的删除的排序的保存
绩统计显示
0返回菜单,选择操作
三、主要算法的设计
(1)
主函数的算法设计首先,进入设定密码(123456),进入菜单,然后选择操作(运用swith语句),
调用各子函数,在退出程序时检验文件是否保存(设定全局变量wa
g若不改变或以保存则为0,否则为1)退出程序。在返回操作中运用while语句进行控制若选择0则返回菜单。
读入信息:
whilefeoffp
pNodemallocsizeofNode
fiffreadpsizeofNode1fp从二进制文件中读入信息
p
extNULLr
extprpcou
t
fclosefp控制保存信息:
ifwa
g1getcharpri
tf