收藏 分销(赏)

教师上课点名系统-c语言.doc

上传人:w****g 文档编号:2492447 上传时间:2024-05-30 格式:DOC 页数:15 大小:112.04KB
下载 相关 举报
教师上课点名系统-c语言.doc_第1页
第1页 / 共15页
教师上课点名系统-c语言.doc_第2页
第2页 / 共15页
教师上课点名系统-c语言.doc_第3页
第3页 / 共15页
教师上课点名系统-c语言.doc_第4页
第4页 / 共15页
教师上课点名系统-c语言.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、(完整word)教师上课点名系统_c语言 课程设计班 级 :学 号 :姓 名 : 指导教师 :2010年09月09日课程设计任务书院系:电子信息工程学院 专业:电子信息工程 班级:学号: 题目:教师上课点名系统一、课程设计时间201011第1学期第2周,共计1周,20学时。二、课程设计内容用C语言编写程序完成以下任务:教师在每次上课时,需要对学生点名。学生信息保存在文件file20。txt(由教师提供)中,包括学号、姓名、是否缺席三项。编写程序,完成如下功能:1 教师点名:对所有学生进行点名,并更新file20。txt文件;2 分别统计已到和未到的学生,并显示;3 能够向文件中添加后报到的学生

2、信息.三、课程设计要求1。 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便. 用户界面中的菜单至少应包括“开始点名、“信息统计、“学生信息添加”、“退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性.2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语目 录一、程序设计题目1二、需求分析1。三、程序流程图2四、核心技术的实现方法及程序段6五、个人总结7六、参考文献7七、源程序8 一、程序设计题目1 教师点名:对所有学生进行点名,

3、并更新file20.txt文件;2 分别统计已到和未到的学生,并显示;3 能够向文件中添加后报到的学生信息。二、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,文件更新模块,教师点名模块,学生信息添加模块,学生缺席情况统计模块,学生信息显示模块,。1、程序界面设计模块 主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;2、文件读写模块 实现的功能是对myfile。dat文件数据的读取和存储,将文件中的数据保存到结构体student中,并将点名次数通过save函数保存到文件中

4、;3、显示点名情况模块 按照题目的要求将数据文件中所有学生的学号、姓名、被点名次数打印到屏幕上;4、随机点名算法模块 通过调用数学函数库中的随机数生成函数rand实现点名的随机性,并将被点到的学号、姓名打印到屏幕上;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。三、程序流程图总体框架图:开始读取数据开始点名保存点名结束 int iFILE *fpfp=fopen(myfile.txt,ab+)i=0;iSIZE;i+Fread(&stdi;sizeof(struct student),1,fp)printf(读取成功!n)模块设

5、计: 读取数据模块(图一) 点名模块(图二)Int j 调用随即生成函数rand进行点名 J=rand()/1000If(j=0) if(j=2)std0.time+; std2.time+;printf(tt%stt%sn, printf(“tt%stt%sn”, stdj.num, stdj.num,stdj.name); stdj.name); if(j =1) std1.time+; printf(tt%stt%sn,stdj.num,stdj.name); 保存模块 保存模块 int iFILE *fpfp=fopen(myfile.txt,rb+)i=0;iSIZE;i+Fwrit

6、e(&stdi;sizeof(struct student),1,fp)printf(保存成功!n) 保存模块(图三): 程序运行结果如图: (图一) (图二) (图三)四、核心技术的实现方法及程序段1结构体定义:struct studentchar num20; char name10; int time;stdSIZE;2将fp所指向的文件中的数据存储到数组std中FILE *fp;if(fp=fopen(myfile。dat,ab+))=NULL)printf(文件打开失败n);exit(0);for(i=0;iSIZE;i+)fread(&stdi,sizeof(struct stud

7、ent),1,fp);3调用rand的函数进行点名loop:j=rand()/1000;if(j=0)std0。time+; printf(ttstt%sn,stdj.num,stdj.name);else if(j=1)std1.time+;printf(”tt%stt%sn,stdj。num,stdj。name);else if(j=2)std2。time+;printf(tt%stt%sn,stdj.num,stdj。name);else if(j=3)std3。time+;printf(tt%stt%sn,stdj.num,stdj。name); else goto loop;brea

8、k;fclose(fp);4保存点名void save()int i;FILE fp;if((fp=fopen(myfile。dat”,”rb+)=NULL)printf(”文件打开失败n); exit(0); for(i=0;i#include #define SIZE 4struct studentchar num20; char name10; int time;stdSIZE;void save()int i;FILE *fp; if((fp=fopen(myfile。dat”,”rb+”))=NULL) printf(”文件打开失败n); exit(0); for(i=0;iSIZE

9、;i+) if(fwrite(&stdi,sizeof(struct student),1,fp)!=1) /*将内存中的数据输出到磁盘文件中*/ printf(文件保存失败n);void main()int j,i;char c;FILE *fp;if((fp=fopen(myfile。dat”,”ab+))=NULL)printf(”文件打开失败n”);exit(0);for(i=0;iSIZE;i+)fread(stdi,sizeof(struct student),1,fp);/*将fp所指向的文件中的数据存储到数组std中*/ printf(*欢迎使用上课随机点名程序*n);prin

10、tf(*输入a:显示所有同学名情况 *n);printf(”*输入d: 开始点名 *n”);printf(”*输入s:保存点名 *n);printf(”*输入b: 点名次数归零 *n);printf(*输入q: 退出 *n”);printf(*n);while(1)c=getchar();switch(c)case a:for(i=0;iSIZE;i+)printf(”ttsttstt被点名%d次n,stdi。num,stdi.name,stdi.time); break;case s: save();printf(”*文件保存成功!退出请输入q*n”); break;case b: for(

11、i=0;iSIZE;i+) stdi.time=0;printf(”点名次数归%dn,stdi.time);break;case q: exit(0);case d:loop:j=rand()/1000; /*调用rand的函数进行点名/if(j=0)std0.time+; printf(ttstt%sn”,stdj.num,stdj.name);else if(j=1)std1。time+;printf(”tt%stt%sn”,stdj.num,stdj。name);else if(j=2)std2.time+;printf(”tt%stt%sn,stdj。num,stdj。name);else if(j=3)std3.time+;printf(tt%sttsn,stdj。num,stdj。name); else goto loop;break;fclose(fp);11

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服