学生籍贯信息记录簿C语言课程设计报告

上传人:mg****2 文档编号:198671846 上传时间:2021-09-29 格式:DOC 页数:17 大小:358.50KB
返回 下载 相关 举报
学生籍贯信息记录簿C语言课程设计报告_第1页
第1页 / 共17页
学生籍贯信息记录簿C语言课程设计报告_第2页
第2页 / 共17页
学生籍贯信息记录簿C语言课程设计报告_第3页
第3页 / 共17页
学生籍贯信息记录簿C语言课程设计报告_第4页
第4页 / 共17页
学生籍贯信息记录簿C语言课程设计报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《学生籍贯信息记录簿C语言课程设计报告》由会员分享,可在线阅读,更多相关《学生籍贯信息记录簿C语言课程设计报告(17页珍藏版)》请在金锄头文库上搜索。

1、- -计算机科学与技术系课程设计报告20122013 学年第1学期课程C语言课程设计课程设计名称学生籍贯信息记录簿设计学生学号专业班级指导教师目录一、绪言需求分析二、系统设计 一 设计思想二 源程序设计三、设计表示三、系统调试 四、学生籍贯记录薄使用说明五、 总结 六、参考文献一、绪言需求分析随着学校办学规模的不断扩大、办学层次的 多样化、在校生的不断增多。开发这系统可以是教务处教师减轻工作压力,比拟系统的对学生进展管理,加快速度、加强管理,使各项管理更加规化 。题目要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进展管理和维护。要求为:1创立信息链表并以磁盘文件保存;2读取磁盘文

2、件并显示输出所有学生的籍贯信息;3按学号或查询其籍贯;4按籍贯查询并输出该籍贯的所有学生;5能添加、删除和修改学生的籍贯信息(可选项)。二、系统设计一 设计思想:流程图二、源程序设计#include /宏定义函数#include /串操作及存操作函数#include /调用系统函数typedef struct student /定义新构造体 student char name10; /*定义*/int num; /*定义学号*/char sex10; /*定义性别*/int age; /*定义年龄*/char location10; /*定义籍贯*/s;void Fun() char ch1;

3、/*定义字符*/printf(继续操作?nt输入Y继续操作/N退出系统不区分大小写n);scanf(%s,&ch1); /*接收字符*/switch(ch1) /*选择构造*/case Y:case y:break;case N:case n:printf(欢送您再次使用。n);exit(0);default:printf(输入有误!);/*假设输入的字符不是“Y或“y或“N或“n,会提示输入有误*/system(cls); /*清屏*/void menu()/*主函数菜单*/*按说明键入数字并键入 enter后可查询*/printf(*欢送进入学生籍贯信息记录簿*n); printf(1 -

4、显示所有信息n); printf(2 -按学号查询n); printf(3 -按查询n); printf(4 -按籍贯查询n); printf(5 -完毕程序n);printf(*请选择您需进展的选项*n);main()FILE *fp; /*定义文件型指针变量*/s stu100;int i=0,n=0,m,num; /*定义变量*/char name10,location20;fp=fopen(information.txt,r+);/*翻开文件并读取*/ while(!feof(fp)fscanf(fp,%s%d%s%d%s,&stui.name,&stui.num,&stui.sex,

5、&stui.age,&stui.location);/*读取,学号等信息*/i+;n+;L: menu();printf(输入序号:);scanf(%d,&m); system(cls);switch(m)/*选择构造,选择查询方式或添加学生信息*/ case 1: for(i=0;i10) /*在 “information.txt这个文件中只有10位学生的信息,所以键入的数字不能超过10*/printf(警告:输入错误!请重新输入:n);/*键入的数字超过10后所显示的提示*/goto K; system(cls);for(i=0;in;i+)/*依次查询满足的学生*/ if(stui.nu

6、m=num) printf(%st%dt%st%dt%sn,stui.name,stui.num,stui.sex,stui.age,stui.location) break; Fun();goto L;case 3: printf(请输入需查询的学生n); printf(假设输入错误那么无法查询!n:);scanf(%s,name); system(cls); for(i=0;in;i+)/*依次查询满足的学生*/ if(strcmp(stui.name,name)=0)/*判断字符串比拟是否相等*/ printf(%st%dt%st%dt%sn,stui.name,stui.num,stu

7、i.sex,stui.age,stui.location); break;Fun();goto L;case 4: printf(请输入籍贯n); printf(假设输入错误那么无法查询!n:);scanf(%s,location); system(cls); for(i=0;in;i+) if(strcmp(stui.location,location)=0)/*判断字符串比拟是否相等*/ printf(%st%dt%st%dt%sn,stui.name,stui.num,stui.sex,stui.age,stui.location); Fun();goto L; case 5: fp=f

8、open(information.txt,a+);/*翻开文件并往里写入信息*/ printf(请输入增加学生的人数:);scanf(%d,&n);printf(请输入增加学生的、学号、性别、年龄及籍贯:n); for(i=0;in;i+) scanf(%s%d%s%d%s,stui.name,&stui.num,stui.sex,&stui.age,stui.location);/* 接收信息*/ fprintf(fp,%st%dt%st%dt%sn,stui.name,stui.num,stui.sex,stui.age,stui.location);/*打印信息*/ Fun();goto

9、 L;case 6: exit(0);default: printf(输入错误,请重新输入!n); /*假设输入的数字不是1,2,3,4,5,6所提示的信息*/goto L;三、设计表示2.3.1 进入到界面printf(*欢送进入学生籍贯信息记录簿*n);2.3.2选择程序进展管理printf(1 -显示所有信息n); printf(2 -按学号查询n); printf(3 -按查询n); printf(4 -按籍贯查询n); printf(5 -完毕程序n);2.3.3对文件进展读取,并显示学生的信息。FILE *fp;s stu100;int i=0,n=0,m,num;char nam

10、e10,location20;fp=fopen(information.txt,r+);while(!feof(fp)fscanf(fp,%s%d%s%d%s,&stui.name,&stui.num,&stui.sex,&stui.age,&stui.location)i+;n+;2.3.4后续程序为switch语句进展选择,选择完毕后会提示是否继续,继续那么进入到主菜单,否那么退出系统。三、系统调试3.2调试程序3.1.1显示所有信息进入系统后键入“1+enter后即可显示如下界面。选择第一个选项后,系统将会读取磁盘文件information.txt 中所保存的信息,并在显示屏上显示如下列

11、图,且会提示是继续操作还是退出系统。3.1.2 按学号查询系统会先提示:“请输入学号。输入学号(例如:3)后键入“enter: 随后键入“Y或“y继续运行程序。3.1.3按查询键入“enter后,假设磁盘文件中有你输入的学生,那么该同学的信息会在显示屏上显示。如假设无此学生那么直接跳到继续操作这一项。3.1.4按籍贯查询假设磁盘文件所有学生籍贯信息中有你所输入的地点这会显示所有这个地点的学生,假设无此地点的学生那么直接跳到继续操作这一项。3.1.5 添加学生信息系统先会提示你要输入的学生数目。接着会提示要依次输入那些信息:“请输入增加学生的、学号、性别、年龄及籍贯。输入的信息将会被写入“information.txt文件中。如下列图:3.1.6 退出系统随后任意键入一个键就完毕程序。3.2调试小结自己做的这个程序虽然简单,但过程中还是遇到了很多困难。例如对字符串的处理。开场时总是无法显示输入的学生,性别,籍贯这三项信息。后来通过自己看书和询问同学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号