第一篇:机房收费系统工作总结(小编推荐)
机房收费系统工作总结
在做机房管理系统的过程中,首先对机房管理系统所有的功能尝试了一遍,然后按照学生管理系统的方法对机房管理系统分析了一番,分别从功能(也就是添加、查询、修改),组成(一般用户、操作员、管理员),程序结构设计(模块中和窗体中所要完成的功能),数据库分析(数据库实体、各个实体之间的关系),在分析数据库实体和各个实体之间的关系时遇到了一些阻力,这也算是需求分析了,分析的不够全面和系统,有待以后对这方面的加强。(点击查看分析图)
按照程序运行的过程,先是参照现成的数据库把所有的表建立起来,在建表过程中由于对sql数据类型的知之甚少导致之后出了一些错误,比如说datetime这个数据类型,是一个包含了日期和时间的数据类型,而自己建立了date和time两列,是完全没有必要的。
做完了登录窗体,发现机房管理系统和学生管理系统的相似度很高,于是做起来比较快乐,因为一个桌上多半人都认识,吃起饭来很愉快。柿子先拿软的捏,陆续做完了几个比较简单的窗体,之后做上下机,做到钱这里确实是有点乱,错误在这里也犯得比较多。对各个方面的因素考虑的不够周全,是按照上下机需要什么我就给它什么,感觉是一点一点堆积上去的,等做完回头一看有点茫然!
这种前期没有充分考虑各方因素而一点一点堆积的做法为我后来的返工埋下了伏笔,的一个错误就是:没有考虑到基本数据是可以改变的,比如说至少上网时间,准备时间等等,而我想当然的就把它给定死了,基本数据设置这个窗体等同虚设,没有做到动态的改变,软件的扩充性极差。
在这个过程中除了一些细节上的问题还出现了越权和抽象的问题,每个用户的等级不同,所涉及的管理范围也就不同,比如一般用户就是不能接触钱的,而操作员在掌控钱的时候要有收钱的每一笔记录,管理员是可以掌控一切的,每个用户的权利要分得一清二楚。还有一个是抽象,回头看代码还是显得不够精简,赘余不少,还是自己以前动手做的比较少,需要加强。
机房收费系统的完工也就意味着暑假结束了,充实而又美妙的暑假,度过了一个不一样的暑假,每一天都有收获,每一份收获都很开心,当然,有时候会觉得很累很累,偶尔也会困惑一下,不过随着时间的流逝这一切都烟消云散,兴趣和坚持始终主导着我的生活,这应该就是我想要的和想象中的大学生活。刚放暑假的时候,老师布置要在这段时间完成这么多的工作,自我感觉相当有困难,从陈伟视频收尾到五个数据库应用小例子,再到浙大sqlserver视频,学生管理系统,机房收费系统,刚开始看似完不成的,现在回头一看,都一一完成了,没有落下,很欣慰!这可能就是提高班的神奇之处吧。
新学期开始了,我的任务还很艰巨,vb还在等着我,软件工程 的视频在等着我,通过暑假我相信这些都会按时完成的。
第二篇:机房收费系统
#include
#include
#include
#include
#define N 20
#define M 100
struct student
{ char id[N];
char theclass[N];
char name[N];
char ontime[N];
}
student[M];
int n;
void addition()
{ int i;
cout<<“n请输入录入学生信息的总数:”;
cin>>n;
for(i=1;i<=n;i++)
{ cout<<“nt请输入第”<
cin>>student[i-1].id;
cout<<“nt请输入第”<
cin>>student[i-1].theclass;
cout<<“nt请输入第”<
cin>>student[i-1].name;
cout<<“nt请输入第”<
cin>>student[i-1].ontime;
cout<<“nt提示:您已成功录入第”<
}
}
void calculate()
{ int hours;
char times[30];
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
strcpy(times,asctime(timeinfo));
cout<<“t所有学生上机费用如下:n”;
for(int i=1;i<=n;i++)
{cout<<“学生”<(times[14]-48)*10+times
[15])
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].on
time[1];
else
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1;
cout< } } void search() { int i,b,c,count; do { char find[20]; cout<<“n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询;4.根据上机时间:”; cin>>b; switch(b) { case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA;cout<<“n**请输入学生的学号:”;cin>>find; for(i=0;i { if(strcmp(student[i].id,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) cout<<“学生学号t学生班级t学生姓名t上机时间n”;cout< } if(!count) cout<<“****提示:该生不存在”; goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; cout<<“n**请输入学生的班级:”; cin>>find; for(i=0;i { if(strcmp(student[i].theclass,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) cout<<“学生学号t学生班级t学生姓名t上机时间n”;cout< } if(!count) cout<<“****提示:该生不存在”; goto A; case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; cout<<“n**请输入学生的姓名:”; cin>>find; for(i=0;i { if(strcmp(student[i].name,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) cout<<“学生学号t学生班级t学生姓名t上机时间n”;cout< } if(!count)cout<<“****提示:该生不存在”; goto A; case 4: count=PF_FLOATING_POINT_PRECISION_ERRATA; cout<<“n**请输入学生的上机时间:”; cin>>find; for(i=0;i { if(strcmp(student[i].ontime,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) cout<<“学生学号t学生班级t学生姓名t上机时间n”;cout< } if(!count) cout<<“****提示:该生不存在”; goto A; default:cout<<“*****提示:输入错误”; } A:cout<<“nt**1.继续nt**0.返回主菜单”; cout<<“nt 请输入您的选择:”; cin>>c; } while(c); } void menu() { cout<<“nt*******************欢迎进入机房收费管理系统!*******************n”;cout<<“t* 1.录入功能2.计算功能*n”; cout<<“t* 3.查询功能0.-*EXIT*-*n”;cout<<“t***************************************************************n”;cout<<“nt 请输入您的选择:”; } void main() { system(“color 5f”); int a; C:menu(); cin>>a; switch(a) { case 0:cout<<“***正在退出**谢谢使用本系统,再见”;break;case 1:addition(); goto C; case 2:calculate(); goto C; case 3:search(); goto C;}} 经过了几天的忙碌,自己的工程也即将告一段落,还有点舍不得。 下面我总结一下自己做工程的收获感觉收获不大,但是实际上这将是我们迈上一个新台阶的基石。说实话,实际收获是很大的,只不过时间用的太长了,感觉效率效率低(收获/时间)。时间的基数越长越是没有感觉……行了,不扯着没用的了。 首先来说自己独立解决问题的能力有一些提高——网络的运用。 上一次写到应用网络的问题,其实就是那样一回事,许多问题就是要靠自己独立去完成,在一个公司,你不可能一遇到问题就去问别人去,因为不同人有不同人都工作,在公司,又和在学校不一样,在学校的友谊是纯洁的,但是到了公司里,这种纯洁很少。就应该确立这种意识:在网上,没有解决不了的问题,只有你想不到的问题。只是一个搜索时间的问题和搜索技巧的问题,这个在平时就可以得到培养和锻炼。只要自己去总结自己问问题的思维与网络的落差点就可以解决。 在我刚开始做这个工程时,自己有时还是需要去翻看一下学生管理系统,但是到了工程的后期,学生管理系统连碰都没有碰过,说明自己通过这个工程自己更能知道,理解,体会学生管理系统。那里的每一片土地都已经是过去时了,想一想自己做学生管理系统的时候自己还是啥都不太懂得,不过,经过了这个过渡,自己明白了许多事情。现在对一般的sql语句写起来没有什么困难了。 这次做工程给我最深的体会就是数据库——做的时候一定要做好否则该改的时候会有很多地方牵扯进来的,让自己还特郁闷。数据库一旦出问题,那么自己修改程序很苦恼。 首先,自己建库的时候没有注意到那么多小的地方,但是,再后来做工程才发现,自己数据库的不足,然后改数据库,说实在的真麻烦。不过有了这一次小小的教训,自己以后会多多注意的,一定会把数据考虑的更加全面,这样在做起工程来就简单多了。 回想这个工程给我印象最深的是,在上机过程中我想弄成分段计时,这一部分我就弄了两天才弄清。但是总结一下自己为什么用这么长的时间。 首先自己先实现却没有更好的思路去完成,自己还是基础的东西不扎实。其实重要的是把过程理清了,代码方面没有什么,我感觉有时不是敲代码的过程来影响进度,而是自己的思绪影响着自己的进度。 还有就是敢于去尝试。 还有就是一定要把前期的需求分析做好,否则到了后边添加的时候会和许多地方发生冲突,一定要选择好基础的底座。 编号:6 河北工业大学计算机软件技术基础(VC) 课程设计任务书 一、题目:设计一个机房收费管理系统 二、目的与要求 1. 目的: 通过机房收费管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,提高学生程序调试技巧、代码规范化等素质,提高学生分析问题、解决问题及实际运用能力。 2. 基本要求: (1)要求用C++语言编程,在Visual C++环境下调试完成; (2)要求划分功能模块,各个功能分别使用函数来完成; (3)源代码程序要求必要的注释。 三、设计方法和基本原理 1. 课题功能描述 设计一个机房收费管理系统,实现对学生上机收费的管理。 2. 问题详细描述 输入功能:输入上机学生的学号、班级、姓名、上机起始时间。 计算功能:计算每个学生的上机费用。每小时1元。 上机费用=上机时间*1元/h,不足1小时按1小时计算 查询功能:查找学生上机信息并显示(班级、学号、姓名) 显示机器使用情况信息 要求编写多个函数分别实现上述功能,而后在main函数中进行调用。 3. 问题的解决方案: 根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。 机房收费系统可利用菜单(界面制作switch语句)使用户选择各个功能模块,例如: 1.输入学生信息 2.计算机时费用 3.查询学生上机情况 4.显示机器使用情况 而后可根据不同的选项进入到不同的功能模块进行执行。结束程序,请选择y之外的任何字母或数字,如果想让程序循环执行,则选择y。 以上功能模块分别用函数来实现,然后由主函数main来调用。 四、主要技术问题的描述 根据三的分析,主要问题在于: (1)学生信息、时间信息和机器状态用结构体来构造 struct time { int hour; int minute; int second; }; struct computer { int f;/*标记机器是否使用*/ structstudent stus;/*使用机器的学生*/ }comp[30]; structstudent { char num[10];/*学号*/ char name[20];/*姓名*/ intbanji;/*班级*/ intflag;/*上机标志,标记学生是否上机*/ struct time start ,finish;/*上机起止时间*/ } stu[50]; (2)学生是否上或下机通过标志flag的值来判定 五、课程设计的考核方式及评分方法 1.考核方式 (1)学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件和.h头 文件放到一个文件夹里(如果是基于MFC的编程,另外还包括源程序的压缩包)上传到所对 应班级的学生名称相应文件夹中。 (2)课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运 行结果是否正确,并回答教师提出的有关问题。 2.评分方法 根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。 六、书写设计报告的要求(详细内容见“设计报告模板”) 七、说明:课程设计的有关文档,“设计报告模板”和“课程设计要求”请在下载任务书处下载。 泰利德机房收费系统破解 泰利德机房收费系统的最主要功能就是实现机房管理的自动化和现代化,学生上机自动按学生上机时间结算费用。它可以管理机房内的每一台计算机,采用目前最先 进的射频卡技术,学生自由上机时,必须刷卡才能上机,如果不刷卡,就启动不了计算机。学生下机,必须正确关闭计算机,否则,出门刷卡时,系统提示没有关闭 计算机,仍然计算费用。它可以记录学生上机的轨迹,可以查询任意时间段内,任意一台计算机的上机记录。而在学生正常上课时间,可以很方便地由管理人员设定 为不刷卡上机(也可以设定为上课必须刷卡)。 泰利德机房收费系统主要由软件和硬件两大部分组成。软件部分:服务器端采用美国微软公司大型数据库软件SQL Server2000和VC++6.0开发;学生机底层登陆端采用汇编语言开发。我与我搭档的破解历程 我当时走进学校机房的时候,没有想到在学校上网还要收费。这不怨别人,只怨我们都是穷人,但是我们没有放弃。刷卡后,在进入系统过程中相继看到了还原软件(智博神农卡)和泰利德的启动画面。此时我们想到了启动盘,不过还好,我的另一同学他在高中时就熟悉电脑了,他还有几张安装光盘和杂七杂八的游戏光盘。于 是我们就想,管他三七二十一,先在机房里重新安装一个系统来用用。系统安装完成后,果然还原软件和泰利德收费系统都消失了。但是我们是又喜又忧,欢喜能免 费上网,担忧我们没有方法恢复系统。此时我们还没有GHOST的概念。没有办法,只有让机房维护人员来恢复了。 开始的时候我们只有靠重装系统这个既费时又费力并且很不安全的办法来达到免费上网的目的。一段时间后,好象机房维护人员有所察觉,所以就更换了一套还原系 统,就是现在常常听说的远志还原精灵2002。当时我们破解还原精灵是不费吹灰之力的,因为它有一个内存中明文密码比较的BUG。我们离开后还自己在网上 下载一个还原精灵2002来安装上,密码当然是我们自己设置的。过了一段时间,机房的还原系统又变了,瓦瑟PRO MAGIC6.0取代了还原精灵2002。经过长期的斗争,我觉得PRO MAGIC6.0是最强的还原软件,也许是我见得少。PRO MAGIC6.0能禁止从光驱启动,所以我们只有从软驱启动,但是输入WIN命令进入后,系统就立即蓝屏死机(当时学校是用的WIN98系统)。此后我们 就把目光转到了网吧。 其实破解网吧的收费系统很简单,它不同于我学校的泰利德收费系统,它是随系统启动的,有多种方法,我们经历了修改IP(WIN98下禁用/启用网卡避免重 启)、输入法漏洞、快速多次地结束任务、修改注册表这几个阶段,都能破解成功。不过现在可能只有通过修改注册表来实现了,但这恐怕也是最有效的办法。可以 用Autoruns来禁用收费系统的启动项,然后注销即可。在网吧的那段时间,我们学习了一下收费系统与还原软件的基本工作原理,发现它们有一个共同点,即都是结合MBR和OBR工作的。沿着这条思路,我们发现FDISK/MBR命令可以破解还原精灵2002与泰利德。我们也用这个方法在学校免费上网一段 时间。但是这个方法似乎不安全,我们常常被机房管理员发现。后来他们把软件还原系统替换成硬件还原系统,我们学校使用的是三茗电脑卫士。这个三茗电脑卫士 硬件还原功能确实强大,恢复数据的速度也很快。由此我们又不能免费上网了。 经过努力,我终于在网上发现了一个能破解大多数硬件还原的软件,对三茗电脑卫士也有效,我们终于有救星了,感谢那些好心的朋友们。最后一个要解决的问题就是FDISK/MBR的安全性。 听机房管理员说,我们非法进入系统后,泰利德服务端在相应的机器上会显示“匿名登陆”字样,他们根据网络布线图就可以找到我们。原来如此啊。 我们猜测,FDISK/MBR命令不能完全破解泰利德,只是破坏了泰利德在MBR的代码,而泰利德客户端如果检测到代码异常,就会向服务端发送信号,从而 就有“匿名登陆”的字样。这只是我的主观猜测,还请大家指教。于是我们就换了一种想法,如果能绕过泰利德就好了。我们运气还好,成功绕过了。我们学习了一下系统启动原理,硬盘数据结构等知识,得出了一个绕过泰利德的方法:用编辑器把正常系统(无还原系统和无泰利德之 类的系统)的OBR直接复制到软盘的首扇区,设置BIOS优先启动为软驱,然后把软盘插入驱动器,开机即可直接跳过泰利德,并且会让还原精灵2002之类 的软件失效,泰利德服务端也不会显示任何信息(具体是怎样我也不知道,反正从此就可以放心大胆地上十几小时的免费网,管理员也不来找你)。在你离去时也不 用担心系统恢复的问题,取出软盘试试看。 以上方法是在WINDOWS98系统上实验成功的,至于WINDOUS NT/2000/XP/2003系统我没有研究。我认为可用MAXDOS之类的修复盘把引导区修复就可以了,不过要考虑一下安全性。请大家多提意见,我们互相交流一下。第三篇:机房收费系统总结(精选)
第四篇:6机房收费系统
第五篇:泰利德机房收费系统破解