课程设计基于C++的课程表建立系统的实现

上传人:汽*** 文档编号:429760312 上传时间:2023-02-09 格式:DOC 页数:23 大小:328.02KB
返回 下载 相关 举报
课程设计基于C++的课程表建立系统的实现_第1页
第1页 / 共23页
课程设计基于C++的课程表建立系统的实现_第2页
第2页 / 共23页
课程设计基于C++的课程表建立系统的实现_第3页
第3页 / 共23页
课程设计基于C++的课程表建立系统的实现_第4页
第4页 / 共23页
课程设计基于C++的课程表建立系统的实现_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《课程设计基于C++的课程表建立系统的实现》由会员分享,可在线阅读,更多相关《课程设计基于C++的课程表建立系统的实现(23页珍藏版)》请在金锄头文库上搜索。

1、基于C+的课程表建立系统的设计与实现 第- 2 -页 共16页基于C+的课程表建立系统的实现学生姓名: 指导老师:摘 要 随着现代化计算机技术的发展,计算机的应用已经无处不再。无论是在工厂、公司还是其它地方,特别是在校园中,这科学与学识不断更新的领地,计算机的使用已经是大势所趋。计算机使用时具有简易、方便等功能,设计一个基于C+的课程表建立系统只是一个学生生活中的基本应用。它方便同学们学习生活中的细节。本课程表使用了面向对象的方法,运用Microsoft Visual C+ 6.0实现了信息输入立即处理,建立详细标准的学习课表。关键词 C+ ; 建立课表; 目录1 引 言- 3 -2系统需求分

2、析- 4 -21问题定义- 4 -2、2 可行性研究- 4 -2、3 需求分析- 5 -3 总体设计- 5 -4 详细设计741 student类的设计742数据结构的设计- 7 -43关键功能的实现- 8 -5 软件测试与调试136 结束语157致谢15参考文献- 15 -附录:- 16 - 2 -朱银满 基于C+的课程表建立系统的设计与实现 第- 22 -页 共22页1 引 言学生课表建立系统是学生日常生活中必不可少的实用型小工具,它对于学生平时的学习生活有着相当重要的帮助作用。便于操作、显示精确、短小实用就是它的明显特点。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分

3、低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率等等。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机来建立学生的课表有着非常明显的优点。它便于课表的实现,直观的观察使同学的观察和读取更加简易。本次课程设计目的:通过一个课程表建立系统,使学生的学业及其他事物的时间安排更加合理,从而达到提高日常工作、学习效率。使学生掌握一门

4、高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C+语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。系统的基本模块:根据系统功能的要求,课程表建立系统可以分为课程信息的输入,课程表的处理及建立等模块。- 22 -2系统需求分析21问题定义问题定义主要是用来初步的确定设计的规模和目标,通过这一阶段应该提出关于问题性质、工程的目标和规模的书面报告。问题定义阶段是软件生命周期中最简短的阶段,此次设计花了一周的时间,问题定义报告如下:项目:学生课程管理应用软件。目的:让同学有效的管理课程信息,帮助同学掌握课程时间及其它状况。背景:当前学生对上课时间及其它信息掌握不到位

5、,存在不到、迟到或忘记课程等状况。2、2 可行性研究可行性研究的最终目的就是利用最小的代价在尽可能短的时间内确定问题是否能够解决。这一阶段只是确定问题是否值得去解,而不是去解决问题。要考虑能否解决主要从下面两个方面考虑:(1)技术可行性 使用现有技术是否能够实现这个系统。(2)经济可行性 就是该系统的经济效益能超过它的开发成本吗?(3)操作可行性从技术方面,是通过C+来做系统的前台,来实现整系统的功能;从操作方面,基本的录入、查看等都能满足用户的需求;此次设计没有考虑经济可行性。经过这一阶段确定了该系统的粗略系统流程图(图3-1)。可行研究阶段的目标是:使工作人员从繁琐的填表,查表工作中解放出

6、来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。2、3 需求分析应该确定系统必须在Microsoft Visual C+ 6.0的环境下实现具有录入、处理、显示的学生课程表建立系统。通过以上可以知道该软件主要有以下功能模块: 学生课程名称显示 总学周时间显示 教师显示 地点显示 星期显示 一天中具体时间显示其中本次课程设计实现的档案模块又分为如下子模块: 登陆界面:主要是增加系统的人性化,使用户舒心 信息录入:主要是将课程相关信息录入 信息处理 显示项目:对学生课程信息进行处理、列表、显示。3 总体设计总体设计的目标:简单的说是回答“概括的说,系统应该如何实现?”这个问题

7、,所以总体设计又称概要设计或初步设计。而总体设计的过程是系统设计,首先定义一个包含了学生课程信息的struct结点,其次定义一个kecheng类来实现封装。下面先说一下一些相关的概念:模块化是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能及问题的要求。采用模块化原理可以使软件结构清晰,容易设计也容易阅读和理解,也易于测试和调度,所以它有利于提高软件的可靠性和可修改性;抽象是人类认识复杂事物时最有力的思维工具;模块独立是模块化、抽象、信息隐蔽和局部化概念的直接结果。内聚和耦合是对模块独立程度的两个定性标准合衡量不同模块间彼此间互相依赖的紧密程度

8、;内聚衡量一个模块内部各个元素彼此间结合的紧密程度。软件的系统结构图如下图3-1所示:系统用户进入课程信息输入名称教师教室总周数星期第几堂信息处理信息显示图3-1 系统结构图4 详细设计41 kecheng类的设计 为了实现管理系统的各功能首先定义了一个kecheng类,用来定义各种数据成员,声明这些功能函数。比如:说明为什么要这样设计setvalue(),showke()等 ,同时声明一些私有成员。class kechengpublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16

9、;int jie16;int xing16;int tang16;42数据结构的设计数据字典:数据字典包括以下几种类型的条目: 数据流条目数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。该系统中的数据流条目有:课程基本信息课程名称教师名称教室地点课程起始、结束时间上课的星期上课的具体时间逻辑结构的设计如表4-1所示:表4-1课程基本信息结构设计列名数据类型可否为空说明Ming stringNOT NULL课程名称Jiao stringNULL教师名称Di stringNULL教室地点Qi intNULL课程起始周Jie intNULL课程结束周Xing intNOT NU

10、LL上课的星期Tang intNOT NULL上课的具体时间43关键功能的实现(1)信息的输入setvalue()函数用来输入相关信息,包括课程名称、教师名称、教室地点、课程起始周、课程结束周、上课的星期、上课的具体时间。输入一次信息之后可选择是否继续添加新的课程。此函数代码如下:1基本信息输入void kecheng:setvalue()for(int i=0;i16;i+)cout*请输入课程名称(请简写 不要超过6个字)mingi;cout*请输入课程教师jiaoi;cout*请输入教室dii;cout*请输入课程的起始周qii;2如果输入错误,系统会自检,提示错误cout*请输入课程的

11、结束周jiei;if(jiei20)cout输入错误! 请重新输入jiei; 3程序会对一课程多节课的现象进行处理cout*请输入课程一周有几天有s;for(int u=0;us;u+)mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+u=qii;jiei+u=jiei;cout*请输入第u+1次课是星期几xingi+u; if(xingi+u7)cout输入错误! 请重新输入xingi+u; cout*请输入课程是第几堂tangi+u; if(tangi+u5) cout输入错误! 请重新输入tangi+u;i=i+s;4输完一门课程之后,系统会自动提示是否进行下一课程的输入cout*请问是否继续下一个课程?(Y/N)num;if(num=Y|num=y) continue;else break;(2)信息的处理与输出showke()函数,此部分用来实现课程相关信息的排序,包括表格的建立与信息的对应输出,此函数用来显示课程表的界面,用了一些“”号建立表格,在程序重的最后,通过for 来实现整个程序的循环,并且使用了switch选择分支结构,使功能更容易实现。1 基本课表表头的输出此函数代码如下:void kecheng:showke()cout /endl;cout /课 程 表/endl;cout /endl;cout_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号