c语言机房管理系统答辩,C语言综合实验报告机房管理系统(总19页).doc

dc60c5ff59da21688d9d4d0085fbffa9.gifC语言综合实验报告机房管理系统(总19页).doc

机房管理系统(c语言)在vc 6.0 运行学院信息科学与工程专业 班级电子信息工程2班姓名张涛学号20123684 2012年12月10日 目录总体设计详细设计 输入函数 输出函数删除函数查找函数结论与心得体会调试报告附录基本要求输入功能输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。 计算功能计算每个学生的上机费用(计算公式上机费用(结束上机时间-开始上机时间)*收费标准,(以分钟为单位 修改功能修改学生上机的个人档案(如增添或删除) 查询功能按条件(班级、学好、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。总体设计开始输入删除退出输出查找图1主函数采用switch选择结构case 1scanp;break;调用输入函数case 2printst,p;break;调用输出函数case 3delp;break;调用删除函数case 4searchp;break;调用查找函数case 5开始输入数据打开文件重新写入文件关闭文件开始打开文件读取数据选择输出输出数据关闭文件 图2 图3输入函数与输出函数都用到文件的读写并且我定义了两个文件,一个存储结构体数组的内容,另一个存储数组的个数。在调用输入函数时,每次只能输入一个学生的信息,每次输入之前,先打开文件,读出数据,然后重新读入数据,并关闭文件。简要流程图如图2所示。 void scanint *pint i;FILE *fp;FILE *fpp;for i*p;i*p1;iprintf请输入信息n; printf学号(6位以下) ; scanfs,sti.num;printf姓名(四位以下);。 图4输出时,通过for循环把数据读出并输出void printstruct stu st,int *q int i; float j; FILE *fp;fpcstu_list.txt,r;打开文件printf序号 学号 图5 班级 姓名 上机时间(时 分) 下机时间(时 分) 费用n;fori0;i*q;i开始循环输出 fread printf2d 6s 4s 8s,i1,sti.num ,sti.clas,sti.name ;printft 3d3d ,sti.hour1,sti.min1 ; printf t3d3d,sti.hour2 ,sti.min2; jsti.hour2 -sti.hour1sti.min2 -sti.min1/60.0 ; printf 4.2f 元n,j;. 图6删除函数采用覆盖的方法来实现目的。输入所要删除的信息后,从文件中读取数据,并找到它,用后面的将其覆盖,总数量减少一个,这样以后读取数据时,就没有该数据了.。但实际上文件中任由原来个数个数据,只是不让它读出来而已,如图7。图8为简单流程图, ifstrcmpa,sti.name0 forji;j*p-1;j strcpystj.num,stj1.num;strcpystj.clas,stj1.clas;stj.hour1stj1.hour1; stj.min1stj1.min1;图7查找函数也就简单多了,输入所要查找的信息后,从文件中读取数据,并找到它,然后将其输出,简单代码如下 switcha选择查找方式 case 1 printf学号; scanfs,b; fori0;i*p;i ifstrcmpb,sti.num0 printf 学号 班级 姓名 上机时间(时 分) 下机时间(时 分) 费用n; printf 6s 4s 8s,sti.num ,sti.clas,sti.name ; printft 3d3d ,sti.hour1,sti.min1 ; printf t3d3d,sti.hour2 ,sti.min2; jsti.hour2 -sti.hour1sti.min2 -sti.min1/60.0 ;. 图9图8开始打开文件读取数据选择删除输入要删除的数据关闭文件查找要删除数据删除数据重新写入文件开始打开文件读取数据选择查找输入要查找的条件及内容关闭文件查找要找的数据输出数据 图10结论与心得体会 通过这次为数不多的几天计算机实践学习,加上我们这个学期的c语言课程,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去隐藏程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。 不过,很多时候,我们都是眼高手低,看着书以为c语言很简单,把那些代码记住就没有问题了。可是事实上,当计算机一次又一次地报错时,我才知道我错了。不亲自上机是学不好c语言的。而且上机与看书时相互配合的。上机出现错误,在书上找答案。这样经过反反复复地学习,c语言才会掌握。就拿简单的输出输入的格式符讲,总是以为它没有用了,因为太简单而不管,可到后面时,忽然发现自己连对简单的整型也不了解,更不用说进行字符的输入输出了。比如说整型变量的字节数,有效值。默认的实型变量是什么,其字节数,所以会有好多警告。虽然不影响运行,但是知道存在问题,后来问老师才知道了,也算学到些东西。所以,在这次C语言实训,不仅仅提高了我掌握和利用C语言进行程设计的能力, 而且进一步理解和运用结构化程设计的思想和方法。初步掌握了开发一个小型实用系统的基本方法。学会了调试一个较长程序的基本方法。学会了利用流程图或N-S图表示算法,不过不是很规范。掌握了书写程设计开发文档的能力.为以后的实训打下坚实的基础。不过这也是在一次次报错的调试中慢慢学的。 调试与编译完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。对于我来讲,调试也蛮让人头疼的。尤其是现在所讲的这个程序。经过了反反复复地修改,程序终于可以运行了,可是结果却完全出乎意料。所以调试程序也是很关键的一项。一开始,程序中的错误编译时都可以发现,还能耐心的去看看到底哪里出错。记得一次链接时出错,弄了几次一直错,可是到同学电脑就正常了,便把vc卸载了重新安装,结果好了,后来才知道,运行窗口没有关闭。再后来遇到很多编译时不能检测到的错误,一开始采用猜测并且注释部分的方法来检查出错地方,但效果不佳,经常中止。后来想到暂停语句 system“pause”; ,是程序运行到该位置暂停,从而判断错误在该处之前你还是之后。并将该方法与同学分享。 附录源程序清单includestdio.hincludestdlib.hincludestring.hstruct stu char num9;char clas9;char name9;int hour1;int min1;int hour2;int min2;st99;定义结构体数组void printstruct stu st,int *q输出函数int i;float j;FILE *fp;fpcstu_list.txt,r;打开文件printf序号 学号 班级 姓名 上机时间(时 分) 下机时间(时 分) 费用n;fori0;i*q;i freadprintf2d 6s 4s 8s,i1,sti.num ,sti.clas,sti.name ;printft 3d3d ,sti.hour1,sti.min1 ;printf t3d3d,sti.hour2 ,sti.min2;jsti.hour2 -sti.hour1sti.min2 -sti.min1/60.0 ;printf 4.2f 元n,j; void scanint *p输入函数 int i;FILE *fp;FILE *fpp;for i*p;i*p1;i printf请输入信息n; printf学号(6位以下) ;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值