1、 程序设计任务书 指导老师:胡素君 联络Email:, 一、 程序设计性质、目标和任务 本课程设计是对基础课《面向对象程序设计》课程知识深入巩固并加强处理实际问题能力。 程序设计目标是经过实习,首先使学生加深对课内所学相关面向对象概念了解;其次,在具体程序设计中掌握基于VC++程序设计方法。经过该课程设计使学生掌握一个程序设计开发环境,提升同学们自己学习、查阅资料、独立分析问题和处理问题能力。 在两周程序设计中,经过查阅相关资料、和同学讨论和老师教导答疑,每个同学要完成一道实习题。各位同学应选择一道程序设计题目,进行程序设计工作,并写出具体程序设计汇报,最终提交程序设计汇报
2、源程序、可实施文件。指导老师在最终对学生进行简单检验答辩。 二、 程序设计内容 课题1 学生成绩管理系统 问题描述 设计一个简化学生成绩管理系统,并用C++语言实现。对该系统要求以下: 1. 该系统应实现以下功效 (1)按班级按课程从文件中读入对应平时成绩、期中考试成绩和期末考试成绩。 (2)三个成绩对总评成绩百分比被定义为常数,各占总成绩30%、30%和40%。 (3)计算每位学生总评成绩。 (4)算该班级本课程总平均成绩。 (5)算处于优、良、中、及格、不及格学生人数和占总人数百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60
3、分以下为不及格。 (6)按要求输出成绩在优、良、中、及格、不及格各区间学生学号。 2. 系统应有以下菜单: 0. 退出 1. 计算每位学生总评成绩 2. 计算班级本课程总评成绩 3. 统计优、良、中、及格、不及格学生人数和所占百分比 4. 查询成绩在优、良、中、及格、不及格各区间学生学号 许可用户不停从这个菜单选择任一功效实施, 直到选择退出, 才退出整个系统。 开发环境 采取C或C++实现,VC++6.0、Windows98/XP 基础要求 1. 建立文本文件 note.dat,第一行为学生总人数,其后有20个学生成绩,每个学生信息占一行,格式为: 学号(6位)
4、 平时成绩 期中考试成绩 期末考试成绩 具体内容为: 20 06030201 88 75.5 66 06030202 91 79.5 76 06030203 85 75 77 06030204 79 82 80.5 2.在实施3-6功效前, 应首先实施1, 即读入成绩后才能进行核实和查询。 3.从文件中读入对应平时成绩、期中考试成绩和期末考试成绩时,数据读入方法可用C语言中文件读入方法进行,也可用C++中流实现。 4. 每次计算出结果可在屏幕输出,并把每个学生总评成绩输入到
5、新文件out.dat文件中,格式为: 学生学号(6位) 总评成绩 成绩等级 比如: 03060101 88 B 为查询方便,可把总评成绩所处等级(优、良、中、及格、不及格)同时保留在文件out.dat中,分别用字母A、B、C、D、E表示。 5. 数据结构 两个类:学生(student)和学生成绩(marks) (1)学生类 数据组员: 学号、姓名、专业等 方法: 结构函数和析构函数 设置学号 读取学号 等等 (2)学生成绩类 —— 从学生类派生 数据组员: 平时成绩
6、期中考试成绩、期末考试成绩、总评成绩、成绩等级 方法: 读入成绩 输出成绩 显示成绩 求总评成绩 求等级 读取总评成绩 读取等级 等等 6.实现 (1)进行查询菜单前,必需优异行计算。用一全局变量实现。 (2)在计算模块中求班级总平均成绩和各等级人数百分比。 (3)编程时要求每一个类建两个文件,即类定义和实现文件。 (4)编程时注意包含相关文件。 设计要求 1) 界面友好,输入信息符合逻辑:如收费周期应最少以月为单位。 2) 能从实践生活出发,设计合理功效模块
7、 3) 各类信息数据结构明晰 4) 可依据本身生活体验添加相关功效模块。 拓展功效要求 激励采取Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。激励引入小型数据作为处理数据起源,拓展知识面。 课题2 家庭支出管理系统 问题描述 该系统要求对一个家庭某月支出情况进行统计和分析。经过此课题,熟练掌握数组、指针多种操作,和部分算法思想应用。 开发环境 采取C或C++实现,VC++6.0、Windows98/XP 基础要求 (1)支出信息包含: 支出类型(关键能够分为饮食,衣饰装扮,礼金,教育培训,电器,健身,通讯,儿女培养
8、旅游,文化娱乐,医疗,交通,聚会,居住等小项),金额,消费地点,消费时间等。 (2)需要实现功效 1) 用户依据口令进入系统 2) 输入某一月份,完成该月份支出管理 3) 输入并统计该月支出情况 4) 显示该月支出信息表,内容应包含日期,金额等 5) 按支出类型进行分类统计和排序 6) 进行本月消费分析,即分析每项支出所占总支出百分比,并显示分析结果 7) 显示按支出类型排序后支出信息 8) 将排序后内容存为文件。 (3)界面友好,输入信息符合逻辑如存款金额不为负数、不可能有非数字字符等。 设计要求 1) 界面友好,输入信息符合逻辑:如收费周期应最少以月
9、为单位。 2) 能从实践生活出发,设计合理功效模块 3) 各类信息数据结构明晰 4) 可依据本身生活体验添加相关功效模块。 拓展功效要求 激励采取Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。激励引入小型数据作为处理数据起源,拓展知识面。 题目3 学分和绩点测算器 问题描述 用C或C++语言开发一个能够自动计算适合于南京邮电大学学生使用所获学分和绩点计算器。而且该绩点计算器能够确保良好扩展性能。经过此课题,熟练掌握文件、数组、结构体多种操作,和部分算法思想应用。 开发环境 采取C或C++实现,VC++6.0、Window
10、s98/XP 基础要求 课题分基础要求和扩展要求,基础要求是必需完成,扩展要求视能力自选一个或多个完成。 1. 基础要求。 (1) 输入课程名、学分和成绩,经过绩点计算公式计算对应绩点,满足以下要求: 依据南京邮电大学本科生《南京邮电大学学生学籍管理措施》要求:为反应学生学习质量,采取学分绩点制学习质量评定方法。学生学分绩点以平均学分绩点(GPA) 表示,其计算方法以下: 低于60分折合为0绩点,不及格折合为0绩点 60—69 分折合为1.0—1.9绩点,及格折合为1.5绩点; 70—79 分折合为2.0—2.9绩点,中等折合为2.5绩点; 80—89 分折合为3.0—
11、3.9绩点,良好折合为3.5绩点; 90—100分折合为4.0—5.0绩点,优异折合为4.5绩点。 平均学分绩点(GPA) = ∑(课程学分数×绩点数×K) ∑课程学分数 平均学分绩点分为年平均学分绩点和累积平均学分绩点:即按年结算平均学分绩点称为年平均学分绩点;从入学后累积结算平均学分绩点积为累积平均学分绩点。 (2) 判定所取得绩点是否合格,能给出对应结果提醒; (3) 程序操作友好、界面美观。 设计要求 1) 界面友好,输入信息符合逻辑:如收费周期应最少以月为单位。 2) 能从实践生活出发,设计合理功效模块 3) 各类信息数据结构明晰 4)
12、可依据本身生活体验添加相关功效模块。 拓展功效要求 激励采取Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。激励引入小型数据作为处理数据起源,拓展知识面。 题目4 模拟飞机票售票系统 问题描述 某个飞机场天天有n个飞机班次,每个班次全部有班次号,固定起飞时间,固定路线(发站、到站),固定额定载客量,如: 班次次 起飞时间 发站 到 站 飞行时间 额定载量 余票数量 mu2344 8:00 禄口机场 白云机场 2小时30分钟 168 30 KU2112 6:30 禄口机场 双流机场 2小时45分钟 258
13、 40 HU2552 7:00 禄口机场 首全部机场 1小时30分钟 258 20 CA1503 10:00 首全部机场禄口机场 2小时 168 2 该系统要求对一个文件中所存放票务信息进行多种常规操作,如:查询、计算、显示等功效。经过此课题,熟练掌握文件、数组、指针多种操作,和部分算法思想应用,实现一个模拟飞机票售票系统。 开发环境 采取C或C++实现,VC++6.0、Windows98/XP 基础要求 (1)管理员,依据密码登录,修改班次信息(信息用文件保留number.dat),可随时增加新班次数据 (2)用户: 以
14、身份证注册,登录后能够浏览班次信息,显示出全部班次目前情况(假如目前系统时间超出了某班次发车时间,则显示“此航班已发出”提醒信息)。 查询路线:可按班次号、起飞站、终点站查询售票情况。 依据起飞时间给出次序起飞时间表(排序方法自选),存入文件保留(sort.dat)。 (3)售票员: 密码登录。 售票和退票功效:当查询出已定票人数小于额定载量且目前系统时间小于起飞时间前两小时才能售票,自动更新余票数量,能够设定提前售票时间。 退票时,输入退票班次,当本班次出发前两个小时以上才能够退票,自动更新已售票人数 (4)实名制售票,系统设置每张身份证只许可购置一张飞机票。 设计
15、要求 1) 界面友好,输入信息符合逻辑:如日期设定。 2) 能从实践生活出发,设计合理功效模块 3) 各类信息数据结构明晰 4) 可依据本身生活体验添加相关功效模块。 拓展功效要求 激励采取Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。激励引入小型数据作为处理数据起源,拓展知识面。 题目5 模拟手机电话本实现 问题描述 要求用C或C++实现对手机电话本模拟。 开发环境 采取C或C++实现,VC++6.0、Windows98/XP 基础要求 1) 保留电话号码:录入联络人电话号码等信息,存入电话本。联络人信息包含
16、姓名、固定电话、办公电话、移动电话、邮箱等多个信息。 2) 查找电话号码:按姓名查找,支持模糊查找,选择需要显示具体信息。 3) 修改电话号码:依据姓名或电话号码修改 4) 删除电话号码:依据姓名或电话号码删除 5) 显示最近十次通话号码(最近十次呼出号码、最近十次呼入号码)要求进行输入合理性检验 设计要求 1) 怎样避免电话号码和联络人反复输入 2) 一个联络人有多个号码维护 3) 界面设计合理,操作方便,功效清楚 4) 基础功效要求必需完成,能够结合实际情况,设计适宜交互界面、合理功效菜单,并考虑增加实用功效,可参考扩展要求 5)完成软件,能顺利运行,并进行答辩;
17、 6)提交程序设计汇报、程序源代码电子文档。 拓展功效要求 l 结合自己手机中电话本功效,如实现联络人分组,来电显示等功效 其它可行功效 题目6 图书管理系统 问题描述 该系统要求建立一个简单图书管理系统,并含有排序、查找、计算、插入、计算、显示等功效。经过此课题,熟练掌握文件、数组、指针多种操作,和部分算法思想应用。 开发环境 采取C或C++实现,VC++6.0、Windows98/XP 基础要求 (1)图书数据结构:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 (2)需要实现功效 1) 用户依据口令进入系统
18、 2) 图书信息用文件保留,程序运行时从文件读入数据,程序结束前将数据保留在文件中; 3) 图书信息录入功效 4) 图书信息浏览功效 5) 排序功效:(最少一个排序方法,比如出版时间排序) 6) 按书名查询和按作者名查询 7) 图书信息删除和修改 8) 学生可自动增加新功效模块(视情况可另外加分)。 设计要求 1) 界面友好,输入信息符合逻辑如登录号不为负数,日期输入符合一定格式等。 2) 界面设计合理,操作方便,功效清楚 3) 基础功效要求必需完成,能够结合实际情况,设计适宜交互界面、合理功效菜单,并考虑增加实用功效,可参考扩展要求。 4) 数据结构和函数
19、自行定义,要求清楚明确。 5) 完成软件,能顺利运行,并进行答辩; 6) 提交程序设计汇报、程序源代码电子文档。 拓展功效要求 激励采取Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。 三、 程序设计要求 附1:对学生程序设计期间纪律及提交内容要求: (1)要求上机时间内不得无故缺勤,有事需要向指导老师书面请假; (2)上机时严禁玩游戏,屡教不改者,实习成绩可为不及格; (3)每人手头准备一至两本C/C++相关工具书,上机前作好充足准备,包含事先写好关键算法程序代码以确保充足利用上机时间调试程序; (4)同组能够讨论思绪,不过程序要
20、自己完成,不可剽窃,若完全剽窃她人,实习成绩可为不及格; (5)实习最终阶段认真完成实习汇报电子文档,汇报内容不得少于15页。 (6)每个学生最终提交材料: ①压缩文件一个,起名为:程序设计_学号.rar(如:程序设计_12110101.rar)。该压缩文件中包含下列多个文件:程序设计汇报电子文档(起名为:程序设计_学号.doc)、源程序文件(起名为:题目名_学号名.cpp,如:学生管理系统_ 1101.cpp)、原始数据文件、编译链接后得到可实施文件(起名为:题目名_学号名.exe)②程序设计汇报纸质版一份。 (7)请同学独立完成汇报,若发觉两份汇报雷同,则两人全部按不及格论处,请各
21、位同学珍爱自己版权,也请指导老师严格把关。 附2:成绩评定 依据学生平时上机出勤情况、为上机所作准备情况、上机时表现、程序完成情况、汇报完成情况、验收答辩时表现等综合打分。等级为:优异、良好、中等、及格、不及格。 ((程序设计汇报.doc)汇报第一页(请填好题目,专业,姓名和学号,并注意对齐),第二页请不要改动,根据第三页起提醒完成论文!要尤其注意汇报格式和排版,一定根据要求来做!!!!) 四、 任务分配 本班课程设计题目共有6个,每个学生只需选做其中一个,具体分配标准是: 1号学生:题目1 2号学生:题目2 3号学生:题目3 4号学生:题目4 5号学生:题目5 6号学
22、生:题目6 7号学生:题目1 8号学生:题目2 9号学生:题目3 10号学生:题目4 11号学生:题目5 12号学生:题目6 … … 依这类推(特殊情况能够申请变更要求题目) 程序设计汇报 ( / 年 第 一 学期) 题 目: 专 业 计算机科学和技术 学 生 姓 名 班 级 学 号 1101 指 导 教 师
23、 胡素君 指 导 单 位 计算机系统和网络教学中心 日 期 .12.24 评 分 细 则 评分项 优异 良好 中等 差 遵守机房规章制度 上机时表现 学习态度 程序准备情况 程序设计能力 团体合作精神 课题功效实现情况 算法设计合理性 用户界面设计 汇报书写认
24、真程度 内容详实程度 文字表示熟练程度 回复问题正确度 简 短 评 语 老师署名: 年 月 日 评分等级 备注 评分等级有五种:优异、良好、中等、及格、不及格 (以下为程序设计汇报示例,请同学们根据字体和内容安排要求完成自己程序设计汇报) 手机信息管理系统(例) (题目格式:宋体,3号,加粗,居中对齐) 一、 课题内容和要求(格式:宋体,4号,加粗,两端对齐) 该部分可参考前面给
25、出问题描述再加以细化部分 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 二、需求分析(格式:宋体,4号,加粗,两端对齐) 在该部分中叙述每个模块功效要求 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 三、概要设计 (格式:宋体,4号,加粗,两端对齐) 在此说明每个部分算法设计说明(能够是描述算法步骤图),每个程序中使用存放结构设计说明(假如指定存放结构请写出该存放结构定义),整个程序框架。 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 四、源程序代码 (格式:宋体,4号,加粗,两端对齐) 各个算法实现源程序(能够是一组源程序,每个
26、功效模块采取不一样函数实现),源程序要根据写程序规则来编写。要结构清楚,关键函数关键变量,关键功效部分要加上清楚程序注释。,程序清单可用Times New Roman字体,大小为5号,单倍行距。 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 五、测试数据及其结果分析(格式:宋体,4号,加粗,两端对齐) (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 六、调试过程中问题(格式:宋体,4号,加粗,两端对齐) 每个模块设计和调试时存在问题思索(问题是哪些?问题怎样处理?),和算法改善设想。 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 七、程序设计总结(格式:宋体,4号,加粗,两端对齐) 总结能够包含 : 程序设计过程收获、碰到问题,碰到问题处理问题过程思索、程序调试能力思索,对该课程组织和考评方法提议等。 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距) 尤其注意: (1) 步骤图画法,多种框型正确选择。假如有图,要注意图标和图名。 (2) 字体和行间距正确设置,假如页数过多(尽可能15-20页之间即可),能够设为单倍行距,尤其是代码,一定不能选大字号,用“Times New Roman”五号字体,单倍行距。 (3) 要有测试数据及分析,能够抓图并反色,不能一片黑色。






