版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空工业学院课程设计学 号班 级姓 名指导教师尹航_年 月 日沈阳航空工业学院课程设计任务书电子工程系电子信息工程专业 84020103 班 学号2008040201106一、课程设计题目:教师上课随机点名二、课程设计工作自2009年9月7日起至2009年9月11日止三、课程设计内容:用C语言编写软件完成以下任务:教师在每次上课时,需要对学生点名提问。学生信息应事先保存到文件 file20.txt中。学生共有7人,名单如下:101杜永宁N 102段楠N 103 冯红N 104 郝苇N 105 胡龙N106李南 N 107 刘盈N所谓点名,是指将某位同学的姓名和学号打印到屏幕上,则表示该同学
2、是否缺席。四、课程设计要求:1 程序质量:贯彻结构化的程序设计思想。用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。用户界面中的菜单至少应包括“开始点名”、“信息统计”、“学生信息添加”、“退出” 4项。代码应适当缩进,并给出必要的注释,以增强程序的可读性。2 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容如下:课程设计任务书程序设计题目需求分析(分析题目的要求)程序框图核心技术的实现方法及程序源代码及注释个人总结参考资料学生签名:五、指导教师:六、成绩:七、教师评语:一、 需求分析2二、 程序流程图3三、核心技术的实法现方 8四、个人总结13五、参考文
3、献14六、源程序 14、需求分析此程序是为点名而设计,经分析可知,整个程序的设 计实现大致分为四个模块,其中每一个模块对应一个功 能,他们的功能分别是:程序界面设计模块,文件读写模 块,显示点名情况模块,随机算法模块。1、 程序界面设计模块主要实现程序最初运行时程序 界面友好、美观的的构型以及简明的操作提示;2、 文件读写模块 实现的功能是对file20.txt文件数 据的读取和存储,将文件中的数据保存到结构体stude nt 中,并将点名次数通过save函数保存到文件中;3、 显示点名情况模块按照题目的要求将数据文件中 所有学生的学号、姓名、是否缺席打印到屏幕上;4、 点名算法模块通过调用自
4、定义函数open()和rew() 实现点名,并将被点到的学号、姓名、是否缺席打印到屏 幕上;除上面介绍的功能之外,程序还具有退出功能,可以 在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行二、程序流程图1、整体框架图:图1 :整体框架图2、流程图Save函数进行保存的流程图if(fp=fope n( "file20.txt","rb+")=NULL)/printf("文件打开失败n"for(i=0;i<7;i+)if(fwrite(&stdi,sizeof(structstude nt),1,fp)!=1
5、)yes '、printf("文件保存失败n");文件保存成功图2 Sa ve函数进行保存的流程图3、点名模块的流程图4、学生信息修改图图3:点名模块的流程图三、核心技术的实法现方1、结构体的定义并把原始信息一同定义在结构体成员中,是程序的核心内容之一struct stude nt long num;char n ame10;char data;st7;从上面的定义中可以看出,结构体类型定义中成员项 都有确定的类型和名字,而要使用结构体类型的数据,必 须经过两个步骤:先由关键字struct和用户定义的结构体名来说明类型,然后在由它们说明变量。2、Void open(
6、)是自定义函数它的主要用途是打开预 存的学生的信息,并把它显示在屏幕上给老师点名。程序如下:void ope n() int i;FILE *fp;if(fp二fope n( "file20.txt","ab+")=NULL)printf(”文件打开失败n"); exit(O);for(i=0;i<7;i+)fread(&sti,sizeof(struct stude nt),1,fp);prin tf("%dt%st%cn",sti. num,sti. name,sti.data);3、Void rew()是
7、学生信息修改程序,提供给老师对缺 席学生信息的修改,即缺席的学生,老师只要输入学号, 程序就将该学生的缺席情况自动改为” Y”。如下:void rew()int i;int h=1;int k;char j;FILE *fp;if(fp=fope n( "file20.txt","r")=NULL)printf(”文件打开失败n");exit(O);printf(学生缺席请按'a'进行修改*n");printf(输入'b'跳出修改*、n");while(h)sea nf("%c&qu
8、ot;,&j);缺席学生学号n");switch(j)case 'a':pri ntf(” sca nf("%d",&k);k=k-101;stk.data=' Y'break;case 'b':h=O;fread(&sti,sizeof(struct stude nt),1,fp);prin tf("%dt%st%cn",sti. num,sti. name,sti.data);4、void save()是保存学生信息的自定义函数,主要将 修改后的学生信息保存到file2
9、0.txt文档中去,实现保存 功能。程序如下:void save()int i;FILE *fp;if(fp=fope n("file20.txt","rb+")=NULL)printf("文件打开失败n");exit(0);if(fwrite(&sti,sizeof(structstude nt),1,fp)!=1)printf("文件保存失败n");在上面的程序段中,用到了三个调用函数语句进行操作,尽管在程序化设计中有些重复,但其很方便,应用及 操作比较简单。比如void open()语句是为了打开fi
10、le20.txt文件并输出 学生情况进行点名,void rew()语句点名是进行信息统计, void save()是保存功能的函数,通过它实现了学生信息的 添加及保存。四、个人总结在此次课设之前我C语言学的一般,只能勉强应付考 试,很多概念都非常模糊记不清楚。虽然,我的编程题目 并不算难,但是,在这一周的时间里,经过不断的学习与 努力及与同学进行探讨,还有老师的指导,我的C语言编程终于能圆满完成虽然程序还有一定的瑕渍,但我以尽力自己独立完成 了。我感到C语言程序设计确实是一门很有用的学科,所以这次课设并不是一个结束,而是一个开始,一个对C语言更深入学习的开始。并借着机会继续学习C语言,努 力尽
11、早通过国家计算机二级考试。五、参考文献1姚合生.C程序设计.北京:清华大学出版社,2008 2刘成等.C语言程序设计实验指导与习题集.北京:中 国铁道出版社,2006六、源程序#i nclude <stdlib.h>#i nclude <stdio.h>#in elude <math.h>struct stude ntlong num;char n ame10;char data;冯红",'N',104,"郝刘盈",'N'st7=101," 杜永宁 ”,'N',102,&
12、quot; 段楠 ”,'N',103,"苇",'N',105," 胡龙",'N',106," 李南",'N',107,"void ope n() int i;FILE *fp;if(fp=fope n( "file20.txt","ab+")=NULL)printf("文件打开失败n”);exit(0);for(i=0;i<7;i+)fread(&sti,sizeof(struct stude nt
13、),1,fp);prin tf("%dt%st%c n",sti. num,sti. name,sti.data); void rew()int i;int h=1;int k;char j;FILE *fp;if(fp=fope n( "file20.txt",T')=NULL)printf("文件打开失败n”);exit(0);prin tf("*学生缺席请按'a'进行修改*n”);prin tf("*输入'b'跳出修改*n");while(h)sca nf("
14、%c",&j);switch(j)case 'a':pri ntf(”缺席学生学号n");scan f("%d",&k);k=k-101;stk.data='Y:break;case 'b':h=O;for(i=0;i<7;i+)fread( &sti,sizeof(struct stude nt),1,fp);prin tf("%dt%st%cn",sti. nu m,sti. name,sti.data);void save()int i;FILE *fp;if
15、(fp=fope n("file20.txt","rb+")=NULL)exit(0);for(i=0;i<7;i+)if(fwrite(&sti ,sizeof(struct stude nt),1,fp)!=1)printf("文件保存失败n"); void mai n() struct stude ntlong num;char n ame10;char data;st7=101," 杜永宁",'N',102," 段楠",'N',103," 冯红",'N',104," 郝苇",'N',105," 胡龙",'N',106," 李南",'N',107," 刘盈 ”,'N'int i;int c;printf(* n");MENU*);欢迎使用教师上课点名系统* n");printf(H*输入1 :开始点名* n");printf(H*输入2 :信息统计* n");pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作管理课程设计
- 液压系统课程设计接单
- 2024年版知识产权许可使用合同(专利)
- 班长竞选演讲稿
- 2025年山东淄博经济开发区事业单位综合类岗位招聘工作人员3人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁高新区事业单位招聘工作人员(卫生类)15人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市邹城市事业单位招考管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁北湖省级旅游度假区教育事业单位招聘59人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济南商河县事业单位招聘107人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东沂水经济开发区管理委员急需紧缺人才引进8人管理单位笔试遴选500模拟题附带答案详解
- DB13-T 5931-2024 珍珠棉生产企业安全生产技术条件
- 2025届上海曹杨二中高二物理第一学期期末综合测试模拟试题含解析
- 会议会务服务投标方案投标文件(技术方案)
- 成都大学《Python数据分析》2023-2024学年期末试卷
- 电大本科【人文英语3】2023-2024期末试题及答案(试卷代号:1379)
- 2024年医院消毒隔离制度范文(六篇)
- 2024年资格考试-机动车检测维修工程师考试近5年真题附答案
- 大学生法律基础学习通超星期末考试答案章节答案2024年
- 2024年大学试题(文学)-外国文学考试近5年真题集锦(频考类试题)带答案
- 2024-2025学年三年级上册数学苏教版学考名师卷期末数学试卷
- 三级人工智能训练师(高级)职业技能等级认定考试题及答案
评论
0/150
提交评论