已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京联合大学课程设计报告课程名称: C语言程序设计课设 项目名称: 机房收费管理系统 学院: 自动化学院 专业:建筑电气与智能化 姓名: 学号: 指导教师: 成 绩: 2010年6月18日目 录第1部分 课程设计题目与要求11.问题描述12.功能要求13.任务分工1第2部分 的设计与功能实现21.总体设计22.数据结构33.算法设计44.程序代码设计105.测试与调试12第3部分 课程设计总结141.个人总结142.结束语18附录 程序清单19附录 用户使用说明书39参考文献40第1部分 课程设计题目与要求1.问题描述 为了便于管理,需要对机房的上机收费进行计算机管理,所需要的功能为:建立学生的上级档案、对于毕业的学生能够删除其档案、根据上机和下机时间计算出本次所需费用、能够续钱。2.功能要求循环显示如图12.17所示的主菜单。在主菜单中选择1:建立名为duli16_3.dat的文件,并在其中添加若干学生的上机档案,信息包括学号、姓名、金额,要求学号是唯一的。12.17在主菜单中选择2:要求用户输入学号,然后系统显示该学生档案,并自动开始计时,如果原来金额不足6元,则不能上机,而且显示“余额不足,请续钱!”。在主菜单中选择3:停住对该学生记时,同时根据用户输入的学号,计算该学生上机时间,并按1小时2元收费(30分钟以内均按半小时处理,60分钟以内按1小时处理),然后显示上机前后的金额。在主菜单中选择4:添加新档案,这时要求新学号和已有的学号不能重号。在主菜单中选择5:注销旧档案。在主菜单中选择6:要求用户输入学号和续钱额,续钱完成后分别显示续钱前后的金额。在主菜单中选择7:此项功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。在主菜单中选择0:显示结束信息,按任意键后,退出本系统。463.任务分工主要负责编写:下机函数mylikai()、注销函数myzhuxiao()。和整个程序的测试编译。主要负责编写:上机函数:myshangji()、续钱函数:myxuqian()、:主要负责编写:建立函数:mycreate()、添加函数:mytianjia().主函数:main() 和 创新函数:myjifen(),由小组成员共同敲定。其中:第2部分 机房收费管理系统的设计与功能实现1.总体设计主模块开始上级离开机房创新功能续钱注销旧档案添加新档案建立上机档案按学号注销按姓名注销主模块图建立上机档案mycreate() 开始上机mykaishi(int *,int *) 离开机房mylikai(int,int,int) 添加新档案mytianjia() 注销旧档案myzhuxiao() 按学号注销del_number() 按姓名注销 del_name() 续钱myxuqian() 创新函数void myjifen();2.数据结构结构体的定义struct recordchar number13;/*定义学号数组*/char name11; /*定义姓名数组*/char mima11; /*定义密码数组*/int restmoney;struct tm *t;/*定义时间函数的结构体*/假非法选项其他765432开始调用myprint输入choose的值choose=?10真假输入yes_noyes_no=Y或yyes_no=Y或y或N或n结束调用myxuqian调用mytianjia调用myzhuxiao调用mykaishi调用myjifen调用mylikai调用mycreate 真3.算法设计(一)主函数模块 (二)void mycreate() 入口 打开文件 打开成功? 假 结束 输入学号 输入姓名 输入金额 假 合法记录? 真 将记录写入文件 记录数增1 输入学号 输入姓名 关闭文件 出口 (三)int mykaishi(int *,int *) 入口 打开文件 假 打开成功? 真 真 文件结束? 结束 从文件读学号、姓名、金额 输入学号、姓名、金额 记录增数1 n= =0? 文件中无记录 文件中有n个记录 关闭文件 出口 (四)void myzhuxiao(); 入口 输入按哪种方式删除 真 假 按学号? 真 假 调用按学号删除函数 按姓名? 调用按姓名删除函数 输入非法字符 出口 (五)void mytianjia(真假真假真假出口打开文件关闭文件继续将记录写入文件学号重复输入金额输入密码输入姓名输入学号结束打开成功入口) 出口选择功能调用mycx()调用myxs调用myxg()231入口(六)myjifen()4.程序代码设计主函数main()char choose=0,yes_no=0;int starthour=0,startmin=0,k;domyprint();printf( );choose=getch();switch(choose)case 1: mycreate();break;case 2: k=mykaishi(&starthour,&startmin);break;case 3: mylikai(k,starthour,startmin);break;case 4: mytianjia();break;case 5: myzhuxiao();break;case 6: myxuqian();break;case 7: myjifen();break;case 0: printf(感谢使用 谢谢n);exit(0);default : printf(n %c为非法字符!n,choose);printf(n 返回主菜单(Y/N)?n);doyes_no=getche();while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=Y|yes_no=y);以下为上机和下机函数:其主要功能为:记录学生上机时间,下机时间,计算学生上机所花费金额。int mykaishi(int *starthour,int *starmin)struct record temp20=0;struct tm *t;time_t timer;int o=0,k=-1,i=0,j=-1; char s19,m19;char yes_no=0;FILE * fp=NULL;printf(请输入上机学号);scanf(%s,s);fp=fopen(c:duli16_3.txt,r);if(fp=NULL)printf(无此学生);while(feof(fp)=0)fscanf(fp,%s%s%s%d,tempo.number,,tempo.mima,&tempo.restmoney);o+;printf(n);for(i=0;i=6)printf(上机成功,欢迎使用!n);timer=time(NULL);t=localtime(&timer);printf(上机成功时间为:%sn,asctime(t);*starthour=t-tm_hour;*starmin=t-tm_min;printf(学号:%s 姓名:%s 余额:%.2dn,tempk.number,,tempk.restmoney); elseprintf(nn对不起您的余额不足!如需充值请返回主菜单.);return k;void mylikai(int k,int starthour,int startmin)struct record temp20=;struct tm *t;int endhour; int endmin;int min ,hour;int usemoney;int j=0,i=0;FILE * fp=NULL;time_t timer;timer=time(NULL);t=localtime(&timer);printf(下机成功!欢迎光临!n时间为:%sn,asctime(t);endhour=t-tm_hour;endmin=t-tm_min;if(endmin-startmin30)hour+;min=0;else if(min0)min=30;elsemin=0;usemoney=hour*2+min*1/30;fp=fopen(c:duli16_3.txt,r);while(feof(fp)=0)fscanf(fp,%s%s%s%dn,tempj.number,,tempj.mima,&tempj.restmoney);j+;fclose(fp);tempk.restmoney=tempk.restmoney-usemoney;printf(学号:%s 姓名:%s 余额:%.2dn,tempk.number,,tempk.restmoney);fp=fopen(c:duli16_3.txt,w);for(k=0;kj;k+)fprintf(fp,%s %s %s %dn,tempk.number,,tempk.mima,tempk.restmoney);fclose(fp);以下为建立档案函数:其主要功能为:建立学生的新档案,内容有 学号、姓名、密码、所充入金额。void mycreate()struct record temp=0;int i=1; FILE *fp=NULL; char yes_no=0; system(cls); fp=fopen(c:duli16_3.txt,w); if(fp=NULL) printf(nn 文件丢失!按任意键继续.);getch();exit(0); else do printf(n 请输入第%d个记录:nn,i); printf( 学号:);scanf(%s,temp.number); printf( 姓名:); scanf(%s,); printf( 设置密码:); scanf(%s,temp.mima); printf( 充值钱数:); scanf(%d,&temp.restmoney); fprintf(fp,%s %s %s %dn,temp.number,,temp.mima,temp.restmoney); i+;printf(n 请问您要继续吗?Y/N); do yes_no=getch(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y); fclose(fp);完整程序请参见附录5.测试与调试执行myprint()函数出现如图所示选择1建立上机档案将如图所示输入学号、姓名、密码、充入金额。选择Y继续输入 N结束输入主菜单选择2上机出现如图:为金额不足时所出图像图为连续建立上级档案是所出图像第3部分 课程设计总结1.个人总结李洪飞:为期两星期的C语言实训已经基本结束,但是给我的影响是相当大的。通过这次实训,使我明白C语言这门课程光仅仅是听课是远远不够的,上机训练也不容忽视。 通过上机训练,才能够明白自己知识的不足,才能够有的放矢,更加深刻的理解C语言中的知识点。通过实训,我找到了许多知识漏点,学到了很多以前不懂的知识,以前认为自己已经懂了的知识点也理解更加深刻了。 尤其是遇到了自己当时不知道如何编写的C语言题目如何编写,通过自己的学习和同同学的交流后,试编和改错,最后能够顺利的编写出来,带来的也有成就感。并增加了我们对C语言的兴趣和学好C语言的信心。 与同学们交流的过程中,了解了程序的多种解决方法,知道了不同编写方法有不同的特点。总结C语言实训的几个重要作用: 1加深对课堂讲授内容的理解 课堂上要讲授许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差。 学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写C语言程序,解决实际问题。即把C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握C语言、自己编写的程序是否能够正确地解题。 自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对C语言的理解和程序开发能力。 2熟悉程序开发环境、学习计算机系统的操作方法 一个C语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓环境就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。3学习上机调试程序 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。 通过这次为数不多的几天计算机实践学习,我们更好的了解了一些关于C语言的知识,理解巩固了我们C语言的理论知识。C语言这门课程对于我们应用电子专业的同学也相当重要,我们会再将来继续学习并熟悉这门课程。焦健:一眨眼为期两周的C语言实训结束了, 我们组做的是“机房收费管理系统”的设计,在编程序的过程中,我们一边学一边做,这不仅要求我们要有自学的能力,同时,这也考验了我们团队合作能力。,平日里通过老师对C语言的讲解与教授,我对C语言产生了浓厚的兴趣,平时,我们做的都是些基础的,零碎的小程序,而这次试训我需要面对的是一个需要设计成百上千的庞大程序。这是对我们平日能力的一个综合考验与检测。这次实训是我人生的第一次实训,对于我来说好难,比我预想的难好多。对编程这方面不懂的我,经常感到无助,不知道做什么也不知道怎么做。不过不管怎么说,我们都走过来了,即使遇到很多困难,我们的收获还是很多的,不仅在C语言编程方面有了很大进步,同时,我们也收获了同学之间互相帮助的友谊,同学情,还有老师帮助我们的师生情。 刚开始看到这个题目时,我们感到束手无策,不知道从何做起,但通过我们组成员的几天来的一次次的讨论研究和修正,终于编出了大部分的程序,遇到的一些比较棘手的问题我们就请教老师或是去图书馆查阅资料。我这次编程的任务主要是“上机”和“续钱”两个部分,编这两个程序主要的困难就是时间函数,刚开始总是出现很多错误,根本执行不了,但通过老师同学的帮助,终于还是完成了这个任务,同时也让我在C语言方面有了很大的提高。在这次实训中,老师要求我们每人完成两个流程图,对于我这个不善于电脑操作的人来说有点困难,不过,在同学的耐心帮助下,我可以快速独立的画完流程图了,这让我很高兴,总之,这次的实训让我收获颇多。经过这两周的学习,我巩固了这学期学过的C语言的相关知识,改正了学习中常常出现的一些错误,使我对C语言的学习更加深入、透彻。同时,通过学习,我也发现了在学习中的一些不足,例如:多细节知识不够重视,掌握不牢,以致在编程中常常出现一些不应犯的错误。因此,在以后的学习中我将注重细节,把知识尽量掌握牢固。同时,这两周的实训也让我明白了很多道理,在面对困难时,不能知难而退,而应该坚定信心,用毅力,耐心和智慧解决问题;在生活学习中,我们应该学会与他人合作交流,有的时候一个人的能力是不够的,必须通过团队的合作才能使事情更加完善。 计算机在以后的生活中是十分重要的,而C语言对于我们以后的工作学习更是重要,可能以后我们没有了C语言这门课程,但我们对C语言的兴趣是不会改变的,也希望以后有更多的实训机会,期待着下一次的实训。杨剑博:时间过的真快,一转眼两周的实训就要结束了,经过这几天的C语言实训,我感受颇深我们从平时简单易做的程序编写到实训中庞大的大程序设计,此时不仅是对平时各种知识的综合训练,更是考验团队合作精神的时候。大家分工合作,发挥各自的聪明才智,强大的集体力量与智慧助我们出色地完成了任务。当我们完成程序时,我们感到了无比的欣慰编写相对于平时而言如此大的程序对我们来说是一项从未有过的艰巨的任务。在这项任务中,用到最重要的知识应当属函数了。我们组设计的是机房收费管理系统,所有的菜单中的选项每一个都是一个函数体,诸多的函数一起构成了本次任务所要完成的程序。同样的,我们也一样遇到了各种困难,但我们通过多种途径,例如图书馆、网络等来查找资料,解决难题。当然,这与老师的帮助也是分不开的。当我开始编写我所负责的程序时,刚开始一点头绪都没有,感到很吃力,我就开始看这学期所学的C语言教材,并着重看了函数部分,通过又一次的复习教材并参照类似题型,在老师同学的帮助下终于基本编出程序,但编译的时候出现了很多错误,这让我有些恼火,但为了能顺利完成编程,我还是静下心来细心改正每一个错误,一次次的讨论,一次次的修正,在学习中我发现了我以往所忽略的很多错误,在我们的团队的努力下,错误都得到了改正,我的C语言基础得到了提高,这次试训我最大的收获就是细心,功夫不负有心人,我们组终于顺利完成了任务。我在本次程序设计中认识到团队合作的重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胆囊壁肌增生的护理
- 雨课堂学堂在线学堂云《播音主持艺术( 兰文理)》单元测试考核答案
- 高考化学“8+1”模拟练试卷含答案(七)
- 2026年劳务员之劳务员基础知识考试题库200道附参考答案【培优a卷】
- 2026年设备监理师之设备监理合同考试题库附参考答案【轻巧夺冠】
- 2025东风奕派汽车科技公司社会招聘历年真题汇编带答案解析
- 2025北京市百瑞(鄂尔多斯)律师事务所招聘备考题库带答案解析
- 2026广东中山市委党校招聘事业单位人员2人参考题库附答案解析
- 中国移动卓越公司2025秋季校园招聘备考题库附答案
- 2025新疆机场(集团)有限责任公司阿克苏管理分公司第四季度招聘100人历年真题汇编附答案解析
- 未成年人法制教育体系构建
- 外研社英语一年级起点五年级上册知识点总结 重点句型 课文讲解
- 食品加工企业会计核算流程
- 生物质燃料颗粒可行性研究报告
- 《资产负债表(适用执行民间非营利组织会计制度的组织)》
- 网络安全教师培训会议
- 《发票发票知识培训》课件
- 2024年秋季新版苏科版八年级上册物理课件 跨学科实践 乐器的调查与制作
- 【MOOC】《研究生英语科技论文写作》(北京科技大学)中国大学MOOC慕课答案
- 民兵潜力数据调查培训
- 辽海版综合实践活动七年级上册同步课件教案81用好电子小帮手之活动一电子产品走近你我他
评论
0/150
提交评论