学生信息管理系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生信息管理系统
学生:
学号:
班级:
指导老师:
日期:
2、课程设计正文格式:
1 题目及要求
学生信息管理系统
此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。
1.1 问题提出
详细叙述本人所要实现的题目中的问题
我编写一个学生信息管理系统,主要用来管理学生基本信息。
1.2 本系统涉及的知识点
如:结构体、数组、循环、函数、分支、文件、字符串、指针;
1.3 功能分析
叙述本人所要实现的题目功能
1、添加学生信息,每个学生的信息包括:学号、、、生日、地址、班级;
2、根据学号删除该学生信息或删除全部学生信息;
3、根据学号、查询学生信息;
4、可以以表格形式输出所有学生信息;
5、输入欲修改的那人的名字后,再次进行信息修改;
6、保存此学生信息系统;
2 功能设计
画出模块层次结构图
2.1 菜单设计
2.2 各功能模块的算法设计
增加学生信息模块: 1.1打开文件。
1.2 用scanf输入数据,保存再结构数组中。
1.3 用fwrite函数将结构体数组读入学生信息文
件中,关闭文件。
显示学生信息模块: 1.1 只读打开文件
1.2 将文件的信息读入结构体数组中;
1.3 将结构体的容显示在窗口上。
1.4 关闭文件。
查询学生信息模块: 1.1 打开文件,读出信息;
1.2 输入要查询的学号或;
1.3 如有该学号或,打印该学生的信息;
1.4 关闭文件。
修改学生信息模块: 1.1 打开文件,读出信息;
1.2 输入要修改的学生信息的学号。
1.3 若有此学号,则重新输入此学生信息。
1.4 覆盖原先的信息,读入文件;关闭文件。
删除学生信息模块: 1.1 打开文件,读出信息,关闭文件。
1.2 选择要单个删除—1.3,选择全部删除—1.5;
1.3 打开文件,输入要删除的学号;
1.4 若有此学号,覆盖此条信息,已少一次数,
读入文件,关闭文件;若无,返回1.3;
1.5 打开文件。将空字符读入文件中,覆盖原先
的信息,关闭文件。
3 程序代码设计
(-)增加模块
1)函数原形:void add(void)
2)功能:利用for循环语句和scanf、getchar函数完成对结构数组的输入,再用再用fwrite函数将结构数组读入学生信息表中。存放n个学生
的信息(学号、、、生日、地址、班级)。
3)输入输出:无。
(二)查询模块
1)函数原形:void search(void)
2)功能:打开文件后,根据strcmp函数进行对比,可以进行学号与查询,用fread函数将文件息读到结构体数组中,相同就打印到窗口上。
3)输入输出:无。
(三)修改模块
1)函数原形:void modi(void)
2)功能:输入要修改的,用fread函数将文件息读到结构体数组中,根据strcmp 函数进行对比,然后根据fwrite函数进行修改覆盖,得到新文件。3)输入输出:无。
(四)删除模块
1)函数原形:void del (void)
2)功能:用fread函数将文件息读到结构体数组中,依次将输入的学号根据strcmp函数进行对比,然后再进行选择性删除。
3)输入输出:无。
(五)显示模块
1)函数原形:void print(void)
2)功能:用freed函数打开存储的文件使其显示在屏幕上。
3)输入输出:无。
(六)源程序代码
#include
#include
#include
void print(void); //显示函数void add(void); //增加函数void search(void); //查找函数void modi(void); //修改函数void del(void); //删除函数
//定义结构体
typedef struct student
{
char name[20];
char num[20];
char ban[20];
char birthday[20];
char phone[20];
char address[200];
}STU;
STU stu[2000];
FILE *fp;
//主函数
int main(void)
{
int i;
do
{
printf(" |---------------------------------| \n");
printf(" | 学生信息管理系统| \n");
printf(" |---------------------------------| \n");
printf(" | 1--增加学生信息| \n"); printf(" | 2--删除学生信息| \n"); printf(" | 3--查询学生信息| \n"); printf(" | 4--显示学生信息| \n"); printf(" | 5--修改学生信息| \n"); printf(" | 6--退出| \n"); printf(" |---------------------------------| \n");
printf("请选择你的操作:(1~6)\n");
scanf("%d",&i);
if(i==1) add();
if(i==2) del();
if(i==3) search();
if(i==4) print();
if(i==5) modi();