《计算机科学与技术学院c++课程设计指导书.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术学院c++课程设计指导书.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c+程序设计课程设计指导书吴克力 杨素娣 著计算机科学与技术学院c+程序设计课程建设小组2023年十二月C+程序设计课程设计指导根本要求课程设计名称:C+程序设计课程设计课程设计周时数:2 周(不停课)指导方式:集体辅导与个别辅导相结合课程设计适用专业:计算机科学与技术课程设计教材及主要参考资料:1、C+程序设计,吴乃陵,况迎辉编著,高等教育出版社2、C+程序设计实践教程,吴乃陵,李海文编著,高等教育出版社3、其他参考资料,学生可以自行拟定和查找一、课程设计教学目的及根本要求本课程设计是C+程序设计课程的组成之一,也是它的连续和延长。承受争论型学习方法,分组完成一个治理类型的小型软件。开设本课
2、程的目的是使学生通过参与小型软件 的开发过程,进一步把握面对对象的程序设计方法,使学生具有团队协作精神,并培育学生 的创力量和创意识。要求如下:1. 了解并把握面对对象程序设计方法,具备初步的独立分析和设计力量;2. 初步把握软件开发过程的问题分析、系统设计、程序编码、测试等根本方法和技能;3. 提高综合运用所学的理论学问和方法独立分析和解决问题的力量;4. 训练用系统的观点和软件开发一般标准进展软件开发,培育软件工作者所应具备的科学的工作方法和作风。5. 设计的题目要求到达肯定工作量500 行以上代码,并具有肯定的深度和难度。6. 编写出课程设计说明书,说明书不少于8 页源代码不算。7. 学
3、生必需认真阅读C+程序设计课程设计方案,认真主动完成课程设计的要求。要发挥自主学习的力量,充分利用课余时间,安排好课程设计的时间打算,并在课 程设计过程中不断检测自己的打算完成状况。在课程设计期间,以自学和上机试验为主。二、课程设计内容及安排1. 问题分析和任务定义:依据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,而不是怎么做限制条件是什么。2. 概要设计:对问题描述中涉及的操作对象定义相应的类,并依据以数据构造为中心的原则划分 模块,定义主程序模块和各抽象数据类型。规律设计的结果应写出每个抽象数据类型的定义(包括数据构造的描述和每个根本操作的功能说明),各个主要模块的算法,并画
4、出 模块之间的调用关系图;3. 具体设计:定义相应的存储构造并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统构造清楚、合理、简洁和易于调试,抽象数据类型的实现尽可能做到数据封装,根本操作的规格说明尽可能明确具体。具体设计的结果是对问题作出进一步的求精,写出数据存储构造的类型定义,写出函数形式的算法框架;4. 程序编码:把具体设计的结果进一步求精为程序设计语言程序。同时参加一些注解和断言,使程序中规律概念清楚;5. 程序调试与测试:承受自底向上,分模块进展,即先调试低层函数。能够娴熟把握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证明它或绕过它。调试正确后,认真整理
5、源程序及其注释,形成格式和风格良好的源程序清单和结果;6. 结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间简单性分析;7. 编写课程设计报告;三、课程设计题目一设计题目1. 学生选课系统课程根本信息:课程名,课时,开课学期,学分专业选修课信息包括:课程名,课时,开课学期,学分,所属专业;公共选修课信息包括:课程名,课时,开课学期,学分,面对专业,开课系部。学生信息:学号,姓名,专业,选课信息功能要求:(1) 课程信息的维护:查询课程信息状况、增加课程信息、删除课程信息、更课程信息。(2) 学生信息的维护:查询学生信息状况、增加学生信息、删除学生信
6、息、更学生信息。(3) 选课:每人每学期选课不能超过4 门;同一学期选修同一门课程的学生人数不能超过 100 人。只能选自己专业的专业选修课或面对自己专业的公共选修课。(4) 选课信息:记录学生的选课状况,属性为:课程名,选课时间学期,成绩。(5) 统计模块包括:每个学生选修课程的门数,每门课程选修的学生人数。2. 订票系统功能要求:(1) 录入:可以录入航班状况数据可以存储在一个数据文件中,数据构造、具体数据自定(2) 查询:可以查询某个航线的状况如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,0 确定航班是否满仓;可以输入起飞抵达城市,查询飞机航班状况;(3) 订票:订票状
7、况可以存在一个数据文件中,构造自己设定可以订票,假设该航班已经无票,可以供给相关可选择航班;(4) 退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班状况,订单要有编号。(5) 航班信息维护:增加、删除、修改航班信息,并可以修改航班数据文件3. 运动会分数统计系统某校要召开运动会,现要求开发一个学校运动会成绩统计系统,参与运动会有n 个系, 竞赛分成m 个男子工程,和w 个女子工程。系信息系编号为D01n,系名称Dname,运发动信息:编号,姓名,性别,所属系,成绩初值为0 工程信息:工程编号,工程名称功能要求:(1) 生成报名表:(2) 维护报名表:增加、删除、修改
8、,报名人数3 人以下含 3 人取消该工程的竞赛(3) 登记各项竞赛成绩(4) 依据预赛成绩产生预决赛名单(5) 计分规章:报名人数在 16 人以上含16 人取取前八名,前八名的积分分别为:8、7、6、5、4、3、2、1;报名人数在 8 人以上含8 人16 人以下,取前五名,前五名的积分分别为:7、5、3、2、1;报名人数在 8 人以下,取前三名,前三名的积分分别为:5、3、2;(6) 统计l 能统计各系总分,l 按系系总分、男女团体总分排序输出;l 按工程编号查询取得前三或前五或前八名的运发动状况。4. 图书治理图书信息:图书号、书名、作者名、分类号、出版单位、出版时间、价格、库存量。读者信息
9、:借阅证号、姓名、性别、诞生日期。派生以下两个类:学生读者年级、系别、可借数量其中:本科生10 本中文8 本,外文2 本,争论生中文 15 本,外文 5 本教师读者部门,可借数量中文 20 本,外文 10 本 试设计一图书信息治理系统,使之能供给以下功能:(1) 采编入库:购入一本书,经分类和确定书号后登记到图书账目中去,假设该书已存在,这库存量增加(2) 借阅:假设一种书的现存量大于 0,且借阅证还可借未达最大借阅数或没有过期书目该则借出一本,登记借阅者的图书证号和应归还期限(3) 归还:假设过期要缴纳罚款,注销借阅者的登记,转变该书的现存量(4) 去除库存:某书已无保存价值,将它从图书账目
10、中注销(5) 查询功能:按书名查询模糊查询 按作者名或借阅证查询5. 学校教职工信息表设计要求:设计要求实现如下功能:(1) 建立职工信息数据,包括职工号、姓名、性别、工资、诞生时间、参与工作时间和年龄必需计算得到。(2) 依据职工信息表,建立只含有姓名和年龄的职工信息简表。(3) 使用继承的方法构造 3 个类,即雇员类虚基类,教师类和工人类派生类使用相应的对象放置 10 个或以上职工信息。(4) 编写同名display成员函数,用来输出数组的内容。(5) 按不同类别输出职工信息,比方按系输出教师信息。(6) 要求对“”和“”运算符进展重载。考虑到输人职工编号时,也会因不留神引人空格,而且名字
11、中也需要有空格,所以重载“运算符时,需要满足这个要求。(7) 抽取并计算职工的平均年龄。(8) 检索查找指定信息。如按姓名检索、按年龄检索(9) 显示各年龄段分布的状况(10) 参考界面如下:u 增加 一位教师记录 、增加一位工人记录u 计算 教师平均年龄、计算工人平均年龄u 删除 一个教师、删除一个工人u 显示 全部职工记录、按系输出教师信息u 检索 (按姓名检索全部信息 按按职工号检索全部信息)u 完毕程序运行6. 商品销售治理系统商品信息:商品编号、商品名称、商品进货价、商品库存数量等商品销售:商品编号、商品名称、销售价格、销售数量、销售日期等主要功能1) 增加或删除货物信息2) 按编号
12、或名称查询货物信息3) 自动显示库存量缺乏肯定值的货物信息4统计读取上个月的销售状况统计: a.计算上个月每种产品的销售额。b.统计销售数量最大的十种产品、产生利润最大的十种商品7. 影碟出租治理 1影碟信息:碟片名称、国家、类型、导演、制片人、主演影星、库存量等2出租信息:顾客账号、碟片名称、借阅日期、归还日期、租金等 3顾客信息:账号、姓名、资金余额、所租影碟列表4) 影碟维护:添加、删除、修改5顾客维护:添加、删除、修改6) 碟片查询:按片名查询某片是否可借阅,结果有三种可借阅、已借出、无此片。7) 碟片借阅:输入顾客账号、碟片名称、借阅日期,修改资金余额每片押金20 元, 以防止不归还
13、8) 碟片归还:输入顾客账号、碟片名称、归还日期,修改碟资金余额,先返该片还押金,计算每片租金每三天的租金为 1 元,不满三天的按三天计算。由于每个顾客一次可借阅多片,所以也可能一次归还多片。在该操作完毕前,应输出该会员此次归还所需支付的总租金。9) 统计:各类型影碟的清单8. 简易客房治理客房信息:等级类型经济、标间、豪华、单人间、双人间、三人间、剩余客房数量员工信息:楼层治理员、客房领班、客房经理等功能:1) 登记客人入住登记:房号、客人姓名、入住时间、入住期限、入住押金、每日租金、客房等级、单/双/三人间2) 给定员工姓名,显示本员工所治理的楼层客房信息经济、标间、豪华、单 /双/三人间
14、的入住状况包括空闲/已入住/入住客人姓名3) 给定入住客人姓名,显示其入住状况房号、姓名、已交押金、入住费用累计, 入住结算4) 给定房号,修改押金数目实现添加的数目和以往的数目累加5) 依据某类客房经济、标间、豪华、单人间、双人间、三人间入住数量的凹凸进展排序9. 学生治理系统使用下面的数据,用C+设计一个简洁的学籍治理系统,实现出最根本的功能。学生根本信息文件(A.TXT)及其内容:A.TXT 文件不需要编程录入数据,可用文本编辑工具直接生成:学号姓名性别宿舍号码 号码01张成成男5018773211102李成华女10187723112.学生成绩根本信息文件(B.TXT)及其内容:学号 课
15、程编号 课程名称 学分 寻常成绩 试验成绩 卷面成绩 综合成绩 实得学分01A01大学物理 366788202 B03 高等数学478-190. . 功能要求及说明:(1)数据录入功能:对 B.TXT 进展数据录入,只录入每个学生的学号、课程编号、课程名称、学分、寻常成绩、试验成绩、卷面成绩共 7 个数据. 综合成绩、学分由程序依据条件自动运算。综合成绩的计算:假设本课程的试验成绩为-1,则表示无试验,综合成绩=寻常成绩*30%+卷面成绩*70%; 假照试验成绩不为-1,表示本课程有试验,综合成绩=寻常成绩*15%+试验成绩*.15%+卷面成绩*70%。实得学分的计算:综合成绩在 60 以上含
16、 60 ,应得学分=课程学分综合成绩在 60 以下 ,应得学分=0(2) 查询功能:分为学生根本状况查询和成绩查询两种A:学生根本状况查询:输入一个学号或姓名可实现选择,查出此生的根本信息并显示输出。B:成绩查询:输入一个学号时,查询出此生的全部课程状况,格式如下: 学号:xx姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 共修:xx 科,实得总学分为: xxx(3) 删除功能:当在 A.TXT
17、 中删除一个学生时,自动地在 B.TXT 中删除此人全部信息。(4 ) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。10. 学生考勤系统通过设计、实现一个学生考勤治理系统,主要功能如下:(1) 录入学生的缺课记录:首先提示用户依据正确的格式进展学生缺课记录的录入。(2) 修改某个学生的缺课记录:查找到你所需要修改的那位的学生全部缺课记录。在修改前要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:1、缺课日期2、第几节课3、课程名称4、学生姓名5、缺课类型6、退出修改程序并返回系统主菜单修改很简洁,仅需要对该学生的某个局部进展替换即可,实现对所选记录的修改
18、, 完成后更原有的学生记录。(3) 查询某个学生的缺课状况按学生姓名查找,为了到达查询结果依据日期升序排序,同一天内依据所缺课程的时间升序排序(4) 统计旷课学生姓名及旷课节数和有学生旷课的课程及旷课人次(5) 退出系统二其它要求:(1) 只能使用C+语言,源程序要有适当的注释,使程序简洁阅读;(2) 至少承受文本菜单界面假设能承受图形菜单界面更好可以通过自学实现;(3) 学生可自动增加功能模块视状况可另外加分;(4) 设计要求数据用类来组合数据与操作;(5) 可以使用继承的方法构造类,应尽量使用已削减代码的冗余度例如,学校职工治理系统 雇员类虚基类,教师类和工人类派生类;(6) 必要时,对于
19、相应数据类型的数据的输入和输出,要求对“”和“”运算符进展重载。例如考虑到输人学号时,也会因不留神引人空格,而且名字中也需要有空格,所以重载“运算符时,需要满足这个要求。;(7) 写出课程设计报告,具体要求见相关说明文档四、 设计报告的内容设计完毕后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材 料。设计报告以规定格式的电子文档书写、打印并装订,排版及图、表要清楚、工整。内容及要求如下:1封面:题目、班级、姓名、学号、指导教师和完成日期。2) 正文包括以下 7 个内容:1. 需求分析以无歧义的陈述说明程序设计的任务,并明确规定:(1) 输入的形式和输入值的范围;(2) 输出的形式
20、;(3) 程序所能到达的功能;(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。2. 概要设计说明本程序中用到的全部抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。3. 具体设计实现概要设计中定义的全部类,对每个操作只需要写出伪码算法;承受流程图等进展描述,画出函数和过程的调用关系图。4. 调试分析内容包括:a. 调试过程中遇到的问题是如何解决的以及对设计与实现的回忆争论和分析;b. 算法的时空分析(包括根本操作和其他算法的时间简单度和空间简单度的分析)和改进设想;c. 阅历和体会等。5用户使用说明说明如何使用你编写的程序,具体列出每一步的操作步骤。6. 测试结果列出你的测试结果,包括输入和输出。这里的测试数据应当完整和严格, 最好多于需求分析中所列。7. 参考文献列出参考的相关资料和书籍。五、考核方法及成绩评定1. 设计完毕时,要求每人提交一份课程设计报告不附源程序,不得少于 8 页,可运行的软件系统包括源程序一份。2. C+程序设计课程设计的最终成绩有以下几个方面组成:3. 程序运行状况40 分,程序的构造合理与否10 分,算法说明的清楚程度20分,上交程序的标准程度10 分,总结的深刻程度20 分课程设计雷同者总成绩以 0 分计算。