2022年c语言课设:点名系统 .pdf
《2022年c语言课设:点名系统 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言课设:点名系统 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、沈 阳 航 空 航 天 大 学课程设计学号 153402010417班级电信 1504 姓名指导教师刘 鹤 丹2016 年9 月18 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 沈 阳 航 空 航 天 大 学课 程 设 计 任 务 书学院:电子信息工程学院专业:电子信息工程班级:电子学号:题目:随机点名系统一、课程设计时间二、课程设计内容用 C 语言编写软件完成以下任务:教师在每次上课时,需要对学生随机点名提问;学生信息
2、应事先保存到文件 myfile.dat 中。学生共有8 人,名单如下:20013011001 杜永宁20013011002 王传华20013011003 殷泳20013011004 杨柳青20013011005 王丽20013011006 张华20013011007 白雪20013011008 薛峰所谓点名,是指将某位同学的姓名和学号打印到屏幕上,则表示该同学被点名 1 次;注意点名的随机性,即公正性。三、课程设计要求程序质量:贯彻结构化的程序设计思想。用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括“开始点名” 、 “显示所有同学点名情况” 、 “保存点名” 、 “退出” 4 项
3、。代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后, 上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师: _ 学生签名: _ 五、成绩六、教师评语名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸I 目录一、需求分析 . 1二、设计分析 . 2三、主要界面截图 . 6四、技术要点 . 9五、个人总结. 12六、参考文献. 12七
4、、源程序 . 12名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸1 一、需求分析此程序是为点名而设计,经分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,显示点名情况模块,随机算法模块。1、程序界面设计模块主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;2、文件读写模块实现的功能是对file20.txt文件数
5、据的读取和存储,将文件中的数据保存到结构体student 中,并将点名次数通过 save 函数保存到文件中;3、显示点名情况模块按照题目的要求将数据文件中所有学生的学号、姓名、是否缺席打印到屏幕上;4、点名算法模块通过调用自定义函数open() 和 rew() 实现点名,并将被点到的学号、姓名、是否缺席打印到屏幕上;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共
6、 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸2 二、设计分析1、整体框架图图 1:整体框架图随机点名系统菜单模块创建名单模块点名模块显示信息模块保存模块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸3 2、流程图 2.1. 保存函数流程图如图所示,通过rb+的方式打开文件,通过 for 循环,将结构体中的保存的学生信息保存到文件当中。yes if(fp=fopen(file
7、20.txt,rb+)=NULL) No printf(文件打开失败 n for(i=0;i8;i+) if(fwrite(&stdi,sizeof(struct student),1,fp)!=1) yes No printf(文件保存失败 n); 文件保存成功关闭文件图 2 Sa ve 函数进行保存的流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸4 2.2 、 菜单函数流程图如图3 所示,通
8、过 switch 语句进行选择,调用不同的功能函数,从而达到实现各部分功能的作用。if(fp=fopen(file20.txt,ab+)=NULL) yes No 文件打开失败 Exit(0) for(i=0;i8;i+) scanf(%d,&c);switch(c);While(1) 真Case 1 否开始点名真 Case 2 否信息统计真Case 3; 否学生信息添加 Case 4 退出图 3:菜单模块的流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页
9、- - - - - - - - - 沈阳航空航天大学设计用纸5 2.3 、点名函数流程图4 所示,通过采用随机数语句随机出数字 0-7,然后运用 switch 语句,通过 strcmp 函数,将结构体中保存的学生编号同固定编号比较, 如果相同则输出该编号对应的学生的信息numb=rand()%8+1switch(numb) 真case Case1 否strcpy(temp,20013011001)真Case2 strcpy(temp,20013011002)真Case3 trcpy(temp,20013011003). . . . . 真Case8 否 For(i=0,in,i+)yes no
10、 输出 peoi.num,peoi.name图 4:点名函数流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸6 三、主要界面截图图 5.主界面名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸7 图 6 开始
11、点名图 7 显示所有同学的点名情况名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸8 图 8 保存点名图 9 保存点名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸9 四、技术要点1、结构体的定义并把原始信
12、息一同定义在结构体成员中,是程序的核心内容之一void main() int i,n; int c; FILE *fp; if(fp=fopen(f:myfile.txt,r)=NULL)/文件不存在的时候 / write(); else n=reads(st); menu(); while(1) scanf(%d,&c); switch(c) case 1:rank_name(st);break; case 2:show(st);break; case 3: save(st);break; case 4:exit(0); 从上面的定义中可以看出, 结构体类型定义中成员项都有确定的类型和名字,
13、而要使用结构体类型的数据,必须经过两个步骤:先由关键字struct和用户定义的结构体名来说明类型,然后在由它们说明变量。2、void write()是自定义函数它的主要用途是打开预存的学生的信息,并把它显示在屏幕上给老师点名。程序如下:void write() FILE *fp;/定义文件指针 / int n,i; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 沈阳航空航天大学设计用纸10 if(fp=fopen(f:my
14、file.txt,a)=NULL) /如果文件已经存在,可以追加学生信息 if(fp=fopen(f:myfile.txt,w)=NULL) / 文件不存在时,创建新文件,输入学生信息 printf(文件打开失败! n); return; for(i=0;iN;i+) fprintf(fp,%st%st%dtn,sti.num,sti.name,sti.data); /把学生信息存放到文件中/ fclose(fp); 3 、void save(student peo) FILE *fp; fp=fopen(f:myfile.txt,r+); int i,n; for(i=0;iN;i+) fp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c语言课设:点名系统 2022 语言 点名 系统
限制150内