课程设计(论文)早操学分统计系统.doc

上传人:仙人指路1688 文档编号:2543518 上传时间:2023-02-20 格式:DOC 页数:24 大小:664KB
返回 下载 相关 举报
课程设计(论文)早操学分统计系统.doc_第1页
第1页 / 共24页
课程设计(论文)早操学分统计系统.doc_第2页
第2页 / 共24页
课程设计(论文)早操学分统计系统.doc_第3页
第3页 / 共24页
课程设计(论文)早操学分统计系统.doc_第4页
第4页 / 共24页
课程设计(论文)早操学分统计系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《课程设计(论文)早操学分统计系统.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)早操学分统计系统.doc(24页珍藏版)》请在三一办公上搜索。

1、早操学分统计程序目录1.绪论12. 系统分析12.1 功能需求12.2 数据需求12.3 性能需求13. 总体设计23.1功能模块设计23.2系统设计方案34. 详细设计34.1插入新学生34.2签到模块44.3查看学分未修满学生模块64.4按学期查看模块74.5浏览学生信息模块75. 调试与测试105.1 调试105.2 测试106. 结论11结束语11参考文献11附录1用户手册12附录2源程序16摘 要早操管理系统是为学校设计,方便与学校对早操的管理,节省了人力物力,本系统操作简单,成本低,方便使用,是学校不可或缺的程序。本系统使用C语言作为程序开发的语言,开发早操学分统计系统,可以对学生

2、信息进行添加、删除、修改和查询功能。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:早操学分统计;累计;注销1.绪论早操管理系统是为学校设计,方便与学校对早操的管理,节省了人力物力,本系统操作简单,成本低,方便使用,是学校不可或缺的程序。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。 (1) 插入新的学生记录(2) 跑步签到(3) 按学期统计每个学生早操分数(4) 查找输出每个学生的早操签到情况(5) 自动统计未修满学分的学生信息2. 系统分析2.1 功能需

3、求本系统主要是某学校对早操学分统计的简单管理系统。本系统需要有添加,删除,查询,循环显示主菜单,保存信息功能,能将学生进行注销,利用显示函数将学生信息显示。要求有循环显示菜单工能。2.2 数据需求需要向系统输入学生姓名,学号。2.3 性能需求在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。3. 总体设计3.1功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。该系统需要有添加,删除,查询,修改,循环显示主菜单,保存信息功能,能利用显示函数将学生早操信息显示。要求有循环显示菜单工能。功能模块图如图1所示。图1功能模块图(1) 插入新学生

4、模块添加新学生进入程序;(2) 签到模块对学生早操签到;(3) 查看学分未修满学生信息模块查看学分未修满的学生;(4) 浏览学生信息模块该模块实现显示早操系统内部一切学生信息清单;(5) 退出模块退出本系统; (6) 保存模块即在运行完系统功能后自动保存信息,此功能不在菜单中显示;3.2系统设计方案设计一个总菜单,1插入新学生,2签到,3查看学分未修满学生,4按学期查看,5浏览学生信息,0退出。基本功能的实现都将体现在这几个菜单选项中。建立结构体如下:struct stu /*定义结构体数组*/ float fen8;/学分 float zong;/总学分 int num;/学号 int ci

5、8;/次数 sN;对应有以下子函数:void ch();/插入 void pt();/未修满学分 void an(); / 按学期查看模块void save(); /保存 void read(); /读取 void qian(); /迁到void wei(); /*续存机时信息*/4. 详细设计 4.1插入新学生图1 插入新学生流程图4.2签到模块图2 签到流程图4.3查看学分未修满学生模块 图6 显示未满学生4.4按学期查看模块图4按学期显示流程图4.5浏览学生信息模块图5 查看全部流程图图6 显示未满学生5. 调试与测试5.1 调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发

6、者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍。(1) 运行完程序一次有错误提醒原因是上次运行程序后没有关闭操作界面当点击编译时会有一个错误提示,解决方法:将上一次运行时的操作界面关闭。(1) 程序不能运行程序运行到添加新学生时自动提示错误需要调试,其原因是

7、指针指向的位置出现错误导致程序传参错乱无法运行,解决办法:使程序进入调试状态在传参出现错误的位置一句一句查找传递的参数是否是你所希望的,如若不是就加以修正。5.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价

8、。6. 结论课程设计顺利完成,任务书中所提出的要求全部实现,可以对学生早操进行管理。不过这个程序还有些不够完善,例如:会显示所有学生信息,这样非常占用操作界面,使操作不是十分清晰;改进方式:调用一个可以判断学号的函数,如果输入位数不合法则提出警告重新输入。结束语为期两个礼拜的计算机综合训练终于顺利完成,在这期间真正的学到了一些经验,能够熟练的掌握一些C语言的编程思路,能够熟练的运用学到的函数,学会了在曾经编写过的函数上加以修改实现了我期望实现的功能,知道学习编程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一些理论中学不到的知识,这才达到了实践的目的,当程序编写完成而且能够正常运行心里

9、一种说不出的自豪感,虽然这对于一名程序员来说可能什么也不是,但这是我编程的开始,如果希望在编程这方面能够有所发展我所要走过的路还很长,还需要不断的学习!学习!参考文献 1 谭浩强. C语言程序设计(第三版).北京:清华大学出版社2 林碧英. C语言程序设计教程.中国电力出版社,2006 3 美赫伯特.希尔特,王子恢等译.C语言大全.电子工业出版社,2003 4 江灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008附录1用户手册点击运行,首先出现的是菜单界面,选择菜单选项进行操作,可进行如图7所示。图7 菜单界面点“1后按回车”即进行插入新学生的操作,在添加完所有信息输入0n结束添加如

10、图8所示。图8 插入新学生界面输入2后点击回车执行签到的操作,如图9所示图9 签到界面签到操作,如图10所示图10 签到界面输入3后点击回车进行查看未修满学生的操作。如图12所示图11 未修满学生界面输入4后点击回车进行按学期查看操作。如图12所示图12 按学期查看界面输入5后点击回车进行浏览学生信息系操作。如图13所示图13 浏览学生信息界面输入0后点击回车进行退出操作。如图14所示图14退出界面附录2源程序#include /*标准输入、输出头文件*/#include /*包含字符串函数处理头文件*/#include /*包含动态存储与释放函数头文件*/#define N 999struc

11、t stu /*定义结构体数组*/ float fen8;/学分 float zong;/总学分 int num;/学号 int ci8;/次数 sN;int i;int m=0;/学生总数、void ch();/插入 void pt();/未修满学分 void an(); / 按学期查看模块void save(); /保存 void read(); /读取 void qian(); /迁到void wei(); /*续存机时信息*/void main() int j; do printf(nn早操签到系统n); printf(*n); printf( 1.插入新学生 nn 2.签到 nn 3

12、.查看学分未修满学生 nn 4.按学期查看 nn 5.浏览学生信息 nn 0.退出 nn); printf(*n); printf(请选择:nn); scanf(%d,&j); switch(j) case 1:ch();/*调用输入模块*/ break; case 4:an();/*按学期查看模块*/ break; case 5:pt();/*查看未满学生信息*/ break; case 3:wei();/*全部查看模块*/ break;case 2:qian();/*全部查看模块*/ break; while(j!=0); /*判断结束*/ printf(谢谢使用,再见!n);/*主函数结

13、束*/-/-void ch() /*打印模块程序*/ int y,a=1,n; save(); read(); printf(=n); for(i=m;iN;+i) printf(请输入学号:n); scanf(%d,&y); /*读取学号*/read();/*调用读取函数*/ for(n=0;nm;n+) if(sn.num=y)/*判断输入信息是否存在*/ a=0; break; si.num=y; m+ ; save();/*将结构体信息存盘*/ if(a=0) si=sm-1; printf(第%d个信息的学号重复!nn,m); printf(=n); m-; save();/*将结构

14、体信息存盘*/ break; if(a=1) printf(第%d个信息已经输完是否继续?按1继续,按 0结束,m); for(i=0;i8;i+) sm.feni=0;sm.cii=0; scanf(%d,&y); if(y=0) save();/*将结构体信息存盘*/break; /-void an() /*按学期显示*/int i,j;printf(请输入学期:);scanf(%d,&j);read(); for(i=0;im;i+)printf(_n);printf(n学号为%d的学生,签到%d次:n,si.num,si.cij-1); printf(第%-d学期学分为%fn,j,si

15、.fenj-1); getchar(); getchar();/-/-void pt() /*全部查看模块*/int j,i;read();for(i=0;im;i+)printf(_n);printf(n学号为%d:n,si.num);for(j=0;j8;j+)printf(第%-d学期学分为%ft,j+1,si.fenj);if(j=2|j=5|j=7)printf(n);getchar();printf(按回车继续);getchar();/-/-void qian() /*签到*/int i,j=0,k,l;read(); while(1) printf(请输入学号(输入0退出):);

16、scanf(%d,&k);printf(请输入学期(1-8,输入0退出):);scanf(%d,&l);if(k=0&l=0)break;for(i=0;i59)si.fenl-1=0.5;printf(本学期签到数已满!);break;si.cil-1=si.cil-1+1;save();save();if(j=0) printf(抱歉!没有这个学生。);break;save(); save();/-/-void wei() /*显示未满学生信息*/int i;read();for(i=0;im;i+)si.zong=si.fen0+si.fen1+si.fen2+si.fen3+si.fe

17、n4+si.fen5+si.fen6+si.fen7 ; for(i=0;im;i+)if(si.zong2)printf(未修满学分学生%dn,si.num);/-/-void save()/*保存模块程序*/ FILE *fp,*fp1;/*定义文件指针*/ if(fp=fopen(早操.txt,wb)=NULL)/*打开文件并判断是否出错 */ printf(创建文件失败!nn);/*打印出错提示*/ getchar(); return; if(fp1=fopen(个数.txt,wb)=NULL)/*打开文件并判断是否出错 */ printf(创建文件失败!nn);/*打印出错提示*/

18、getchar(); return; for(i=0;im;i+) if(fwrite(&si,sizeof(struct stu),1,fp)=0)/*向文件写入数据,并判断是否出错*/ printf(向文件输入数据失败!nn); fprintf(fp1,%d,m); fclose(fp);/*关闭文件*/ fclose(fp1);/*关闭文件*/void read()/*从文件读取信息模块*/ FILE *fp,*fp1;/*定义文件指针*/ if(fp=fopen(早操.txt,rb)=NULL)/*打开文件,并判断是否出错*/ printf(出错,请检查文件是否存在,按任意键返回住菜单);/*打印出错提示*/ getchar(); if(fp1=fopen(个数.txt,rb)=NULL)/*打开文件并判断是否出错 */ printf(创建文件失败!nn);/*打印出错提示*/ getchar(); return; fscanf(fp1,%d,&m); fclose(fp1); /*关闭文件*/ for(i=0;im;i+) fread(&si,sizeof(struct stu),1,fp); /*从文件中读取信息*/ fclose(fp);/*关闭文件*/ 完成日期:2010年7月13日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号