学生学籍管理系统C课程设计报告-正文.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《学生学籍管理系统C课程设计报告-正文.pdf》由会员分享,可在线阅读,更多相关《学生学籍管理系统C课程设计报告-正文.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目 录 1 前言.1 2 需求分析.1 2.1 课程设计目的.1 2.2 课程设计任务.1 2.3 设计环境.1 2.4 开发语言.2 3 分析和设计.2 3.1 模块设计.3 3.2 系统流程图.3 3.3 主要模块的流程图.4 4 具体代码实现.6 5 课程设计总结.21 5.1 程序运行结果.21 5.2 课程设计体会.27 参考文献.28 致 谢.28 1 1 前言 现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该努力学习科学文化知识,以适应社会的发展要求。以现代化的科学知识为祖国做贡献。计算机 C 语言课程设计是一门实
2、践性很强的课程,因此,我们可以从这里出发,将实践教学与理论教学达到密切结合。根据实际题目,要求我小组编写一个程序来,用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。通过一个结构体数组来存放输入的每一位同学的信息(包括学号,姓名,性别,年龄,籍贯,系别,专业,班级),然后将其信息存入文件中。输入一个学号查询该同学的信息,并显示在屏幕上。2 需求分析 2.1 课程设计目的 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。2.2 课程设计任务(1)系统以菜单方式工作。(2)登记学生的学号,姓名,性别,年龄,籍
3、贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)显示同一系学生信息和统计人数;(6)显示所有学生信息和统计人数人数;2.3 设计环境(1)WINDOWS 2000/2003/XP/7/Vista系统(2)Visual C+或TC集成开发环境 2 2.4 开发语言 C语言 3 分析和设计 分析:用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。(1)以系统以菜单方式工作,所以要有一个选项菜单。printf(*n);printf(*请选择相应的功能 *n);printf(*1-注册 *n);
4、printf(*2-修改学生信息 *n);printf(*3-删除学生信息 *n);printf(*4-添加学生信息 *n);printf(*5-查找学生信息 *n);printf(*6-统计学生信息 *n);printf(*7-显示学生信息 *n);printf(*8-退出系统 *n);printf(*n);输出一个菜单。(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级 定义函数 ZHUCE(),用来输入学生信息,将信息存入 123.txt 中,int i=1;struct student temp;FILE*fp;fp=fopen(F:/123.txt,w);/*指针指向文件
5、 123.txt*/void save(struct student student)FILE*fp=NULL;fp=fopen(F:/123.txt,ab+);fwrite(student,sizeof(struct student),1,fp);fclose(fp);/*将信息保存入 123.txt 中*/(3)按学号查找学生信息 printf(n 请输入要查找学生信息的学号:);gets(tempXUEHAO);while(feof(fp)=0)fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,&temp.XUEHAO,&temp.XINGMING,&
6、temp.XINGBIE,&temp.NIANLING,&temp.JIGUAN,&temp.ZHUANYE,&tem 3 p.BANJI,&temp.XIBIE);if(strcmp(tempXUEHAO,temp.XUEHAO)=0)/*根据输入的学号从文件中诸葛查找符合条件的*/.3.1 模块设计 定义结构体类型 struct student 表示学生信息(包括:学号,姓名,性别,年龄,籍贯,系别,专业,班级),定义一个结构体数组 stud,用来存放学生的信息,在 F盘建一 123.txt 用储存学生信息。定义函数 CAIDAN(),用来输出菜单。定义函数 ZHUCE(),用来输入学生信
7、息,将信息存入 123.txt 中。定义函数 XIUGAI(),用来修改学生信息,将信息存入 123.txt 中。定义函数 SHANCHU(),用来删除学生信息。定义函数 CHAZHO(),用来查找学生信息,可以通过学号查找、姓名超找。3.2 系统流程图 +菜单 注册 修改学生信息 删除学生信息 查找学生信息 添加学生信息 统计学生信息 统计学生信息 退出系统 4 系统流程图 3.3 主要模块的流程图 main 函数 charechoose,yes printf(“n%c?.CAIDAN();choose=8 break;Printf(“n 要继 yes_no=getch();p yes_no
8、!=Y yes_no!=Y Y N N N Y 5 Y N N Y N N Y 注册学生信息 printf(“n 打开?inti=1 fp=NULL return;printf(“n 请输?gets(temp.XUEHAO printf(“姓名(fprintf(fp.”%5.stremp(temp temp.XUE gets(temp.XHEH printf(“姓名(.strcmp(tremp student=temp 6 4 具体代码实现#include#include#include#include#include#define N 100 struct student char XUEH
9、AO20;char XINGMING10;char XINGBIE4;char NIANLING10;char JIGUAN10;char ZHUANYE10;char BANJI6;char XIBIE20;student;void CAIDAN();void ZHUCE();void XIUGAI();void SHANCHU();void del_XUEHAO(FILE*fp);void del_XINGMING(FILE*fp);void CHAZHAO();void sch_XUEHAO(FILE*fp);void sch_XINGMING(FILE*fp);void TONGJI(
10、);void XIANSHI();void TIANJIA();void save(struct student student);main()7 char choose,yes_no;do CAIDAN();printf(n 请输入序号:(18);choose=getch();system(cls);switch(choose)case1:printf(%c,choose);ZHUCE();break;case2:printf(%c,choose);XIUGAI();break;case3:printf(%c,choose);SHANCHU();break;case4:printf(%c,c
11、hoose);TIANJIA();break;case5:printf(%c,choose);CHAZHAO();break;case6:printf(%c,choose);TONGJI();break;case7:printf(%c,choose);XIANSHI();break;case8:break;default:printf(n%c 序号不对!n,choose);if(choose=8)break;printf(n 要继续选择吗?(Y/N)n);do yes_no=getch();printf(%c,yes_no);while(yes_no!=Y&yes_no!=y&yes_no!=
12、N&yes_no!=n);while(yes_no=Y|yes_no=y);void CAIDAN()system(cls);printf(*n);printf(*请选择相应的功能 8*n);printf(*1-注册 *n);printf(*2-修改学生信息 *n);printf(*3-删除学生信息 *n);printf(*4-添加学生信息 *n);printf(*5-查找学生信息 *n);printf(*6-统计学生信息 *n);printf(*7-显示学生信息 *n);printf(*8-退出系统 *n);printf(*n);/*定义学生信息注册的函数*/void ZHUCE()int
13、i=1;struct student temp;FILE*fp;fp=fopen(F:/123.txt,w);if(fp=NULL)printf(n 打开文件失败!n);return;printf(n 请输入第 1 个学生信息:n);printf(学号(用#结束输入):);do gets(temp.XUEHAO);9 while(strcmp(temp.XUEHAO,)=0);printf(姓名(用#结束输入):);gets(temp.XINGMING);printf(性别(用#结束输入):);gets(temp.XINGBIE);printf(年龄(用#结束输入):);gets(temp.N
14、IANLING);printf(籍贯(用#结束输入):);gets(temp.JIGUAN);printf(专业(用#结束输入):);gets(temp.ZHUANYE);printf(班级(用#结束输入):);gets(temp.BANJI);printf(系别(用#结束输入):);gets(temp.XIBIE);while(temp.XUEHAO0!=#&temp.XINGMING0!=#&temp.XINGBIE0!=#&temp.NIANLING0!=#&temp.JIGUAN0!=#&temp.ZHUANYE0!=#&temp.BANJI0!=#&temp.XIBIE0!=#&te
15、mp.XIBIE)fprintf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.NIANLING,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XIBIE,temp);i+;printf(n 请输入第%d 个学生信息:n,i);printf(学号(用#结束输入):);do gets(temp.XUEHAO);while(strcmp(temp.XUEHAO,)=0);printf(姓名(用#结束输入):);gets(temp.XINGMING);
16、printf(性别(用#结束输入):);gets(temp.XINGBIE);printf(年龄(用#结束输入):);gets(temp.NIANLING);printf(籍贯(用#结束输入):);gets(temp.JIGUAN);printf(专业(用#结束输入):);gets(temp.ZHUANYE);printf(班级(用#结束输入):);gets(temp.BANJI);printf(系别(用#结束输入):);gets(temp.XIBIE);student=temp;10 save(&temp);fclose(fp);/*定义保存函数*/void save(struct stud
17、ent student)FILE*fp=NULL;fp=fopen(F:/123.txt,ab+);fwrite(student,sizeof(struct student),1,fp);fclose(fp);/*定义查找学生信息的函数*/void CHAZHAO()char c;FILE*fp;fp=fopen(F:/123.txt,r);if(fp=NULL)printf(n 打开文件失败!n);return;printf(n 按学号查找(1),还是按姓名查找(2)?);c=getch();putch(c);if(c=1)sch_XUEHAO(fp);else if(c=2)sch_XIN
18、GMING(fp);else printf(n 非法字符!n);fclose(fp);/*定义按学号查找学生信息的函数*/void sch_XUEHAO(FILE*fp)int flag=0,n=0;char tempXUEHAO20;11 struct student temp;printf(n 请输入要查找学生信息的学号:);gets(tempXUEHAO);while(feof(fp)=0)fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.NIANLING,
19、&temp.JIGUAN,&temp.ZHUANYE,&temp.BANJI,&temp.XIBIE);if(strcmp(tempXUEHAO,temp.XUEHAO)=0)if(flag=0)printf(学号 姓名 姓别 年龄 籍贯 专业 班级 系别n);printf(%5s%10s%10s%10s%10s%10s%10s%10sn,temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.NIANLING,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XIBIE);flag=1;n+;if(n=0)printf(n 文件
20、中无此信息!n);else if(flag=0)printf(n 文件中无此人!n);/*定义按姓名查找学生信息的函数*/void sch_XINGMING(FILE*fp)int flag=0,n=0;char tempXINGMING10;struct student temp;printf(n 请输入要查找学生信息的姓名:);gets(tempXINGMING);while(feof(fp)=0)12 fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.NIA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 课程设计 报告 正文
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内