




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈 阳 航 空 工 业 学 院 课程设计 学 号 2008040301053班 级 84030102姓 名 李钢指导教师 王晓岩2010年 3 月 21 日沈 阳 航 院 设 计 用 纸沈阳航空工业学院课程设计任务书院系:航空宇航工程学院 专业:飞行器制造工程 班级:84030102学号:2008040301053 题目:高考分数统计系统(1)一、课程设计时间2009-10第2学期第1周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:1.录入考生信息(包括成绩);2.根据考号查询考生成绩;3.显示录取考生信息。三、课程设计要求1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“考生信息录入”、“查询成绩(按考号)”、 “显示录取考生信息”、“退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语 目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段6四、个人总结11五、参考文献12六、源程序1214一、需求分析 在办公室自动化日益普及的时代,许多繁杂的办事事务都由计算机来替代,诸如高考成绩查询和管理等重复劳动越来越需要计算机来进行处理。本系统提供对大量考生信息进行管理的功能,包括录入(add)、查询(que)、求显示(show)等基本操作,并对用户权限进行了有效的管理。 输入考生信息,从而能够根据这些信息查询到相应考生的一些基本数据,再根据所需从而求出所有考生的成绩,最后保存下来。1、添加考生数据函数 主要实现程序最初运行时考生数据的录入以及其后的运行中考生数据的追加功能;2、信息查询函数 允许按照考号对考生的各项信息进行查询;3、显示函数 实现的是显示目前所有的有效考生记录信息。4、显示录取考生信息实现的是对所有录入的考生的信息的显示。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序(exit)的执行。二、程序流程图1、程序总体结构图图1程序总体结构图2、具体功能框图图表2增加信息图表2增加信息图表3 录入信息图表3录入信息图4读取学生数据图4读取学生数据三、核心技术的实现说明及相应程序段 每一个学生记录都包含考号、姓名、分数,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直接写入student.dat文件中,其他函数每次对学生记录的访问,其数据来源都是student.dat文件,这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次运行程序都可以采用原来的数据。具体程序如下:void reads(struct student stuN,int *n)/*从磁盘读入信息*/ FILE *fp; int i=0; if(fp=fopen(e:student.dat,rb)=NULL) printf(文件打开失败!n); return; else *n=getw(fp); for(i=0;i*n;i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp);void add()/*添加考生信息*/FILE *fp; int n,i,j; struct student stu; if(fp=fopen(e:student.dat,rb+)!=NULL) j=getw(fp); rewind(fp); printf(n请输入要添加的考生数量,按回车键确认:); scanf(n%d,&n); putw(j+n,fp); fseek(fp,0L,2); for(i=1;i=n;i+)printf(n请输入第%d个考生的学号、姓名,用空格分开,并按回车键确认:n,i); scanf(n%s%s,stu.num,); printf(n请输入第%d个考生的英语、语文和数学三门成绩,用空格分开,并按回车键确认:n,i); scanf(n%f%f%f,&stu.chinese,&stu.english,&stu.math); fwrite(&stu,sizeof(struct student),1,fp); else if(fp=fopen(e:student.dat,wb)!=NULL) printf(请输入要添加的考生数量,按回车键确认:); scanf(n%d,&n); putw(n,fp); for(i=0;in;i+)printf(n请输入第%d个考生的学号、姓名,用空格分开,并按回车键确认:n,i+1); scanf(n%s%s,stu.num,); printf(n请输入第%d个考生的英语、语文和数学三门成绩,用空格分开,并按回车键确认:n,i+1); scanf(n%f%f%f,&stu.english,&stu.chinese,&stu.math); fwrite(&stu,sizeof(struct student),1,fp); fclose(fp);主函数 实现的是程序界面的设计和各功能函数的调用;本程序有一个函数,三个子函数组成,分别是菜单函数、添加学生信息、查找、显示等四个子程序。其中主函数以菜单的形式调用其他函数来实现要求的所有功能。具体程序如下:menu(); printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n) case 1: add();break; case 2: show();break; case 3: query();break; case 4: exit(0); default: printf(n输入错误,请输入列表中存在的序号n ); 成绩查询函数,主要是实现根据考生主要信息,例如考号等对该考生进行成绩和是否被录取进行查询,具体程序如下:void query()/*考生成绩查询*/ struct student stuN; char number20; int i,n; reads(stu,&n); printf(n请输入待查询的考生考号,按回车键确认:n); scanf(n%s,number); for(i=0;i=n) printf(n对不起,没有找到该考生信息!n); else printf(n考号%5s 姓名%5s 英语%8.2f 语文%8.2f 数学%8.2f 总分%9.2fn,stui.num,,stui.english,stui.chinese,stui.math,stui.english+stui.chinese+stui.math); if(stui.english+stui.chinese+stui.math=350) printf(n*该同学被我校录取*n); else printf(n*该同学未被我校录取*n); 显示录取考生信息,主要是对所有考生的分数进行筛选,并把高于分数线的学生的信息显示出来,例如考号,性别,姓名,年龄等。具体程序如下:void show()/*显示考生成绩*/struct student stuN; int i,n; reads(stu,&n); if(n=0) return; printf( *所有的考生信息如下*); for(i=0;in;i+) printf(n序号%3d 考号%5s 姓名%5s 英语%8.2f 语文%8.2f 数学%8.2fn,i+1,stui.num,,stui.english,stui.chinese,stui.math); getchar();四、个人总结通过这几天的实习,使我对C语言的认识明显加深,以前自己动手编个程序十分的困难,通过这次我们的实习我的C语言的能力明显加深了,并且我学会了很多以前不知道的知识,自己的能力提高了很多。 五、参考文献1黄明 梁旭等 C语言课程设计 电子工业出版社 20062谭浩强C程序设计北京:清华大学出版社,20053 郭翠英 C语言课程设计案理精编 中国水利水电出版社 2004六、源程序#include#include#include#define N 20#define line1 270#define line2 240 struct studentchar num20; char name10; float english; float chinese; float math;void menu();void reads();void add();void query();void show();main() int n; while(1) menu(); printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n) case 1: add();break; case 2: show();break; case 3: query();break; case 4: exit(0); default: printf(n输入错误,请输入列表中存在的序号n ); void menu()printf(n * 高考分数统计系统* ); printf(n 1 添加考生信息); printf(n 2 显示考生信息); printf(n 3 考生成绩查询); printf(n 4 退出管理系统);void reads(struct student stuN,int *n)/*从磁盘读入信息*/ FILE *fp; int i=0; if(fp=fopen(e:student.dat,rb)=NULL) printf(文件打开失败!n); return; else *n=getw(fp); for(i=0;i*n;i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp);void add()/*添加考生信息*/FILE *fp; int n,i,j; struct student stu; if(fp=fopen(e:student.dat,rb+)!=NULL) j=getw(fp); rewind(fp); printf(n请输入要添加的考生数量,按回车键确认:); scanf(n%d,&n); putw(j+n,fp); fseek(fp,0L,2); for(i=1;i=n;i+)printf(n请输入第%d个考生的学号、姓名,用空格分开,并按回车键确认:n,i); scanf(n%s%s,stu.num,); printf(n请输入第%d个考生的英语、语文和数学三门成绩,用空格分开,并按回车键确认:n,i); scanf(n%f%f%f,&stu.chinese,&stu.english,&stu.math); fwrite(&stu,sizeof(struct student),1,fp); else if(fp=fopen(e:student.dat,wb)!=NULL) printf(请输入要添加的考生数量,按回车键确认:); scanf(n%d,&n); putw(n,fp); for(i=0;in;i+)printf(n请输入第%d个考生的学号、姓名,用空格分开,并按回车键确认:n,i+1); scanf(n%s%s,stu.num,); printf(n请输入第%d个考生的英语、语文和数学三门成绩,用空格分开,并按回车键确认:n,i+1); scanf(n%f%f%f,&stu.english,&stu.chinese,&stu.math); fwrite(&stu,sizeof(struct student),1,fp); fclose(fp);void show()/*显示考生成绩*/struct student stuN; int i,n; reads(stu,&n); if(n=0) return; printf( *所有的考生信息如下*); for(i=0;in;i+) printf(n序号%3d 考号%5s 姓名%5s 英语%8.2f 语文%8.2f 数学%8.2fn,i+1,stui.num,,stui.english,stui.chinese,stui.math); getchar(); void query()/*考生成绩查询*/ struct student stuN; char number20; int i,n; reads(stu,&n); printf(n请输入待查询的考生考号,按回车键确认:n); scanf(n%s,number); fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 振东制药:2024年度业绩预告
- 九年级化学上册 第1章 第1节《化学让世界更美好》教学设计 (新版)北京课改版
- 二年级语文下册 第四单元 课文3 语文园地四教学设计(pdf) 新人教版
- 2024中核集团中核基金社会招聘笔试参考题库附带答案详解
- 九年级英语上册 Module 5 Museums Unit 3 Language in use第五课时教学设计(新版)外研版
- 人教部编版一年级下册9 我和我的家教学设计
- 工地安全培训
- 人教部编版一年级下册1 我们爱整洁教学设计及反思
- 九年级物理下册 9.2《家庭电路》教学设计 (新版)教科版
- 人教部编版14 应有格物致知精神教学设计
- (正式版)SHT 3115-2024 石油化工管式炉轻质浇注料衬里工程技术规范
- 2024新生儿肺炎个案护理
- 2022版新课标核心素养关键词解读-运算能力主题研讨与教学分享
- 2024年甘肃亚盛实业(集团)股份有限公司招聘笔试参考题库含答案解析
- 工程材料力学性能(束德林第三版)课后习题答案
- 防汛预案桌面演练(终)课件
- 开封文化艺术职业学院单招《职业技能测试》参考试题库(含答案)
- 《坦克的发展历程》课件
- 军事研学旅行活动策划
- (完整)有效备课上课听课评课
- 采购管理系统的六大功能模块
评论
0/150
提交评论