




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录第一章 课程设计目的和要求 11.1 课程设计的目的 11.2 课程设计实现的要求 1第二章 课程设计任务内容 2第三章 详细设计说 33.1 模块 33.1.1 模块描述 33.1.2 功能模块图 33.2 性能 43.3 函数说明 43.3.1 学生信息录入函数 43.3.2 所有学生上机费用计算函数 63.3.3 学生信息查询函数 83.4 系统流程图 11第四章 软件使用说明 124.1 软件使用说明及出现的问题 124.2 运行结果 124.2.1 初始运行界面 124.2.2 查询界面 134.2.3 计算界面 13第五章 课程设计心得与体会 14附录一 参考文献 15附录二 程序清单 1621程序设计综合课程设计机房收费管理系统第一章 课程设计目的和要求1.1 课程设计的目的 进一步巩固C+程序设计所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C+ 语言解决实际问题的能力,为以后后续课程的学习打好基础。此课程设计着眼于知识的运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程软件(如:Microsoft Visual C+ 6.0),对我们所学的理论知识进一步的深化。1.2 课程设计实现的要求在程序设计中,既可以用传统的结构化程序设计方法,也可以用先进的面向对象程序设计方法。机房收费管理系统主要应用在机房,将每位上网同学的学号、班级、姓名、上机起始时进行录入,对每位同学的上网费用进行计算并按班级、学号、姓名进行查询。第二章 课程设计任务内容用C/C+语言实现一个机房收费管理系统,该系统主要应用在机房管理上,通过这个系统可以录入学生信息的总数,学生信息包括学生的学号、班级、姓名,还有学生上机的起始时间。在本程序中要有学生信息录入功能,上机费用计算功能,按条件查询功能,信息的录入是要录入学生的学号、班级、姓名、上机时间,上机费用按每小时1元计算,不足一小时也按一小时计算,上机费用=上机的时间*1.0/h,上机的时间为从上机时起到下机时所在电脑的当时时间为准。录入完成后可以按学生的学号、班级、姓名来查询学生的上机情况。第三章 详细设计说明3.1 模块3.1.1 模块描述定义一个结构体,在其中声明结构变量,然后定义字符串,来存放要用到的变量。然后定义此程序的其他功能模块的原型。主函数调用各个功能子函数,定义各个功能子函数,通过 addition做一个学生信息录入的函数,实现学生学号、班级、姓名以及上机时间的录入,通过calculate做一个计算学生上机费用的函数,实现上机费用的计算,通过search创建一个查询函数,实现对上机学生情况的查询。在程序中需要输入的内容包括:(1)学生信息的录入实现过程:根据提示选择“1”进入学生信息录入界面,按界面文字提示输入要录入信息的学生数,按步骤输入学生的信息,以“Enter”键结束,系统自动保存所输入的信息。(2)上机费用的计算实现过程:根据提示选择“2”进入计算界面,以“Enter”键结束,由系统自动计算出所有学生的上机费用。(3)学生信息查询实现过程:根据提示选择“3”进入信息的查询界面,按自己的需要通过学生的学号、班级、姓名来查询学生的信息,系统自动调出所查询学生的信息,以“Enter”键结束,此时所有的基本信息都被要求重新输入。3.1.2 功能模块图此系统的函数功能模块图如图3-1所示。机房收费管理系统学生信息的录入学生上机费用的计算某个同学上机费用查询图3-1 函数功能模块图3.2 性能该模块性能要求(1)灵活性要求输出的数据能准确的按照操作代码输出。(2)时间特性要求输入的各项操作代码能及时反应其运行结果。 3.3 函数说明3.3.1 学生信息录入函数(1)原型:void addition()(2)功能:该函数用来录入学生信息,包括要录入学生信息的总数,录入学生的学号、班级、姓名以及上机时间。 (3)流程图:如图3-2所示。开始 i=1i=n输入第i个学生的学号假真输入第i个学生的班级录入学生信息输入第i个学生的上机时间i+结束输入第i个学生的姓名 3-2学生信息录入函数的流程图(4)对应代码void addition() int i; printf(n请输入录入学生信息的总数:); scanf(%d,&n); for(i=1;i=n;i+) printf(nt请输入第%d个学生学号:,i); scanf(%s,studenti-1.num); printf(nt请输入第%d个学生班级:,i); scanf(%s,studenti-1.theclass); printf(nt请输入第%d个学生姓名:,i); scanf(%s,); printf(nt请输入第%d个学生上机时间(例08:00):,i); scanf(%s,studenti-1.ontime); printf(nt提示:您已成功录入第%d条信息n,i); 3.3.2 所有学生上机费用计算函数(1)原型:void calculate()(2)功能:该函数用来计算学生上机的费用,(3)流程图:如图3-3所示。开始 i=1假i=n真输出第i个学生的费用假上机总时间是否不足一小时真上机费用=上机时间*1上机费用=上机的整时间*1+1 i+ 结束图3-3 成绩查询函数的程序流程图(4)对应代码void calculate() int hours; char times30; time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo); printf(t所有学生上机费用如下:n); for(int i=1;i(times14-48)*10+times15) hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-studenti-1.ontime1; else hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-studenti-1.ontime1+1; printf(%dn,hours); 3.3.3 学生信息查询函数(1)原型:void search()(2)功能:该函数用来按照条件显示学生上机时间。(3)流程图:如图3-4所示。开始 输出请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询:分别按学生的学号、班级、姓名查询假1、继续0、返回主菜单真结束图3-4 成绩修改函数的程序流程图(4)对应代码void search() int i,b,c,count; do char find20; printf(n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询:); scanf(%d,&b); switch(b) case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(n请输入学生的学号:); scanf(%s,find); for(i=0;in;i+) if (strcmp(studenti.num,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED) printf(学生学号t学生班级t学生姓名t上机时间n); printf(%8s%15s%15s%17s%,studenti.num,studenti.theclass, ,studenti.ontime); if(!count) printf(提示:该生不存在); goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(n请输入学生的班级:); scanf(%s,find); for(i=0;in;i+) if (strcmp(studenti.theclass,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED) printf(学生学号t学生班级t学生姓名t上机时间n); printf(%8s%15s%15s%17s%,studenti.num,studenti.theclass, ,studenti.ontime); if(!count) printf(提示:该生不存在); goto A; case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(n请输入学生的姓名:); scanf(%s,find); for(i=0;in;i+) if (strcmp(,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED) printf(学生学号t学生班级t学生姓名t上机时间n); printf(%8s%15s%15s%17s%,studenti.num,studenti.theclass, ,studenti.ontime); if(!count) printf(提示:该生不存在); goto A; default:printf(提示:输入错误); A:printf(nt1.继续nt0.返回主菜单); printf(nt 请输入您的选择:); scanf(%d,&c); while(c);3.4 系统流程图 开始系统流程图如图3-5所示。输入学生的基本信息(学号、班级、姓名、上机时间)列出一个操作目录选择要操作的编号21计算功能查询功能01退出程序按姓名查询按学号查询按班级查询23结束列出一个操作目录选择要操作的编号图3-5 系统程序流程图第四章 软件使用说明4.1 软件使用说明及出现的问题该程序可以实现对所有上机同学信息的录入,某个同学上机情况的查询。安装VisualC+6.0中文版后,在工具栏“文件”中单击“新建”选项,单击“文件”选项卡,选择“C+ Source file”。开始输入程序,程序输入完成,单击工具栏中“组建”选项,选择“编译机房收费管理系统.cpp”待程序无误后,开始构建并执行程序。if(!count) printf(提示:该生不存在); goto A;这个if语句判断输入的操作编号是否在目录中,如果超出范围重新输入;该程序在输入时,必须是按照要求的字符串输入,否则程序无法运行。4.2 运行结果4.2.1 初始运行界面最初的运行界面,要求输入学生信息的总数(如:输入 30),然后系统将列出操作目录。如图4-1所示。图4-1 初始运行界面4.2.2 查询界面进入初始界面后,输入项目编号“1”,输入学生信息的总数(例如:输入1)。输入这个学生的相关信息,输入相关编号“3”进行查询。如图4-2所示图4-2 查询界面 4.2.3 计算界面计算出上机费用,具体的数据如图4-3所示图4-3 计算界面 第五章 课程设计心得与体会课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,当今计算机应用在生活中可以说是无处不在。因此,作为二十一世纪的大学来说,掌握程序开发技术是十分重要的,而C/C+语言又是最常见,功能最强大的高级语言,做好C/C+语言课程设计是十分必要的。 回顾起此次课程设计,我感慨颇多。的确,从拿到题目到完成整个系统的编程,从理论到实践,在整整三周的日子里,我学会了很多东西,在巩固了以前所学过的知识的同时,我还学到了很多书本上所没有的东西。此次课程设计我做的是一个机房收费管理系统,该系统主要应用在机房管理上,内容包括上机学生信息的录入,某个学生上机显示的查询,某个学生上机费用的计算。虽然是很简单的一个小系统,但对我们初学者来说却是一个很大的困难,而在各种各样的问题下,我通过自己的努力,理论结合实践,最终完成了整个编程。在这次课程设计中,我深刻的了解到:第一,C/C+语言是程序设计的重要工具。如果想有效的进行程序设计,正确地应用程序设计语言表达算法,必须准确的运用程序设计语言,而C/C+语言是最常见的,也是功能最强大的语言。在做好程序设计的前提下,必须掌握C/C+语言的基本语言要素和其控制结构等语法知识,且灵活运用。第二,进行程序设计必须有清晰的思路与方法,要合理的分配勾画系统的功能模块图、构建各个函数的流程图、编写程序以及上机实践的时间。这次的课程设通过课堂教学、与自我实践的紧密联系,使得我对课程设计有了较为深的了解与认识,更好的完成了这次学习任务。第三,做好课程设计,要有顽强的意志与坚定的信心,永不言弃。要多看、多问、多想,遇到问题要想办法解决,否则事倍功半。在这期间,我们经历了很多,也收获了很多。经过这次课程设计,我学会了如何运用所学知识去解决实际问题,懂得了如何去与人合作!附录一:参考文献1谭浩强,C+程序设计,北京清华大学出版社2谭浩强,C程序设计教程(第三版),北京清华大学出版社附录二:程序清单#include #include#include#includestruct student char num20; char theclass20; char name20; char ontime20;student30;int n;void addition() int i; printf(n请输入录入学生信息的总数:); scanf(%d,&n); for(i=1;i=n;i+) printf(nt请输入第%d个学生学号:,i); scanf(%s,studenti-1.num); printf(nt请输入第%d个学生班级:,i); scanf(%s,studenti-1.theclass); printf(nt请输入第%d个学生姓名:,i); scanf(%s,); printf(nt请输入第%d个学生上机时间(例08:00):,i); scanf(%s,studenti-1.ontime); printf(nt提示:您已成功录入第%d条信息n,i); void calculate() int hours; char times30; time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo); printf(t所有学生上机费用如下:n); for(int i=1;i(times14-48)*10+times15) hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-studenti-1.ontime1; else hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-studenti-1.ontime1+1; printf(%dn,hours); void search() int i,b,c,count; do char find20; printf(n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询:); scanf(%d,&b); switch(b) case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(n请输入学生的学号:); scanf(%s,find); for(i=0;in;i+) if (strcmp(studenti.num,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED) printf(学生学号t学生班级t学生姓名t上机时间n); printf(%8s%15s%15s%17s%,studenti.num,studenti.theclass, ,studenti.ontime); if(!count) printf(提示:该生不存在); goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(n请输入学生的班级:); scanf(%s,find); for(i=0;in;i+) if (strcmp(studenti.theclass,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED) printf(学生学号t学生班级t学生姓名t上机时间n); printf(%8s%15s%15s%17s%,studenti.num,s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药店开药归谁管理制度
- 莆田小型仓库管理制度
- 薪酬管理体系管理制度
- 设备借用流程管理制度
- 设备实行集中管理制度
- 设备整机采购管理制度
- 设备点检维护管理制度
- 设备维护保养管理制度
- 设备防火安全管理制度
- 设计公司科室管理制度
- 2022-2023学年广东省广州市花都区四年级数学第二学期期末考试模拟试题含解析
- 星海音乐学院乐理试题A卷
- 2019年4月27日山东省纪委监委遴选公务员考试真题及答案
- ktv包房服务员岗位职责8篇
- 西安某大跨度钢桁架人行天桥结构设计分析
- 新疆全部及全国部分加气站分布情况6
- 初中学段劳动任务清单(七到九年级)
- 2023年中国各地磁偏角
- 六维领导力专题知识
- 【护士资格考试】云南省精神病医院模拟检测练习题
- 高温高压设备警示牌
评论
0/150
提交评论