版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\p""\h\z\u第一章课程设计目标和要求………………………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附录二程序清单……………………16机房收费管理系统课程设计目标和要求1.1课程设计目标深入巩固《C++程序设计》所学知识,尤其加强数组,指针,结构体,文件数据类型应用,熟悉面向过程结构化和面向对象可视化程序设计方法,培养结构化程序设计思想,加深对高级语言基础语言要素和控制结构了解,锻炼程序设计能力,和用C/C++语言处理实际问题能力,为以后后续课程学习打好基础。此课程设计着眼于知识利用,把日常学知识利用到课程实践中来,本身就是考察我们知识利用能力。要求熟悉利用部分编程软件(如:MicrosoftVisualC++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)原型:voidaddition()(2)功效:该函数用来录入学生信息,包含要录入学生信息总数,录入学生学号、班级、姓名和上机时间。(3)步骤图:图3-2所表示。开始开始i=1i<=n输入第i个学生学号假i=1i<=n输入第i个学生学号假真输入第i个学生班级录入学生信息输入第i个学生上机时间i++结束输入第i个学生姓名输入第i个学生上机时间i++结束输入第i个学生姓名(4)对应代码voidaddition(){inti;printf("\n请输入录入学生信息总数:");scanf("%d",&n);for(i=1;i<=n;i++){printf("\n\t请输入第%d个学生学号:",i);scanf("%s",student[i-1].num);printf("\n\t请输入第%d个学生班级:",i);scanf("%s",student[i-1].theclass);printf("\n\t请输入第%d个学生姓名:",i);scanf("%s",student[i-1].name);printf("\n\t请输入第%d个学生上机时间(例08:00):",i);scanf("%s",student[i-1].ontime);printf("\n\t提醒:您已成功录入第%d条信息\n",i);}}3.3.2全部学生上机费用计算函数(1)原型:voidcalculate()(2)功效:该函数用来计算学生上机费用,(3)步骤图:图3-3所表示。开始开始i=1i=1假i<=n假i<=n真真输出第i个学生费用输出第i个学生费用假上机总时间是否不足一小时假上机总时间是否不足一小时 真上机费用=上机时间*1上机费用=上机整时间*1+1真上机费用=上机时间*1上机费用=上机整时间*1+1i++i++结束结束图3-3成绩查询函数程序步骤图(4)对应代码voidcalculate(){inthours;chartimes[30];time_trawtime;structtm*timeinfo;time(&rawtime);timeinfo=localtime(&rawtime);strcpy(times,asctime(timeinfo));printf("\t全部学生上机费用以下:\n");for(inti=1;i<=n;i++){printf("学生%d费用:",i);if((student[i-1].ontime[3]-48)*10+student[i-1].ontime[4]>(times[14]-48)*10+times[15])hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1];elsehours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1;printf("%d\n",hours);}}3.3.3学生信息查询函数(1)原型:voidsearch()(2)功效:该函数用来根据条件显示学生上机时间。(3)步骤图:图3-4所表示。开始开始输出请选择查询方法:1.依据学号查询;2.依据班级查询;3.依据姓名查询输出请选择查询方法:1.依据学号查询;2.依据班级查询;3.依据姓名查询:分别按学生学号、班级、姓名查询分别按学生学号、班级、姓名查询假1、继续0、返回主菜单假1、继续0、返回主菜单真真结束结束图3-4成绩修改函数程序步骤图(4)对应代码voidsearch(){inti,b,c,count;do{charfind[20];printf("\n请选择查询方法:1.依据学号查询;2.依据班级查询;3.依据姓名查询:");scanf("%d",&b);switch(b){case1:count=PF_FLOATING_POINT_PRECISION_ERRATA;printf("\n请输入学生学号:");scanf("%s",find);for(i=0;i<n;i++){if(strcmp(student[i].num,find)==0){count++;if(count==PF_FLOATING_POINT_EMULATED)printf("学生学号\t学生班级\t学生姓名\t上机时间\n");printf("%8s%15s%15s%17s%",student[i].num,student[i].theclass,student[i].name,student[i].ontime);}}if(!count)printf("提醒:该生不存在");gotoA;case2:count=PF_FLOATING_POINT_PRECISION_ERRATA;printf("\n请输入学生班级:");scanf("%s",find);for(i=0;i<n;i++){if(strcmp(student[i].theclass,find)==0){count++;if(count==PF_FLOATING_POINT_EMULATED)printf("学生学号\t学生班级\t学生姓名\t上机时间\n");printf("%8s%15s%15s%17s%",student[i].num,student[i].theclass,student[i].name,student[i].ontime);}}if(!count)printf("提醒:该生不存在");gotoA;case3:count=PF_FLOATING_POINT_PRECISION_ERRATA;printf("\n请输入学生姓名:");scanf("%s",find);for(i=0;i<n;i++){if(strcmp(student[i].name,find)==0){count++;if(count==PF_FLOATING_POINT_EMULATED)printf("学生学号\t学生班级\t学生姓名\t上机时间\n");printf("%8s%15s%15s%17s%",student[i].num,student[i].theclass,student[i].name,student[i].ontime);}}if(!count)printf("提醒:该生不存在");gotoA;default:printf("提醒:输入错误");}A:printf("\n\t1.继续\n\t0.返回主菜单");printf("\n\t请输入您选择:");scanf("%d",&c);}while(c);}3.4系统步骤图开始系统步骤图图3-5所表示。开始输入学生基础信息(学号、班级、姓名、上机时间)输入学生基础信息(学号、班级、姓名、上机时间)列出一个操作目录列出一个操作目录选择要操作编号2121计算功效查询功效计算功效查询功效0101退出程序按姓名查询按学号查询按班级查询23退出程序按姓名查询按学号查询按班级查询23结束列出一个操作目录选择要操作编号结束列出一个操作目录选择要操作编号图3-5系统程序步骤图软件使用说明4.1软件使用说明及出现问题该程序能够实现对全部上机同学信息录入,某个同学上机情况查询。安装VisualC++6.0汉字版后,在工具栏“文件”中单击“新建”选项,单击“文件”选项卡,选择“C++Sourcefile”。开始输入程序,程序输入完成,单击工具栏中“组建”选项,选择“编译[机房收费管理系统.cpp]”待程序无误后,开始构建并实施程序。if(!count)printf("提醒:该生不存在");gotoA;这个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<time.h>#include<stdio.h>#include<string.h>#include<Windows.h>structstudent{charnum[20];chartheclass[20];charname[20];charontime[20];}student[30];intn;voidaddition(){inti;printf("\n请输入录入学生信息总数:");scanf("%d",&n);for(i=1;i<=n;i++){printf("\n\t请输入第%d个学生学号:",i);scanf("%s",student[i-1].num);printf("\n\t请输入第%d个学生班级:",i);scanf("%s",student[i-1].theclass);printf("\n\t请输入第%d个学生姓名:",i);scanf("%s",student[i-1].name);printf("\n\t请输入第%d个学生上机时间(例08:00):",i);scanf("%s",student[i-1].ontime);printf("\n\t提醒:您已成功录入第%d条信息\n",i);}}voidcalculate(){inthours;chartimes[30];time_trawtime;structtm*timeinfo;time(&rawtime);timeinfo=localtime(&rawtime);strcpy(times,asctime(timeinfo));printf("\t全部学生上机费用以下:\n");for(inti=1;i<=n;i++){printf("学生%d费用:",i);if((student[i-1].ontime[3]-48)*10+student[i-1].ontime[4]>(times[14]-48)*10+times[15])hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1];elsehours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1;printf("%d\n",hours);}}voidsearch(){inti,b,c,count;do{charfind[20];printf("\n请选择查询方法:1.依据学号查询;2.依据班级查询;3.依据姓名查询:");scanf("%d",&b);switch(b){case1:count=PF_FLOATING_POINT_PRECISION_ERRATA;printf("\n请输入学生学号:");scanf("%s",find);for(i=0;i<n;i++){if(strcmp(student[i].num,find)==0){count++;if(count==PF_FLOATING_POINT_EMULATED)printf("学生学号\t学生班级\t学生姓名\t上机时间\n");printf("%8s%15s%15s%17s%",student[i].num,student[i].theclass,student[i].name,student[i].ontime);}}if(!count)printf("提醒:该生不存在");gotoA;case2:count=PF_FLOATING_POINT_PRECISION_ERRATA;printf("\n请输入学生班级:");scanf("%s",find);for(i=0;i<n;i++){if(strcmp(student[i].theclass,find)==0){count++;if(count==PF_FLOATING_POINT_EMULATED)printf("学生学号\t学生班级\t学生姓名\t上机时间\n");printf("%8s%15s%15s%17s%",student[i].num,student[i].theclass,student[i].name,student[i].ontime);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《外国文学(1)》2021-2022学年第一学期期末试卷
- 淮阴师范学院《中学美术学科教学论》2022-2023学年第一学期期末试卷
- 淮阴师范学院《形势与政策(4)》2022-2023学年第一学期期末试卷
- 淮阴工学院《思想道德修养与法律基础》2021-2022学年期末试卷
- DB4414T+34-2024黑皮鸡枞菌栽培技术规程
- DB2310-T 145-2024红松幼林间作桂皮紫萁栽培技术规程
- 废弃资源综合利用的金融与保险业考核试卷
- 畜牧业与农村贫困地区的扶贫问题考核试卷
- 借助人物塑造手法分析人物形象-托尔斯泰《复活(节选)》讲义及练习
- 电池废弃资源综合利用的回收再利用方案考核试卷
- 氢燃料电池课件
- 加班审批表完
- 脑梗塞诊断与鉴别诊断
- 三年级上册第二单元日记 25篇
- 办公耗材采购 投标方案(技术方案)
- 29、顾客意见簿(表029)
- 石油和天然气储存行业物联网与智能化技术
- 《跟上兔子》绘本四年级第1季Home-Is-Best课件
- 全频段无线通信技术
- HSS评分(膝关节评分)
- 公园广场保洁管理服务投标方案
评论
0/150
提交评论