课程设计(论文)早操学分统计系统_第1页
课程设计(论文)早操学分统计系统_第2页
课程设计(论文)早操学分统计系统_第3页
课程设计(论文)早操学分统计系统_第4页
课程设计(论文)早操学分统计系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、早操学分统计程序 早操学分统计程序早操学分统计程序目录目录1.绪论绪论.12.2. 系统分析系统分析.12.1 功能需求.12.2 数据需求.12.3 性能需求.13. 总体设计总体设计.23.1 功能模块设计.23.2 系统设计方案.34.4. 详细设计详细设计.34.1 插入新学生.34.2 签到模块.44.3 查看学分未修满学生模块.64.4 按学期查看模块.74.5 浏览学生信息模块.75.5. 调试与测试调试与测试.105.1 调试.105.2 测试.106.6. 结论结论.11结束语结束语.11参考文献参考文献.11附录附录 1 1用户手册用户手册.12附录附录 2 2源程序源程序

2、.16早操学分统计程序1摘摘 要要早操管理系统是为学校设计,方便与学校对早操的管理,节省了人力物力,本系统操作简单,成本低,方便使用,是学校不可或缺的程序。 本系统使用 c 语言作为程序开发的语言,开发早操学分统计系统,可以对学生信息进行添加、删除、修改和查询功能。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:早操学分统计;累计;注销关键词:早操学分统计;累计;注销1.绪论绪论早操管理系统是为学校设计,方便与学校对早操的管理,节省了人力物力,本系统操作简单,成本低,方

3、便使用,是学校不可或缺的程序。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。 (1) 插入新的学生记录(2) 跑步签到(3) 按学期统计每个学生早操分数(4) 查找输出每个学生的早操签到情况(5) 自动统计未修满学分的学生信息2.2. 系统分析系统分析2.12.1 功能需求功能需求本系统主要是某学校对早操学分统计的简单管理系统。本系统需要有添加,删除,查询,循环显示主菜单,保存信息功能,能将学生进行注销,利用显示函数将学生信息显示。要求有循环显示菜单工能。2.22.2 数据需求数据需求需要向系统输入学生姓名,学号。2.32.3 性能需求性能需求在运行本程序时只要按照正确的操作方法不

4、会出现无法运行的情况,系统早操学分统计系统2稳定性好,安全,可靠。3. 总体设计总体设计3.13.1 功能模块设计功能模块设计根据分析整个系统主要划分为 7 个功能模块,分别执行要求中的功能。该系统需要有添加,删除,查询,修改, ,循环显示主菜单,保存信息功能,能利用显示函数将学生早操信息显示。要求有循环显示菜单工能。功能模块图如图1 所示。早操学分统计程序插入新学生签到查看学分未修满学生按学期查看浏览学生信息退出保存图图 1 1 功能模块图功能模块图(1) 插入新学生模块添加新学生进入程序;(2) 签到模块对学生早操签到;(3) 查看学分未修满学生信息模块查看学分未修满的学生;(4) 浏览学

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

6、t();/未修满学分 void an(); / 按学期查看模块void save(); /保存 void read(); /读取 void qian(); /迁到void wei(); /*续存机时信息*/4.4. 详细设计详细设计 4.1 插入新学生早操学分统计系统4开始inty,a=1,n; save();read()i=min请请输输入入学学号号+in=0nma=0sn.num=y si.num=y; m+结束ynyynn图图 1 1 插入新学生流程图插入新学生流程图4.24.2 签到模块签到模块早操学分统计系统5开始inti,j=0,k,lread()请输入学号(输入0退出):请输入学

7、期(1-8,输入0退出)i=0i59si.fenl-1=0.5si.cil-1=si.cil-1+1j=0抱歉!没有这个学生结束i+ynynynynyn早操学分统计系统6图图 2 2 签到流程图签到流程图4.34.3 查看学分未修满学生模块查看学分未修满学生模块 开始 int i;read()i=0imsi.zong=si.fen0+si.fen1+si.fen2+si.fen3+si.fen4+si.fen5+si.fen6+si.fen7i+i=0imsi.zong2未修满学分学生i+结束ynynyn早操学分统计系统7 图图 6 6 显示未满学生显示未满学生4.4 按学期查看模块开始int

8、 i,j请输入学期i=0im学号为%d的学生,签到%d次第%-d学期学分为i+结束yn图图 4 4 按学期显示流程图按学期显示流程图4.54.5 浏览学生信息模块浏览学生信息模块早操学分统计系统8开始int j,ii=0im学号为j=0j8第%-d学期学分为j+i+结束ynyn图图 5 5 查看全部流程图查看全部流程图早操学分统计系统9开始 int i;read()i=0imsi.zong=si.fen0+si.fen1+si.fen2+si.fen3+si.fen4+si.fen5+si.fen6+si.fen7i+i=0imsi.zong2未修满学分学生i+结束ynynyn图图 6 6 显

9、示未满学生显示未满学生早操学分统计系统105.5. 调试调试与测试与测试5.15.1 调试调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍。(1) 运行完程序一次有错误提醒原因是上次运行程序后没有关

10、闭操作界面当点击编译时会有一个错误提示,解决方法:将上一次运行时的操作界面关闭。(1) 程序不能运行程序运行到添加新学生时自动提示错误需要调试,其原因是指针指向的位置出现错误导致程序传参错乱无法运行,解决办法:使程序进入调试状态在传参出现错误的位置一句一句查找传递的参数是否是你所希望的,如若不是就加以修正。5.25.2 测试测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程” 。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(

11、即输入数据及其预期的输出结果) ,并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。早操学分统计系统116.6. 结论结论课程设计顺利完成,任务书中所提出的要求全部实现,可以对学生早操进行管理。不过这个程序还有些不够完善,例如:会显示所有学生信息,这样非常占用操作界面,使操作不是十分清晰;改进方式:调用一个可以判断学号的函数,如果输入位数不合法则提出警告重新输入。结束语结束语为期两个礼拜的计算机综合训练终于顺利完成,在这期间真正的学到了一些经验,能够熟练的掌握一些 c 语言的编程思路,能够熟练的运用学到的函数,

12、学会了在曾经编写过的函数上加以修改实现了我期望实现的功能,知道学习编程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一些理论中学不到的知识,这才达到了实践的目的,当程序编写完成而且能够正常运行心里一种说不出的自豪感,虽然这对于一名程序员来说可能什么也不是,但这是我编程的开始,如果希望在编程这方面能够有所发展我所要走过的路还很长,还需要不断的学习!学习!参考文献参考文献 1 谭浩强. c 语言程序设计(第三版).北京:清华大学出版社2 林碧英. c 语言程序设计教程.中国电力出版社,2006 3 美赫伯特.希尔特,王子恢等译.c 语言大全.电子工业出版社,2003 4 江灵芝,余健.c

13、语言课程设计案例精编.清华大学出版社,2008早操学分统计系统12附录附录 1 1用户手册用户手册点击运行,首先出现的是菜单界面,选择菜单选项进行操作,可进行如图7 所示。图图 7 7 菜单界面菜单界面点“1 后按回车”即进行插入新学生的操作,在添加完所有信息输入 0n结束添加如图 8 所示。早操学分统计系统13图图 8 8 插入新学生界面插入新学生界面输入 2 后点击回车执行签到的操作,如图 9 所示图图 9 9 签到界面签到界面签到操作,如图 10 所示早操学分统计系统14图图 1010 签到界面签到界面输入 3 后点击回车进行查看未修满学生的操作。如图 12 所示图图 1111 未修满学

14、生界面未修满学生界面输入 4 后点击回车进行按学期查看操作。如图 12 所示图图 1212 按学期查看界面按学期查看界面早操学分统计系统15输入 5 后点击回车进行浏览学生信息系操作。如图 13 所示图图 1313 浏览学生信息界面浏览学生信息界面输入 0 后点击回车进行退出操作。如图 14 所示图图 1414 退出界面退出界面早操学分统计系统16附录附录 2 2源程序源程序#include /*标准输入、输出头文件*/#include /*包含字符串函数处理头文件*/#include /*包含动态存储与释放函数头文件*/#define n 999struct stu /*定义结构体数组*/

15、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.查看学分未修满学生 nn 4.按学

16、期查看 nn 5.浏览学生信息 nn 0.退出 nn); printf(*n); printf(请选择:nn); scanf(%d,&j);早操学分统计系统17 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);/*主函数结束*/-/-vo

17、id 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; 早操学分统计系统18 si.num=y; m+ ; save();/*将结构体信息存盘*/ if(a=0) si=sm-1; printf(第%d 个信息的学号重复!nn,m); printf(=n); m-; save();/

18、*将结构体信息存盘*/ 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(_早操学分统计系统19_n);printf(n 学号为%d 的学生,签到%d 次:n,si.num,si.cij-1); pr

19、intf(第%-d 学期学分为%fn,j,si.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();/-早操学分统计系统20/-void qian() /*签到*/int i,j=0,k,l;read

20、(); while(1) printf(请输入学号(输入 0 退出):);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;早操学分统计系统21save(); save();/-/-void wei() /*显示未满学生信息*/int i;read();for(i=0;im;i+)si.zong=si.fen0+si.fen1+si.fen2+si.fen3+si.fen4+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(创建文件失败

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论