我的程序设计报告

上传人:仙*** 文档编号:64705965 上传时间:2022-03-22 格式:DOC 页数:21 大小:678.50KB
收藏 版权申诉 举报 下载
我的程序设计报告_第1页
第1页 / 共21页
我的程序设计报告_第2页
第2页 / 共21页
我的程序设计报告_第3页
第3页 / 共21页
资源描述:

《我的程序设计报告》由会员分享,可在线阅读,更多相关《我的程序设计报告(21页珍藏版)》请在装配图网上搜索。

1、 计算机学院计算机科学与技术专业程序设计综合课程设计报告 (20010/2011学年 第一学期)学生姓名: 王琢学生班级: 计算机092001班学生学号: 2指导教师: 刘静 2011年01月09日 机房预约上机登记系统19 / 21文档可自由编辑打印目 录第一章 绪论11.1 设计背景1第二章 需求分析22.1程序设计的目的:22.2功能要求:22.3基本要求:22.4具体要求:3第三章 详细设计说明43.1流程图4数据字典6第四章 软件使用说明11第五章 课程设计心得与体会12第六章、 附录1:参考文献13第七章、附录2:程序清单(带有较详细的注释)14第一章 绪论1.1 设计背景Visu

2、al C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。1.2

3、机房上机预约管理系统的主要功能 本系统主要是由预约和登记两部分,预约的主要功能有:1、首先创立机房名称,创建新的机房文件2、选择预约机房3、输入预约班级4、选择已预约的机房的预约时间5、解除已经预约的机房时间或机房6、存储文件到data_jifang的记事本中预约主要是面向老师,登记主要是面向学生,登记的主要功能有:1、选择登记一栏2、输入所在班级3、输入学号(最大65565)4、擦除登记信息以上是上机预约管理系统的主要功能。第二章 需求分析2.1程序设计的目的:由于各个高校的机房上机安排信息使用传统的人工方式,管理着机房上机安排的所有信息,使用这种管理方式存在着许多不尽人意缺点,如:工作量大

4、,一个学校一个学期的机房上机信息数据是成千上万的,如果要审核需要花费大量的时间;耗费工作人员多,审核这么多数据不是单单一个人可以完成的,需要许多工作人员一起努力;效率低,顾名思义想要在短时间内完成上机信息的审核并批准上机是不可能的;最后还有查找烦琐等等许多问题。为了方便日常的查询、修改、增删、统计等需求,便成为了一个急待解决的问题,摆在了我们面前,上机预约管理系统,也就在这样的需求下应运而生。上机预约管理系统具有检索迅速、查找方便、可靠性高、存储量大、成本低等优点,为此,我们迫切需要建立一套基于上机安排信息的上机预约管理系统。使机房的管理更科学化、系统化,提高了工作效率。2.2功能要求:用c/

5、c+设计一系统,实现以下功能:1) 设计一个系统,实现机房预约管理2) 对上机的学生进行登记3) 查询预约情况和学生上机情况 2.3基本要求:1)用C语言实现系统;2)函数功能要划分好(结构化程序设计);3)界面友好(良好的人机交互),加必要的注释;4)提供程序测试方案。2.4具体要求:1、教师可以在机房管理室,可看到机房预约的清单表。自己可以进行预约某时间段、某机房,删除已预约的预约信息,查询班级已预约的情况。 2、学生可以通过输入学号即可登记上机。3、教师可以在管理室查询学生登记情况。 4、本系统为独立系统。第三章 详细设计说明3.1流程图输入机房信息机房信息初始化If(x=0)创建成功,

6、返回主界面 if(x=n) nWhile(1)for(i=0;i30;i+) 流程图1 主菜单 2 1 5 4 3解约预约退出查询登记情况查询预约情况登记擦除输入班级输入机房名称输入学号输入数字输入班级生成data_dengji.txt生成data_jifang.txt 流程图23.2函数功能说明SearchUserShowUserChooseShowShow InputDeleteAdd 程序用例图1数据字典列名含义数据类型长度能否取空植备注Xh学号char10No主码Xsxm机房号char16NoXsxb班级char4No 表1User:进行机房预约工作的用户。Choose:进行菜单的选择

7、。Show:对用户发出的指令进行界面显示。Input:进行机房信息的录入。Delete:对登记信息进行删除。Search:对想要的信息进行搜索。功能模块(1)机房信息录入模块主要功能:实现机房信息的录入,并将录入的机房信息存储到硬盘上(以txt文本文档保存)。主要技术:1.使用一个输出文件流(ofstream),把该流与一个特定的磁盘文件关联 起来,通过输入,实现机房信息的磁盘存储,后运用close成员函数关闭这个输出文件流关联的磁盘文件。2.运用do-while语句实现机房信息的连续录入。(2)查询机房信息模块主要功能:通过机房名和数字实现对机房信息的查找。主要技术:1、调用 *类下的查询函

8、数 ,查询函数运用switch 来选择用机房号(嵌套调用*类下函数)查找;2、*类下的(选择学号和选择机房号函数)(自己定)使用了输入文件流(ifstream),来实现从磁盘文件中输入;1、while 语句实现读取整个关联磁盘文件数据的任务;2、do-while语句实现查找的连续进行。(3)登记擦除模块主要功能:通过学号登记预约信息主要技术:运用数组,输入(ifstream)和输出(ofstream)流类,do-while和while语句3.2编码及测试最初调试过程序,运行程序时会出现下图: 运行图1随意输入机房。若单个输入则运行后为随意输入机房。若单个输入则运行后为 运行图2且在和程序同一个

9、文件中会有关于机房的数据,即data-jifang这个记事本格式的文件。如图: 数据存储文件1即建立了一个关于机房预约的空记事本。继续运行,若选择1,随意预约一个机房,如机房1,且班级为jisuanji20092001,则运行程序为下: 运行图3且在data_jifang的记事本中会出现如下图: 数据存储文件2学生登记的时候,会出现下列运行框。 运行图4 运行图5如果输入0,即结束,则会再次出现总功能表,如下图: 运行图6同时,形成了命名为data_dengji的记事本。 数据存储文件3因为刚才登机了计算机092001班,学号为25的同学,所以在此记事本里有已登记的25号同学的登记记录。 数据

10、存储文件4若查询预约情况,不仅可以通过查看data-jifang记事本,也可以直接选择3,就会看到机房预约情况。 运行图7同理,若查询登记情况也可以通过运行程序看到登记情况,如下图: 运行图8在此程序执行中,不论何时,选择了5,就出现了如下界面。 运行图9同时再单击enter键即可退出。第四章 软件使用说明 此上机预约管理软件,可实现以下功能:1)可以是任意的机房名称。实现此功能,只需在程序运行前删除data_jifang此记事本,在程序运行时就会出现建立机房信息的功能,即可实现任意机房名称。2)可以任意的机房数量。机房可改变数量,即在二维数组a【30】【50】中将30改成面向对象所需要的机房

11、数量,就实现了此功能。3) 机房预约情况和学生登记情况的存储。在运行程序的同时,就会建立data_jifang和data_dengji两个记事本,若未预约或者登记,则此两个记事本为空,只有预约了机房和登机了学生,此两个记事本就会显示相应的数据。即实现了存储功能。第五章 课程设计心得与体会C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力

12、。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次实习时间虽然仅有一个星期,但确实使我受益非浅。通过实习我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对C语言的使用技巧。另外,实习中老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。虽说捧着自己的成果很高兴,但成果背后总是付出很大的努力。 三个礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个多礼拜

13、的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题.三个礼拜的挣扎,绞尽脑汁终于带着麻木的手指和大脑脱出那堆“泥潭”。现在的心情是如鱼得水,干涩的眼睛前方是万里晴空。终于,所有的努力即将化成了一个个铅字,打印机“滋滋”的声音仿佛已经宛如天籁般悦耳地在耳畔响起。此时此刻,真想把一切抛上天空。高呼:“出来了!我的成果即将出来了!”,心里也在默默的感慨着:“有志者,事竟成,破釜沉舟,百二秦关终归楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。”第六章、 附录1:

14、参考文献 谭浩强,C程序设计题解与上机指导(第二版),北京,清华大学出版社,2000年9月第七章、附录2:程序清单(带有较详细的注释)#include #include #include using namespace std;struct jifangstring name;string b1,b2,b3,b4;jifang *next; ; int main ()int n,t=0,i;int a3050;string s30;void jf(jifang *);/预约机房void dj(int 50,string );/登记上机情况void cxjf(jifang *);/查询机房信息v

15、oid cxdj(int 50,string );/查询登记情况jifang *head,*p1,*p2;head=new jifang; head-next=NULL;ifstream inf1(data_jifang.txt,ios:in);ofstream outf1;if(inf1=0)/机房信息写入outf1.open(data_jifang.txt);outf1.close;cout机房文件创建成功!next=NULL;inf1p1-namep1-b1p1-b2p1-b3p1-b4;if(!inf1) delete p1;break;p2-next=p1; t+;p2=p1;cou

16、t机房数据载入成功!endl;inf1.close;/机房信息写入ok if(t=0)/机房信息初始化 cout请先输入机房名称进行初始化endl; cout请先输入机房名称next=NULL; cinp1-name; p1-b1=0;p1-b2=0;p1-b3=0;p1-b4=0; p2-next=p1;p2=p1; couty/n继续x; if(x=n) break; p2=head;p1=head;outf1.open(data_jifang.txt);while(1)if(p1-next=NULL) break;p2=p1;p1=p1-next;outf1name b1 b2 b3 b

17、4endl;coutname;if(outf1) couttendl; outf1.close;cout已保存endl; for(i=0;i30;i+) si=0; for(int j=0;j50;j+) aij=0; ifstream inf2(data_dengji.txt,ios:in);/登记情况载入ofstream outf2;if(!inf2)outf1.open(data_dengji.txt);outf1.close;cout登记文件创建成功!endl;else/登记数据载入while(1)for(i=0;isi;if(!inf2) si=0;break; for(int j=

18、0;jaij; break;cout登记数据载入成功!endl;inf1.close;for(;)/主菜单cout=endl;cout 1-预约,解约endl;cout 2-登记,擦除endl;cout 3-查询机房预约情况endl;cout 4-查询登记情况endl;cout 5-退出endl;coutn;switch(n)case 1:jf(head);break;case 2:dj(a,s);break;case 3:cxjf(head);break;case 4:cxdj(a,s);break;case 5:exit(1);break;return 0;void jf(jifang *

19、head)/机房预约管理string st;int n;jifang *p1,*p2;p2=head;p1=head;ofstream outf(data_jifang.txt);cout请输入机房名st;while(1)if(p1-next=NULL) break;p2=p1;p1=p1-next;if(p1-name=st)cout请输入相应数字:1(8:00-10:00),2(10:00-12:00);cout3(14:00-16:00),4(16:00-18:00)n;cout请输入0进行解约,输入班级名进行预约p1-b1;if(n=2)cinp1-b2;if(n=3)cinp1-b3

20、;if(n=4)cinp1-b4;p2=head;p1=head;while(1)if(p1-next=NULL) break;p2=p1;p1=p1-next;outfname b1 b2 b3 b4endl;outf.close;void dj(int a3050,string s30)/登记/ int i,j; int t;string st;for(i=0;i30;i+)if(si=0)cout输入班级,输入0可删除数据si;if(si=0)cout请输入班级名st;for(i=0;i30;i+)if(si=st)for(j=0;j50;j+)aij=0; si=0;cout清除成功!

21、endl;cout输入上机的同学学号,输入0可删除数据endl;for(j=0;jaij;int m;cout要结束输入请按0,否则请按 1m;if(m=0) goto here;here:ofstream outf(data_dengji.txt,ios:out);if(outf) coutdendl;for(i=0;i30;i+)outfsi ;outfendl;for(i=0;i30;i+) for(j=0;j50;j+)outfaij ;outfendl;void cxjf(jifang *head)/查询预约情况 jifang *p1,*p2; p2=p1=head;cout/(8:

22、00-10:00) (10:00-12:00) (14:00-16:00) (16: 00-18:00)next=NULL) break;p2=p1;p1=p1-next;coutname b1 b2 b3 b4endl;coutendl;void cxdj(int a50,string s30)/查询登记情况int i,j;int t;for(i=0;i30;i+)if(si!=0)cout班级siendl;cout上机的同学学号endl;for(j=0;j50;j+)if(aij!=0) coutaij ;coutendl;机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统机房预约上机登记系统

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!