学生信息管理系统 课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生信息管理系统
学生姓名:
学号:
班级:
指导老师:
日期:
2、课程设计正文格式:
1 题目及要求
学生信息管理系统
此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。
问题提出
详细叙述本人所要实现的题目中的问题
我编写一个学生信息管理系统,主要用来管理学生基本信息。
本系统涉及的知识点
如:结构体、数组、循环、函数、分支、文件、字符串、指针;
功能分析
叙述本人所要实现的题目功能
1、添加学生信息,每个学生的信息包括:学号、姓名、电话、生日、地
址、班级;
2、根据学号删除该学生信息或删除全部学生信息;
3、根据学号、姓名查询学生信息;
4、可以以表格形式输出所有学生信息;
5、输入欲修改的那人的名字后,再次进行信息修改;
6、保存此学生信息系统;
2 功能设计
画出模块层次结构图
菜单设计
各功能模块的算法设计
增加学生信息模块:打开文件。
用scanf输入数据,保存再结构数组中。
用fwrite函数将结构体数组读入学生信息文件
中,关闭文件。
显示学生信息模块:只读打开文件
将文件的信息读入结构体数组中;
将结构体的内容显示在窗口上。
关闭文件。
查询学生信息模块:打开文件,读出信息;
输入要查询的学号或姓名;
如有该学号或姓名,打印该学生的信息;
关闭文件。
输入要修改的学生信息的学号。
若有此学号,则重新输入此学生信息。
覆盖原先的信息,读入文件;关闭文件。
删除学生信息模块:打开文件,读出信息,关闭文件。
选择要单个删除—,选择全部删除—;
打开文件,输入要删除的学号;
若有此学号,覆盖此条信息,已少一次数,读入
文件,关闭文件;若无,返回;
打开文件。将空字符读入文件中,覆盖原先的信
息,关闭文件。
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); delxt","a+"))==NULL) ame);
printf("请输入学号:\n");
scanf("%s",stu[i].num);
printf("请输入班级:\n");
scanf("%s",stu[i].ban);
printf("请输入生日:\n");
scanf("%s",stu[i].birthday);
printf("请输入电话号码:\n");
scanf("%s",stu[i].phone);
printf("请输入地址:\n");
scanf("%s",stu[i].address);
fwrite(&stu[i],sizeof(STU),1,fp); xt","r"))==NULL) ame,stu[i].num,stu[i].ban,stu[i].phone,stu[i].birthday,stu[i].addres s);
printf("--------------------------------------------------------\n")
;
}
fclose(fp); xt","r"))==NULL) 号查询\n");
printf(" 2.姓名查询\n");
printf("------------------------------------------------\n");
printf("请选择: \n");
scanf("%d",&xz);
if (xz==1){
printf("\n请输入要查找学生的学号: ");
scanf("%s",number);
for(i=0;i { if(strcmp(number,stu[i].num)==0) { printf("\n该学生已找到\n");