机房收费c课程设计.doc_第1页
机房收费c课程设计.doc_第2页
机房收费c课程设计.doc_第3页
机房收费c课程设计.doc_第4页
机房收费c课程设计.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

东华理工大学课程设计报告目录一、概述11.1 研究的背景与意义11.2 设计的任务与需要的知识点11.3 具体完成的设计内容1二、程序设计与介绍2 2.1设计思路2 2.2功能要求2 2.2.1登录模块4 2.2.2查询模块4 2.2.3结账模块4 2.3系统模块关系图4 2.4程序代码5 2.5 运行结果9三、总结与体会11四、参考文献13五、评分标准141、 概述1.1研究的背景与意义随着科技的飞速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学校、单位等的各项事务进行科学化的管理有着无法比拟的优点。例如:查找方便、迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校、单位等的工作效率,也是未来发展的管理科学化、正规化并与世界接轨的重要条件。计算机程序设计语言是人与计算机交流的工具,可以说没有程序设计语言和程序设计,计算机就是一台废物。也就是说,程序(软件)是计算机的必要组成部分。计算机首先是要求人们不间断地在程序设计上付出大量的创造性劳动,然后才能享受到它的服务。进一步培养结构化程序设计的思想,加深对高级系统语言基本语言要素和控制结构的理解,针对C+语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。此课程设计着眼于知识的运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程软件,对我们所学的理论知识进一步的深化。1.2设计的任务与需要的知识点我们利用这个小程序来进行对学生上网的计费,达到智能化操作节省人力的使用。用C+语言进行编程设计一个程序使达到我们的目的。我们需要熟悉C+语言的各种头文件和各种符号、语句代表的含义作用,这样我们才能够运用C+语言进行编程。当然这些了解是不仅仅够的。我们必须十分清楚并且对他已经有过详细认真的学习。我们还要知道一定的逻辑算法。为了更简单运行,我们还需要忽略次要的条件。1.3 具体完成的设计内容A、首先完成对学生各种信息的录入。像学生的学号,班级,姓名。给予计算机有选择性的允许学生上网的依据,达到特别人性化的结果。B、弹出界面让学生选择上网验证方式系统,然后计算机做出判断该学生是否符合上网条件,让学校资源合理利用。C、程序弹出对话框让学生能够输入开始上网时间以便程序能够记忆然后运行运算,程序开始计时。 D、学生在使用计算机的同时程序提供非常方便和智能化的窗口让学生能够查询自己的上机时间,以便学生做出合理的上网。E、学生选择下机并同时输入自己的下机时间。F、系统计时并计算上网费用。学生下机成功。2、 程序设计与介绍2.1设计思路 可以知道只要是东华理工大学的教师、学生等持有认可账号的人如果进入机房上网。首先需要登入进去使计算机能够工作。并与此判断进入的人是否有资格使用机房的电脑。如果检查通过则可以进入计算机,如果检查没有通过,则计算机不反应。计算机一旦被进入操作则同时开始计时功能,机房设置好上网价格,其中没有满一个小时也记一个小时计费。然后操作者要下机时打开自己登入的页面点击下机,则此时系统自动把费用计算出来并进行扣费功能操作。具体步骤如下:需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。在计算功能方面,需要计算出每个学生的上机所用的费用。在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。在设计工程中,把每个功能使用自定义函数的方式书写,并最后用switch语句在主函数中调用,使用模块化设计的总体思路。 2.2系统功能描述为了实现项目目标,系统必须实现相应的功能。(1)登录功能:学生自助输入学生的学号、班级、姓名,系统自动获取上机开始时间并保存到服务器中的数据库中并开始上网计时。管理员通过登录服务器端与数据文件链接记录输入30名学生上机的信息;(2)计算功能:计算每个下机学生的上机费用,每小时1元。可以由数据库自带函数自动获得系统时间实现学生上网计时收费(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算); (3)查询功能:按条件查询显示学生的上机时间消费金额以及机房每或天每月收支情况;(4)机器使用情况的显示(显示方式不限但要一目了然);(5)结账功能:通过asp编程实现管理员自助结账功能;(6)通过asp编程实现管理员与学生登录的权限管理学生只能登录上网和查询上机时间,管理员可以结账并查询机器使用情况还可以查询账目情况。 系统的安全性 系统的安全性包括系统本身的安全和数据的安全。系统必须既能够防止恶意的侵扰,又能防止因误操作引起的数据错误。在本系统中安全主要包括以下五个方面:(1)如何防止学生绕过客户端的登录界面。因为学生一旦绕过登录界面,就会造成逃费现象的发生,这样就不能对收费上机的学生进行正常的收费,也不能对学生进行有效地控制和管理,整个系统形同虚设。(2)如何防止学生正常登录以后拔掉网线。若学生登录后再拔掉网线,则客户端和服务器的连接就会断开,这样管理人员同样不能对学生进行管理,也不能对收费上机的学生进行收费,造成和绕过登录界面同样的后果。(3)如何防止个别学生或其它人员对系统的恶意攻击。如果服务器遭到恶意攻击,造成服务器数据的丢失或系统的瘫痪,则不但给实验室带来巨大的经济损失,而且还会影响到正常的实验课上课工作,给实验教学带来严重恶果。(4)数据库的安全。数据库中记录着整个系统正常运行时的所有数据,包括学生的收费信息、上机记录、机房中每台计算机的信息、学生和管理员的信息等。这些信息都是系统正常运行的保证。因此必须要保证这些信息的绝对安全。2.2.1 登录模块登陆模块包括学生的登陆权限。功能描述:学生打开系统登录成功后系统自动将学生信息数据添加到后台数据库当中包括本地ip地址。2.2.2 查询模块查询模块包括系统自动查询及管理员自助查询。功能描述:学生点击查询菜单查看本机上机时间、余额及消费金额、管理员登录成功后通过菜单驱动可以查询机房机器使用情况、管理员查询机房收入情况。2.2.3 结账模块功能描述:学生登录时计算学生当前上机使用金额、结账时计算学生总共上机时间及消费金额。2.3 系统关系模块图系统详细数据流图给出了系统处理数据的具体操作过程和系统数据的具体流向,系统主要数据是从学生上机开始,学生发出登录请求后,系统自动添加该学生相关信息到学生上机信息文件库,同时能自动更新上机信息文件,当学生发出查询上机时间请求时,系统自动通过上机信息文件获得学生上机的时间及消费金额。管理员发出结账请求,系统自动通过上机信息文件获取上机的时间和消费的金额,并更新上机信息文件,最后生成一条账目信息插入到账目报表文件当中。2.4源程序代码:(1)主要函数main-menu 函数:输出机房管理系统菜单 。input 函数:输入若干个学生的学号、班级和姓名。 online 函数:学生上机,输入上机学生学号或姓名及时间。 calculate 函数:计算上机费用并输出 。offline 函数:学生下机,输入下机时间,调用。 calculate 函数得到上机费用 。search 函数:查找学生上机信息。 display 函数:显示全部机器的使用信息。 main 函数:函数调用以及结束程序。#include#include#include#includeconst N=20;const M=100;struct student char idN; char theclassN; char nameN; char ontimeN;student stuM;int n;void addition() int i; coutn;for(i=1;i=n;i+)coutnt请输入第istui.id;coutnt请输入第istui.theclass; coutnt请输入第; coutnt请输入第istui.ontime; coutnt提示:您已成功录入第i条信息n; void calculate()int hours;char times30; time_t rawtime; struct tm * timeinfo;time ( &rawtime );timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo); coutt所有学生上机费用如下:n;for(int i=1;i=n;i+) cout(times14-48)*10+times15)hours=(times11-48)*10+times12-(stui-1.ontime0-48)*10-stui-1.ontime1;else hours=(times11-48)*10+times12-(stui-1.ontime0-48)*10-stui-1.ontime1+1;couthoursendl; void search() int i,b,c,count; do char find20; coutb;switch(b)case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA;coutfind;for(i=0;in;i+) if (strcmp(stui.id,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED)cout学生学号t学生班级t学生姓名t上机时间n;tstui.ontime; if(!count)cout*提示:该生不存在;goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA;coutfind;for(i=0;in;i+) if (strcmp(stui.theclass,find)=0) count+;if(count=PF_FLOATING_POINT_EMULATED) cout学生学号t学生班级t学生姓名t上机时间n;tstui.ontime; if(!count)cout*提示:该生不存在;goto A;case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA;coutfind; if(!count) cout*提示:该生不存在;goto A; case 4: count=PF_FLOATING_POINT_PRECISION_ERRATA; coutfind;for(i=0;in;i+) if (strcmp(stui.ontime,find)=0) count+; if(count=PF_FLOATING_POINT_EMULATED)cout学生学号t学生班级t学生姓名t上机时间n; tstui.ontime; if(!count)cout*提示:该生不存在;goto A;default:cout*提示:输入错误; A:coutnt*1.继续nt*0.返回主菜单; coutc;while(c);void menu() coutnt*欢迎进入机房收费管理系统!*n;coutt* 1.录入功能2.计算功能*n;coutt* 3.查询功能0.-*EXIT*- *n;coutt*n;couta;switch(a) case 0:cout*正在退出*谢谢使用本系统,再见;break;case 1:addition();goto C;/*录入功能*/ case 2:calculate();goto C; /*浏览功能*/ case 3:search();goto C; /*查询功能*/2.5 运行结果1、 首先弹出界面是选择进入系统的哪项功能。2、 选择要登入功能:1。接下来弹出要输入上机学生各种信息。 然后选择下机时用选择:2,能够应用此项功能查询上机费用。如果你想要查询一些信息则可以选择:3,这时程序出现以下界面。最后你如果要下机成功则选择:0,这时你就能下机。三 、总结与体会通过对机房收费管理系统的编写,更加掌握了C语言的基本语法,巩固了本学期所学的C+语言知识。同时在C+的设计过程中,对C+语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。通过几周的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做这么长的程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。通过这周的课程设计,也认识到自己对于C+语言的一些不足之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。在指针和链表方面,以后也还需要和老师同学探讨,让以后的C语言编程中能够合理的运用这些C+语言里的精华内容。我做的是机房收费管理系统设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。更加是第一次做课程设计,所以做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听

温馨提示

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

评论

0/150

提交评论