资源描述:
《高校新生报到系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、沈阳航空工业学院课程设计学号__________班级__________姓名__________指导教师__________年月日沈阳航空工业学院课程设计任务书院系:电子工程专业:电子信息工程班级:6402101学号:200604021028题目:高校新生报到系统一、课程设计时间2007年9月10日起至2007年9月14日,共计1周,20学时。二、课程设计内容:用C语言编写软件完成新生报到系统,该系统实现以下功能:(1)数据信息(新生学号,姓名,来自省份,被录取系别及专业,高考分数,应交学费,宿舍号,等)保存在
2、fresh..dat文件中(2)新生报到(3)查询未到的学生(4)学生可以转专业(5)按学号显示学生信息三、课程设计要求:1.程序质量:l贯彻结构化程序设计思想。l用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。l用户界面中的菜单至少应包括“录入数据信息”、“新生报到”、“查询未到的学生”、“专业调整”、“显示学生信息”、“退出”6项。l代码应适当缩进,并给出必要的注释,以增强程序的可读性。2.课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教
3、师和学生签字指导教师:学生签名:五、说明书成绩六、教师评语沈阳航院设计用纸目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段7四、个人总结11五、参考文献11六、源程序1115沈阳航院设计用纸一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:添加学生信息(add),查询未报到的学生(scan),学生报道(bd),更改系别及专业(change),显示学生信息(show)。1、添加学生信息主要实现程序最初运行时数据的录入以及
4、其后的运行中数据的追加功能。2、学生报道实现的功能是对已有信息且来报道的同学做下记录。3、查询未报道的学生实现的功能是查询以录入信息但是没有报道的学生。4、更改系别及专业实现的是对已有的信息进行修改。5、显示学生信息显示学生是否报道及相关信息;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个学生都有学号,姓名,来自省份,被录取专业及系别,高考分数,应交学费,宿舍号。记录都包含在程序当中,将学生信息类型定义为结构体类型,添加以及追加的信息分别直
5、接写入fresh.dat文件中,其他函数每次对学生信息访问时,其数据来源都是fresh.dat文件,这样做不但可以保证数据的一致性,而且可以对数据进行永久保存,保证每次运行程序都可以采用原来的数据。此外,还定义了一个宏N15沈阳航院设计用纸二、程序流程图1、程序总体结构图2、具体功能框图(1)添加学生数据函数add()15沈阳航院设计用纸(2)新生报到函数bd()15沈阳航院设计用纸(3)查询未报到学生函数scan()15沈阳航院设计用纸(4)更改系别及专业函数change()15沈阳航院设计用纸(5)查询学生
6、信息函数show()15沈阳航院设计用纸三、核心技术的实现说明及相应程序段本程序主要由五个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。添加学生信息函数、查询未报道的学生、更改系别及专业,是程序中较为核心的部分。1添加学生信息首先,以只写的方式建立一个二进制文件,再用一个for()循环语句向文件fresh.dat中写入信息。具体的程序段如下:15沈阳航院设计用纸voidadd()/*添加学生信息*/{FILE*fp;intb,i;structstudentstu;if((f
7、p=fopen("fresh.dat","wb"))!=NULL){printf("请输入要添加的学生数量:");scanf("%d",&b);putw(b,fp);for(i=1;i<=b;i++){printf("请输入%d学生的学号、姓名,省份、系别和高考分数,学费和宿舍号,用空格分开,并按回车键确认:",i);scanf("%s%s%s%s%d%s%s",stu.num,stu.name,stu.provience,stu.system,&stu.score,stu.tuition,st
8、u.dormitory);stu.bd=0;fwrite(&stu,sizeof(structstudent),1,fp);}}fclose(fp);2、查询未报到的学生该函数的首先打开文件fresh.dat,然后再用一个for()循环语句。该函数的关键是找出stu[i].bd==0的那些学生并显示学号,姓名,来自省份,专业,高考分数,学费,宿舍号信息。因为我最初录入信息时设为stu[