资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章 课程设计目的和要求 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 查询界面124.2.3 计算界面13第五章课程设计心得与体会14附录一参考文献错误!未定义书签。附录二程序清单16机房收费管理系统第一章课程设计目的和要求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所示。3-2学生信息录入函数的流程图(4) 对应代码void addition。(int i;printf(n请输入录入学生信息的总数:);scanf(%d,&n);for(i=1;i=n;i+)printf(nt请输入第d个学生学号:,i);scanf(s,studentiT.num);printf(nt请输入第d个学生班级:,i);scanf(s,studentiT.theclass);printf(nt请输入第d个学生姓名:,i);scanf(s,studentiT.name);printf(nt请输入第%d个学生上机时间(例08:00):,i);scanf(s,studentiT.ontime);printf(nt提示:您已成功录入第%d条信息n,i); 3.3.2所有学生上机费用计算函数(1)原型:void calculate。(2)功能:该函数用来计算学生上机的费用,(3)流程图:如图3-3所示。图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;elsehours=(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所示。图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.name,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.name,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(studenti.name,find)=0)(count+;if(count=PF_FLOATING_POINT_EMULATED)printf(学生学号t学生班级t学生姓名t上机时间n);printf(8s%15s%15s%17s%,studenti.num,studenti.theclass, studenti.name,studenti.ontime);if(!count)printf(提示:该生不存在);goto A;default:printf( 提示:输入错误);A:printf(nt1.继续nt0.返回主菜单);printf(nt请输入您的选择:); scanf(%d,&c);while(c);3.4系统流程图系统流程图如图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所示请输入录入学生信息的总数”请输入第1个学生学号 青输
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号