目 录
第一章 课程设计目的和要
求……………………………………………………………………… 2
1.1 课程设计的目
的…………………………………………………………………………… 2
1.2 课程设计实现的要
求……………………………………………………………………… 2
第二章 课程设计任务内
容………………………………………………………………………… 3
第三章 详细设计
说………………………………………………………………………………… 4
3.1 模
块………………………………………………………………………………………… 4 模块描述……………………………………………………………………………… 4 功能模块图…………………………………………………………………………… 5
3.2 性
能………………………………………………………………………………………… 6
3.3 函数说
明…………………………………………………………………………………… 6 学生信息录入函数…………………………………………………………………… 6 所有学生上机费用计算函数………………………………………………………… 8 学生信息查询函数…………………………………………………………………… 10
3.4 系统流程
图……………………………………………………………………………… 13
第四章 软件使用说
明……………………………………………………………………………… 14
4.1 软件使用说明及出现的问
题………………………………………………………… 14
4.2 运行结
果……………………………………………………………………………… 14 初始运行界面…………………………………………………………………… 14 查询界面………………………………………………………………………… 15 计算界面………………………………………………………………………… 15
第五章 课程设计心得与体
会……………………………………………………………………… 16
附录一 参考文
献…………………………………………………………………………………… 错误!
未定义书签。 附录二 程序清
单…………………………………………………………………………………… 18
机房收费管理系统
第一章 课程设计目的和要求
1.1 课程设计的目的
进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++ 语言解决实际问题的能力,为以后后续课程的学习打好基础。
此课程设计着眼于知识的运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程软件(如:Microsoft Visual C++ 6.0),对我们所学的理论知识进一步的深化。
程序设计综合课程设计
1.2 课程设计实现的要求
在程序设计中,既可以用传统的结构化程序设计方法,也可以用先进的面向对象程序设计方法。机房收费管理系统主要应用在机房,将每位上网同学的学号、班级、姓名、上机起始时进行录入,对每位同学的上网费用进行计算并按班级、学号、姓名进行查询。
第二章 课程设计任务内容
用C/C++语言实现一个机房收费管理系统,该系统主要应用在机房管理上,通过这个系统可以录入学生信息的总数,学生信息包括学生的学号、班级、姓名,还有学生上机的起始时间。在本程序中要有学生信息录入功能,上机费用计算功能,按条件查询功能,信息的录入是要录入学生的学号、班级、姓名、上机时间,上机费用按每小时1元计算,不足一小时也按一小时计算,上机费用=上机的时间*1.0/h,上机的时间为从上机时起到下机时所在电脑的当时时间为准。录入完成后可以按学生的学号、班级、姓名来查询学生的上机情况。
程序设计综合课程设计
第三章 详细设计说明
3.1 模块
模块描述
定义一个结构体,在其中声明结构变量,然后定义字符串,来存放要用到的变量。然后定义此程序的其他功能模块的原型。主函数调用各个功能子函数,定义各个功能子函数,通过 addition做一个学生信息录入的函数,实现学生学号、班级、姓名以及上机时间的录入,通过calculate做一个计算学生上机费用的函数,实现上机费用的计算,通过search创建一个查询函数,实现对上机学生情况的查询。在
程序设计综合课程设计
程序中需要输入的内容包括:
(1)学生信息的录入
实现过程:根据提示选择“1”进入学生信息录入界面,按界面文字提示输入要录入信息的学生数,,按步骤输入学生的信息,以“Enter”键结束,系统自动保存所输入的信息。
(2)上机费用的计算
实现过程:根据提示选择“2”进入计算界面,以“Enter”键结束,由系统自动计算出所有学生的上机费用。
(3)学生信息查询
实现过程:根据提示选择“3”进入信息的查询界面,按自己的需要通过学生的学号、班级、姓名来查询学生的信息,系统自动调出所查询学生的信息,以“Enter”键结束,此时所有的基本信息都被要求重新输入。
功能模块图
此系统的函数功能模块图如图3-1所示。
机房收费学生信息学生上机费某个同学上
程序设计综合课程设计
图3-1 函数功能模块图
3.2 性能
该模块性能要求 (1)灵活性要求
输出的数据能准确的按照操作代码输出。 (2)时间特性要求
输入的各项操作代码能及时反应其运行结果。
3.3 函数说明
3.3.1 学生信息录入函数
(1)原型:void addition()
(2)功能:该函数用来录入学生信息,包括要录入学生信息的总数,录入学生的学号、班级、姓名以及上机时间。 (3)流程图:如图3-2所示。
开程序设计综合课程设计
录入学i假 i<真 输入第i个输入第i个输入第i个学输入第i个学i+结3-2学生信息录入函数的流程图
(4)对应代码 void addition() { int i;
printf(\"\\n请输入录入学生信息的总数:\"); scanf(\"%d\ for(i=1;i<=n;i++)
程序设计综合课程设计
{
printf(\"\\n\请输入第%d个学生学号:\ scanf(\"%s\
printf(\"\\n\请输入第%d个学生班级:\ scanf(\"%s\ printf(\"\\n\请输入第%d个学生姓名:\ scanf(\"%s\
printf(\"\\n\请输入第%d个学生上机时间(例08:00):\ scanf(\"%s\
printf(\"\\n\提示:您已成功录入第%d条信息\\n\ } }
3.3.2 所有学生上机费用计算函数
(1)原型:void calculate()
(2)功能:该函数用来计算学生上机的费用, (3)流程图:如图3-3所示。
开i假 i<真 输出第i个 上机总时间是假
程序设计综合课程设计
真 上机费用=上机上机费用=i+
(4)对应代码 void calculate() {
int hours; char times[30]; time_t rawtime; struct tm * timeinfo; time ( &rawtime );
timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo)); printf(\"\所有学生上机费用如下:\\n\"); for(int i=1;i<=n;i++) {
printf(\"学生%d费用:\
结图3-3 成绩查询函数的程序流程图
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]; else
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1;
程序设计综合课程设计
printf(\"%d\\n\ } }
3.3.3 学生信息查询函数
(1)原型:void search()
(2)功能:该函数用来按照条件显示学生上机时间。 (3)流程图:如图3-4所示。
开输出请选择查询方式:1.根据学号查分别按学生的学号、假 1、继续0、返回真 结图3-4 成绩修改函数的程序流程图
(4)对应代码 void search() {
int i,b,c,count; do {
char find[20];
printf(\"\\n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查
程序设计综合课程设计
询:\");
scanf(\"%d\ switch(b) { case 1:
count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的学号:\"); scanf(\"%s\ for(i=0;i count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } if(!count) printf(\"提示:该生不存在\"); goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的班级:\"); scanf(\"%s\ for(i=0;i { 程序设计综合课程设计 count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } if(!count) printf(\"提示:该生不存在\"); goto A; case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的姓名:\"); scanf(\"%s\ for(i=0;i count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } if(!count) printf(\"提示:该生不存在\"); goto A; default:printf(\"提示:输入错误\"); 程序设计综合课程设计 } A:printf(\"\\n\1.继续\\n\0.返回主菜单\"); printf(\"\\n\ 请输入您的选择:\"); scanf(\"%d\ }while(c); } 3.4 系统流程图 系统流程图如图3-5所示。 开输入学生的基本信息(学号、列出一个操1 计算1 按学号按3 2 班级 2 查询0 按姓名结退出列出一个操作目录选图3-5 系统程序流程图 程序设计综合课程设计 第四章软件使用说明 4.1 软件使用说明及出现的问题 该程序可以实现对所有上机同学信息的录入,某个同学上机情况的查询。 安装VisualC++6.0中文版后,在工具栏“文件”中单击“新建”选项,单击“文件”选项卡,选择“C++ Source file”。开始输入程序,程序输入完成,单击工具栏中“组建”选项,选择“编译[机房收费管理系统.cpp]”待程序无误后,开始构建并执行程序。 if(!count) printf(\"提示:该生不存在\"); goto A; 这个if语句判断输入的操作编号是否在目录中,如果超出范围重新输入; 该程序在输入时,必须是按照要求的字符串输入,否则程序无法运行。 4.2 运行结果 初始运行界面 最初的运行界面,要求输入学生信息的总数(如:输入 30),然后系统将列出操作目录。如图4-1所示。 图4-1 初始运行界面 程序设计综合课程设计 查询界面 进入初始界面后,输入项目编号“1”,输入学生信息的总数(例如:输入1)。输入这个学生的相关信息,输入相关编号“3”进行查询。如图4-2所示 图4-2 查询界面 计算界面 计算出上机费用,具体的数据如图4-3所示 图4-3 计算界面 程序设计综合课程设计 第五章 课程设计心得与体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,当今计算机应用在生活中可以说是无处不在。因此,作为二十一世纪的大学来说,掌握程序开发技术是十分重要的,而C/C++语言又是最常见,功能最强大的高级语言,做好C/C++语言课程设计是十分必要的。 回顾起此次课程设计,我感慨颇多。的确,从拿到题目到完成整个系统的编程,从理论到实践,在整整三周的日子里,我学会了很多东西,在巩固了以前所学过的知识的同时,我还学到了很多书本上所没有的东西。 此次课程设计我做的是一个机房收费管理系统,该系统主要应用在机房管理上,内容包括上机学生信息的录入,某个学生上机显示的查询,某个学生上机费用的计算。虽然是很简单的一个小系统,但对我们初学者来说却是一个很大的困难,而在各种各样的问题下,我通过自己的努力,理论结合实践,最终完成了整个编程。 在这次课程设计中,我深刻的了解到:第一,C/C++语言是程序设计的重要工具。如果想有效的进行程序设计,正确地应用程序设计语言表达算法,必须准确的运用程序设计语言,而C/C++语言是最常见的,也是功能最强大的语言。在做好程序设计的前提下,必须掌握C/C++语言的基本语言要素和其控制结构等语法知识,且灵活运用。第二,进行程序设计必须有清晰的思路与方法,要合理的分配勾画系统的功能模块图、构建各个函数的流程图、编写程序以及上机实践的时间。这次的课程设通过课堂教学、与自我实践的紧密联系,使得我对课程设计有了较为深的了解与认识,更好的完成了这次学习任务。第三,做好课程设计,要有顽强的意志与坚定的信心,永不言弃。要多看、多问、多想,遇到问题要想办法解决,否则事倍功半。 在这期间,我们经历了很多,也收获了很多。经过这次课程设计,我学会了如何运用所学知识去解决实际问题,懂得了如何去与人合作! 程序设计综合课程设计 附录一:参考文献 [1]谭浩强,C++程序设计,北京清华大学出版社 [2]谭浩强,C程序设计教程(第三版),北京清华大学出版社 程序设计综合课程设计 附录二:程序清单 #include char num[20]; char theclass[20]; char name[20]; char ontime[20]; }student[30]; int n; void addition() { int i; printf(\"\\n请输入录入学生信息的总数:\"); scanf(\"%d\ for(i=1;i<=n;i++) { printf(\"\\n\请输入第%d个学生学号:\ scanf(\"%s\ printf(\"\\n\请输入第%d个学生班级:\ scanf(\"%s\ printf(\"\\n\请输入第%d个学生姓名:\ scanf(\"%s\ 程序设计综合课程设计 printf(\"\\n\请输入第%d个学生上机时间(例08:00):\ scanf(\"%s\ printf(\"\\n\提示:您已成功录入第%d条信息\\n\ } } void calculate() { int hours; char times[30]; time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo)); printf(\"\所有学生上机费用如下:\\n\"); for(int i=1;i<=n;i++) { printf(\"学生%d费用:\ 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]; else hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1; printf(\"%d\\n\ 程序设计综合课程设计 } } void search() { int i,b,c,count; do { char find[20]; printf(\"\\n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询:\"); scanf(\"%d\ switch(b) { case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的学号:\"); scanf(\"%s\ for(i=0;i count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } 程序设计综合课程设计 if(!count) printf(\"提示:该生不存在\"); goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的班级:\"); scanf(\"%s\ for(i=0;i count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } if(!count) printf(\"提示:该生不存在\"); goto A; case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\"\\n请输入学生的姓名:\"); scanf(\"%s\ for(i=0;i count++; 程序设计综合课程设计 if(count==PF_FLOATING_POINT_EMULATED) printf(\"学生学号\学生班级\学生姓名\上机时间\\n\"); printf(\"%8s%15s%15s%17s%\ student[i].name,student[i].ontime); } } if(!count) printf(\"提示:该生不存在\"); goto A; default:printf(\"提示:输入错误\"); } A:printf(\"\\n\1.继续\\n\0.返回主菜单\"); printf(\"\\n\ 请输入您的选择:\"); scanf(\"%d\ }while(c); } void menu() { printf(\"\\n\ 欢迎进入机房收费管理系统! \\n\"); printf(\"\ 1.录入功能 2.\\n\"); printf(\"\ 3.查询功能 0. printf(\"\\n\ 请输入您的选择:\"); } void main() { int a; 计算功能 返回 \\n\"); 程序设计综合课程设计 C:menu(); scanf(\"%d\ switch(a) { case 0:printf(\"==正在退出==下机成功,再见!\");break; case 1:addition();goto C; case 2:calculate();goto C; case 3:search();goto C; } }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务