c++大作业任务书(xiu)_第1页
c++大作业任务书(xiu)_第2页
c++大作业任务书(xiu)_第3页
c++大作业任务书(xiu)_第4页
c++大作业任务书(xiu)_第5页
已阅读5页,还剩46页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+大作业任务书一、目的和要求目的是加深对所学知识的理解和掌握,巩固课程学习的内容,培养学生掌握面向对象程序设计(OOP)的思想,锻炼其使用面向对象的程序设计思想分析和解决实际问题的能力,培养上机动手能力,培养文档报告书面表达和思辨的能力。要求学生对自己学过的C+知识进行综合运用,要求要用到类的特性:即类的封装、类的抽象、继承和多态,编写一些小型的具有一定应用价值的程序,通过对真实世界的模拟和抽象来解决一些比较简单的实际问题;掌握在Visual C+集成开发环境下编辑、编译、链接和运行一个C+程序的基本方法。二、任务内容参考后附的大作业题目,规定每位同学选择完成其中的两道题目,选择遵

2、循下面的原则:第一个题目管理类题目中选,第二个题目从管理类外的题目中选,每道题目选择人数不要超过3人。针对所选题目完成如下具体任务:1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?对功能进行说明;2. 类设计:综合考虑系统功能,对问题描述中涉及的操作对象定义相应的数据类型。抽象数据类型的实现尽可能做到数据封装,充分运用继承、派生、多态等知识,给出用UML描述的类之间的关系图;3. 详细设计:给出各个主要模块的算法,并画出模块之间的调用关系图;要使得系统结构清晰、合理、简单和易于调试,写出主要函数的算法框架;4. 程序编码:把详细设计的结果进一步求精为程序

3、设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;5. 程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6. 结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。7. 编写报告三、考核方法及成绩评定学生完成实验后,找老师检查,检查时间:11周五晚上上机时间,检查的方法为:a) 检查文档;b) 检查运行结果。课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序。优:按要求完成规定数量的

4、题目,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,程序完全实现设计方案,设计方案先进,软件可靠性好;良:完成规定数量的题目,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;中:完成规定数量的题目,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;及格:完成规定数量的题目,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;不及格:完成的题目数不到规定数量,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。编写程序至少要用二个以上的下列面向对象工具:1. 继承与

5、派生2. 友元函数3. 运算符重载4. 构造函数5. 虚函数6. 模板7. 文件输入输出注意:工具用的越多越好,但要用的恰当。四、提交的资料1、软件 提供正确的源程序电子稿。2、文档 要求同时提交报告的纸质和电子稿。报告内容从以下方面进行组织: 系统简介,基本要求,系统分析,总体设计(附类图), 详细设计,关键技术说明, 源代码,测试数据(包括主界面及各功能模块的运行截图及说明) ,系统评价及展望,设计小结(即收获和体会)。要求使用计算机打印A4纸上,使用如下的样式做为封面。面向对象程序设计大作业-项目名称学 院 名 称 (四号宋体居中)填写全称 专业班级 (四号宋体居中)填写全称 学生姓名

6、(四号宋体居中) 学 号 (四号宋体居中) 指 导 教 师 (四号宋体居中) 完成时间: 年 月 日五、附大作业题目:题目列表题目一、单链表(1人)(C级)3题目二:一元多项式求和(1人)(B级)3题目三:快餐店点餐系统(3人)(B级)3题目四、简单车辆管理系统(3人)(B级)4题目五、滚动发车系统设计(3人)(B级)4题目六、简单银行账户系统(3人)(A级)5题目七、银行叫号系统设计(3人)(B级)5题目八、学生学籍管理系统(3人)(B级)6题目九、教师工资信息管理系统(3人)(A级)6题目十、书刊租借信息管理系统(3人)(A级)7题目十一、仓库管理信息系统(3人)(B级)7题目十二、研究生

7、管理信息系统(3人)(B级)8题目十三、图书馆管理信息系统(3人)(B级)8题目十四、学生宿舍管理信息系统(3人)(B级)9题目十五、理财管理信息系统(3人)(B级)9题目十六、IT设备资产管理系统(3人)(B级)10题目十七、员工管理信息系统(3人)(B级)10题目十八某软件公司客户关系(CRM)管理系统(4人)(A级)11题目十九:足球联赛排名(3人)(A级)11题目二十:小学生四则运算测验(3人)(B级)12题目二十一:学生电子投票平台设计(3人)(B级)12题目二十二:物品库存管理系统(3人)(B级)12题目二十三:个人财政支出管理系统(2人)(C级)13题目二十四:电话簿管理系统(2

8、人)(C级)13题目二十五:股票交易系统(4人)(A级)13题目二十六:学生信息管理系统(2人)(C级)13题目二十七:学生成绩管理系统(2人)(C级)13题目二十八:小型字符串类(2人)(B级)14题目二十九:分数计算器(2人)(B级)14题目二十九:复数计算器(1人)(C级)14题目三十:无符号大整数计算器(2人)(B级)15题目三十一:超市密码存储箱系统(2人)(A级)15题目一、单链表(1人)(C级)建立一个单链表类,该链表类能够实现以下功能:(1)有合理的构造函数,能够由用户输入数据,创建链表,如果用户输入的数据不合理,能够给出提示信息(2)能够实现单链表元素的遍历(3)能够在指定位

9、置插入一个元素(4)能够删除指定位置的元素(5)能够统计单链表中的元素个数并输出题目二:一元多项式求和(1人)(B级)编写一个程序用单链表存储一元多项式,并实现以下功能:(1)能够运行用户合理输入两个的多项式(2)能够实现两个多项式相加(3)能够将相加的结果输出(4)能够对常见的错误进行正确的处理和输出题目三:快餐店点餐系统(3人)(B级)快餐店点餐系统一般具有高效、便捷的特点。它不仅能够进行加快客人点餐速度,同时还具有一定的数据汇总分析,对于快餐店分析业务、确定快餐品种等决策提供了有效的数据支持。本系统的功能设置要求如下:(1)使用类的相关理论,建立有关点餐单据的类(该类至少包含所点餐名,单

10、价、总价、大折情况、收银员)等相关信息(注,为了方便在后面统计,这个类的一个对象应该是某个单品信息)(2)使用继承的相关理论,建立VIP客户点餐以及员工点餐类,并根据需要适当添加数据成员和方法。(3)构造一个类,该类能够包含一个客户点餐的完整信息。(4)设计主函数,该函数可以实现一天的所有客人的点餐录入,并能够实现以下功能:能够完成收银,即汇总出一个客户的点餐情况以及消费总额能够根据输入,查询某个单品一天的销售情况能够统计vip的销售情况能够统计员工的销售情况能够统计出每个客户的平均销售额(5)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目四、简单车辆管理系统(3人)(B级)某

11、运输公司,需要对其下所有的各种车辆进行管理,拟建立一个车辆管理系统进行管理,该系统能够实现以下功能:(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少5种车型,各种车型的相关数据,根据需要自行设定(1)能够统计出该公司,所有车辆的累积行驶里程(2)能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等相关信息(3)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息(4)能够统计出该公司车辆的总数额以及每类车辆的数量(5)能够实现某个类型车辆的添加和删除(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目五、滚动发车系统设计(3人)(B级)某车站拟制定一条线路的

12、滚动发车系统,以帮助管理人员以及乘客随时了解相关的车辆信息和发车情况,该系统能够实现以下功能:(1)利用类的相关理论,建立车辆类,其数据成员根据需要自行设定(2)建立车辆对象为接点的链表(或者队列),用来管理滚动发车的线路结构(3)当有车辆返回值,将该对象放入到队列(链表)的最后(4)当输入的乘客数量达到队列(链表)中的第一个结点的载客人数驶,实现发车(即相应结点的数据输出以及在队列中删除该结点)(5)能够根据车牌号,查询该车辆在队列中位置以及其他相关信息(6)能够统计出此次操作一共派出多少个车,有多少个车进入队列(7)能够统计出此次操作一共发送了多少旅客以及队列中最大载客量(8)其他功能可根

13、据需要自行扩充,并请在课程设计报告中详细说明!题目六、简单银行账户系统(3人)(A级)根据面向对象程序设计的相关理论知识,模拟设计一个简单银行账户系统,该系统至少具有以下功能:(1)根据需要,建立一个账户的抽象类;(2)利用继承理论,建立普通借记卡类和信用卡类,并根据需要设定相应的数据成员(3)创建ATM存取款机类,该类至少包含所在地区信息。(4)创建刷卡机类,该类至少包含所在地区信息。(5)能够根据需要,自行选择所需要创建的卡的类型,并创建相应对象以及实现存储(6)实现相应卡片的存款功能。(7)实现借记卡的支付功能:本地支付(借记卡开卡地和ATM开卡地(刷卡机所在地)相同),不需要支付手续费

14、,否则需要支付千分之一的手续费(8)实现信用卡的支付功能:本地支付和异地刷卡都不需要手续费,而ATM取款需要支付千分之一的手续费(不管本地或者异地)(9)建立合理的主函数,以实现开卡(可以假设在一次操作中一种类型的卡,只能开一次)、取款、刷卡等操作(10)实现卡片的刷卡、取款的汇总功能以及相应信息的输出(11)实现卡片余额显示(12)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目七、银行叫号系统设计(3人)(B级)某银行因为业务量太大,需要开发一个实用的银行叫号系统,该系统能够实现银行叫号排队的功能,凡是取号、排队,被叫号的才能进行相关的业务处理,该系统能够实现以下基本功能:(

15、1)定义一个号码类,该类别至少包含序号、业务类型等信息成员,并包含取号、排队、叫号等相应的功能(2)能够生成一个排队的序列号,并能告知当前用户,还有多少能在等待(3)能够统计出当天一共有多少人排队(4)能够在任意时刻输出当前队列当前的排队情况(5)能够按照先后关系,将队列中队头的序列号输出,即相当于处理该业务,也就是出队(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目八、学生学籍管理系统(3人)(B级)该系统快速方便地对学生学籍管理进行管理、 输入、输出、查找的所需操作,使散乱的学籍档案能够具体化,直观化、合理化。系统应能完成以下基本功能:(1)学生基本信息的管理u 学生基

16、本信息的管理,包括学生信息的增、删、修改和查询功能。u 学生其他信息的管理(奖惩信息等),包括一些奖惩信息的增、删、修改、查询。(2)课程信息管理u 任课教师信息的管理(增、删、修改、查询功能)。u 课程科目信息的管理(增、删、修改、查询功能)。u 开课时间的管理(增、删、修改、查询功能)。u 学生选课信息的管理(增、删、修改、查询功能)。(3)课程成绩管理u 学生课程成绩的管理(包括成绩的录入、修改和查询)。(4)用户认证授权 u 用户登录验证u 用户授权(5)用户注册和管理(6)其他扩展功能题目九、教师工资信息管理系统(3人)(A级)工资管理系统是财务管理的重要组成部分,该系统通过计算机对

17、员工工资进行管理,能更方便快捷地实现无纸化操作。该系统要求主要完成以下功能:(1)登录模块:用户登录、密码修改、退出系统(2)角色信息管理模块:角色信息的添加、删除、修改及查询。(3)员工信息管理模块:员工信息(编号、姓名、密码、性别等)的添加、删除、修改以及功能。(4)工资类别模块:工资类别(类别编号、类别名称、工资金额)等的添加、删除、查询。(5)工资支出模块:支出添加、支出查询。(6)信息浏览与查看模块(7)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!。题目十、书刊租借信息管理系统(3人)(A级)某公司请你为租赁的图书管理开发一个书刊出租管理系统。要求实现如下功能:(1)读

18、者信息管理:读者信息(身份证号码、姓名、性别、电话等)的查询、添加、删除、修改(2)书刊管理:书刊ISBN号、书刊名称、编著者、价格、出版日期等信息的管理,能够以读者身份进行实现查询,能够以管理员身份实现查询、添加、删除、修改(3)租书管理:能够完成每个读者的租书业务,并能够以管理员的身份实现查询、添加、删除、修改(4)利润信息管理,能够允许管理员以指定日期查看租金汇总信息,能够查看每个读者的租书情况。(5)能够实现用户注册管理和授权(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十一、仓库管理信息系统(3人)(B级)仓库管理涉及计划、物料平衡、采购、入库、出库、库存等业务

19、,这些业务涉及大量的数据和信息,利用计算机技术实现仓库管理,是提高公司管理水平的有效方法。该系统要求实现的功能如下:(1)登陆界面及用户模块的设计(登陆界面、密码修改、用户角色权限的设置)(2)物资信息管理:添加物资信息、浏览物资信息、修改物资信息、 查询物资信息(3)入库信息管理:添加、浏览、修改、查询入库信息(4)出库信息管理:添加、浏览、修改、查询出库信息(5)库存信息管理:浏览库存信息、查询库存信息(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十二、研究生管理信息系统(3人)(B级)研究生信息管理涉及专业、课程、成绩、个人信息等的管理,需要处理大量数据和信息。利用

20、计算机能准确、及时地处理这些海量的数据、尽可能地减少人为错误造成的混乱。本系统的功能设置要求如下:(1)登陆界面及用户模块的设计(登陆界面、密码修改、新建角色及用户角色权限的设置)(2)专业管理:浏览、添加、修改、删除专业信息(专业编号、专业名称、专业描述)(3)课程管理:浏览、添加、修改、删除课程信息(课程编号、名称、学分、专业名称、课程描述)(4)研究生管理:浏览、添加、修改、删除(学号、姓名、性别、身份、出生日期、专业名称、备注)(5)成绩管理:浏览、添加、修改、删除(成绩编号、学号、课程名称、分数)(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十三、图书馆管理信息

21、系统(3人)(B级)图书管理系统涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理。从管理的角度可将数据管理分为3类:图书信息管理、系统用户管理、读者数据管理。本系统要求实现如下功能:(1)图书信息管理(图书的分类及图书信息的录入、修改、删除和校审)(2)读者管理(借阅者分类及借阅者个人信息的录入、修改和删除)(3)借还管理(借书和还书功能)(4)查询管理(图书查询和借阅查询)(5)系统管理(用户信息管理及权限分配)(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十四、学生宿舍管理信息系统(3人)(B级)随着高校的扩招,学生人数巨增,传统的管理方法已经不能适合

22、高校学生宿舍管理的需要。本系统的使用,能大大减少学生处管理者的重复劳动,是学校管理的得力助手。其主要功能模块如下:(1)宿舍基本信息模块:添加、修改、查询、删除宿舍基本信息。(2)学生入住模块:学生基本信息、缴费、入住、退房信息等。(3)卫生检查:对宿舍卫生检查、评比、统计等(4)水电收费:对超出规定部分的水电的收费管理(5)房屋报修:对报修情况的登记、时间安排、修理结果检查等。(6)外来人员登记:对外来人员的登记、管理等。(7)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十五、理财管理信息系统(3人)(B级)收支管理是一个家庭和个人日常生活中不少一部分。现在政府提出了要增加

23、老百姓的财产性收入,更是要我们人人争当理财能手。要理好财,首先就得处理好家庭日常收入支出记账,本系统能为你打造一个简单的家庭理财账本。其基本功能如下:(1)基础数据管理设计(收支项目的设计及家庭成员管理)(2)收支管理设计(记录每天的收入和支出情况)(3)储蓄管理设计(对银行的定期和活期账户进行管理)(4)借还钱管理设计(记录各种借钱和还钱情况)(5)理财分析设计(按类别查询各项明细及月度理财报告)(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十六、IT设备资产管理系统(3人)(B级)加强设备资产管理,提高设备资产管理的现代化水平,是建立现代化企业制度,推进企业改革的需要

24、。本系统要对IT设备资产进行管理和跟踪,从设备采购到软件的购买安装,运行日志、设备维护、故障维修管理等都实现信息化管理。其功能模块如下:(1)资产管理设计(对资产进行增、修改、查询、统计等操作,超级用户可删除资产)(2)软件管理设计(对已安装的软件信息进行增、删、改、查询操作)(3)服务管理设计(服务的基本信息,如故障类别、故障现象等)(4)报表设计(能根据查询、统计结果生成报表并可以打印)(5)系统管理(用户分类及权限管理等)(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十七、员工管理信息系统(3人)(B级)本系统提供了一套员工综合信息管理平台,使系统管理人员对公司的工

25、程进行分类,进行确定各个工程所对应的部门信息,并在已有信息的基础上能对所有的员工信息进行分类管理。具体功能包括以下几个方面:(1)工种种类设置: 添加、浏览、修改、删除工种种类(2)员工个人信息管理:添加、浏览、修改、删除员工信息(3)员工所属部门信息管理:添加、浏览、修改、删除部门信息(4)员工月收入信息管理:添加、浏览、修改、删除员工月收入信息(5)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十八某软件公司客户关系(CRM)管理系统(4人)(A级)客户关系管理软件是通过对客户详细资料的深入分析,提高客户满意程度,从而提高企业的竞争力。本系统分为三个模块进行:(1)客户管理

26、模块:通过它能说描述客户的信息,并能通过各种方式方便地查询客户。该模块主要实现对客户资料的添加、修改和查询等功能。1)客户资料的管理:客户资料包括区域(可分为5大区域,华东,华北,华南、东北、西北、西南或不同省市)、行业类型、客户状态(已签约、跟进、终止合同)、客户等级(已签约、跟进、终止合同)等属性的添加、浏览、修改。2)联系人资料的管理:(注:客户可以是购买或使用公司软件的企业。)联系人是指与公司有业务往来的所有人的名字。(2)员工管理模块:职工的个人信息资料增、删、改等;员工的工作日志、计划任务、近期联系记录等。(3)客户服务管理模块:用户的投诉、新需求处理、实施项目总结、合同的管理4个

27、方面。(4)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目十九:足球联赛排名(3人)(A级)足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。 基本要求  (1)定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然

28、也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出(2)设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。(3)程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。(4)其他功能可根据需要自行扩充

29、,并请在课程设计报告中详细说明!题目二十:小学生四则运算测验(3人)(B级)随机选择两个整数进行加减乘除运算,给出算式要求学生作答。基本要求如下:(1)电脑随机出20道题,每题5分,程序结束时显示学生得分;(2)允许随机给出的数在10以内。(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案,该题不计入学生得分(4)对于每道题目,学生第一次输入正确答案得5分,第二次输入正确答案得4分,第三次输入正确答案得3分,否则不得分;(5)20道题全部答完以后,电脑给出学生总分,并将学生得分为0的题目以及相应的正确答案再次输出。(6)其他功能可根据需要

30、自行扩充,并请在课程设计报告中详细说明!题目二十一:学生电子投票平台设计(3人)(B级)设计一个简易的学生电子投票系统,该系统至少实现以下基本功能:(1)候选人为5名,投票人数最少为10人;(2)候选人信息包括:编号、姓名和所在班级(3)能够录入候选人信息(4)能够进行投票(5)能够随时输出投票人当前的选票状态(6)当投票总人数不足10人时,能够给出正确提示(7)显示票数统计结果,并按得票数排序;(8)输入编号查询某候选人信息。(9)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!题目二十二:物品库存管理系统(3人)(B级)设计一仓库物品库存管理系统,系统能够实现仓库物品库存管理,如

31、进库、出库、浏览、修改、统计和查询等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十三:个人财政支出管理系统(2人)(C级)设计一财政支出管理系统,完成个人财政支出管理,如完成收入、支出、盈余的记录和管理等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十四:电话簿管理系统(2人)(C级)设计一个基本的电话簿管理程序,如插入、删除、显示、修改和查询联系人电话号码等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十五:股票交易系统(4人)(A级)设计一股票交易管理系统,能够实现股票交易系统的管理,如增加新股票、删除旧股票、挂起股票、停止交易

32、、修改股票的名称、代码、股票买卖等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十六:学生信息管理系统(2人)(C级)设计一学生信息管理系统,完成学生基本信息的管理,如学生基本信息的新建、存储、显示、修改和删除、查询、统计等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十七:学生成绩管理系统(2人)(C级)设计一学生成绩管理系统,完成学生成绩管理,如学生成绩信息的录入、显示、修改和浏览、查询、统计等功能(系统功能可充分自由发挥),最好用文件系统存储数据信息。题目二十八:小型字符串类(2人)(B级)C+标准库提供了一个功能强大的String类来实现字符串的

33、操作,本系统创建一个功能类似“String类”的小型字符串类,以实现类似的字符处理功能。题目二十九:分数计算器(2人)(B级)设计一个分数计算器,完成分数类表达式的“+、-、×、/” 数学四则运算以及“>、>=、<、<=、!=、=”等关系运算。数学四则运算表达式中可含有加、减、乘、除运算符以及实型数据(整数、分数数据)的运算对象。程序可以直接输入数学表达式以及关系表达式,不需要任何转换,就可以直接输出数学四则运算和逻辑运算的结果。并且操作简单、界面清晰、灵活、实用、方便等。(系统功能可充分自由发挥)。题目二十九:复数计算器(1人)(C级)设计一个小型复数计算器

34、,实现复数设置(复数输入)及“+、-、×、/”等运算功能以及用运算符 “ =”进行复数的相等比较,并显示比较结果。程序可以直接输入任意两个复数,就可以直接输出数学四则运算和逻辑运算的结果。并且操作简单、界面清晰、灵活、实用、方便等。题目三十:无符号大整数计算器(2人)(B级)为无符号大整数定义一个类。无符号大整数用字符数组存储各位数字,将类命名为UnsignedBigInt。重载输入和输出运算符>>和<<。无符号大整数以1234567890,123456780688这样的形式输入和输出。重载以下运算符,使他们能正确支持UnsignedBigInt类型的“+、-

35、、*、/” 数学四则运算和“>、>=、<、<=、!=、=”等关系运算。题目三十一:超市密码存储箱系统(2人)(A级)在大中型超市门口一般都放置有很多存放包的箱子,顾客可以将不能带入超市的物品暂存在里面,购物结束后在取回。顾客使用箱子的整个流程为:按“存”按钮“找到空箱子,产生密码”(系统完成)“打印密码,打开箱子”(系统完成)“取密码纸存包,并关闭箱子,入超市购物”;“购物结束”“输入密码”“找到对应的箱子并打开”(系统完成)“取包”。现要求设计程序模拟以上系统功能,并且操作简单、界面清晰、灵活、实用、方便等。(当空箱子被顾客申请得到时,系统自动生成6位密码,此密码不能

36、与正在使用的任何一个箱子的密码相同。)1. 有理数运算问题描述有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C+中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符=实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函

37、数和有理数输出函数。测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。实现提示设有两个有理数a/b和c/d,则有:(1)有理数相加 分子=a*d+b*c;分母=b*d(2)有理数相减 分子=a*d-b*c;分母=b*d(3)有理数相乘 分子=a*c; 分母=b*d(4)有理数相除 分子=a*d; 分母=b*c优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是

38、否相等只需判定它们两个的分子和分母分别相等即可。选做内容重载插入(<<)和提取(>>)运算符,使得对有理数可以直接输入输出。设有理数输入格式为:整数1 整数2 /整数1为分子,整数2为分母有理数输出格式为:分子/分母2. 通讯录管理 问题描述编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。基本要求程序应提供的基本基本管理功能有:1)添加:即增加一个人的记录到通信录中2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。3)存储:即将通讯录信息保存在一个文件中。4)装入:即将文件中的信息读入程序。5)查询:可根

39、据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。6)修改:可修改一个人的除姓名外其它信息。测试数据程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。实现提示程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。选做内容为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。虽然不能说链首的节点

40、一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。3. 商品销售统计问题描述编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。基本要求程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑

41、分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时。程序计算出应付钱款数并显示。测试数据程序应输入不少于10种商品的信息,并进行模拟运行。实现提示本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。选做内容程序在营业结束时统计每种商品的销售量,销售金额及总营业额。因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。注意,商品类的数据成员应增加有商品的销售量和销售金额。总营业额是所有

42、商品的营业额之和,可用静态数据成员实现。或可由原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。4. 研究生初试录取问题描述研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。基本要求程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成

43、绩。这些原始数据应保存到一个文件中。然后输入:录取的总分要求,各课程的最低分数要求。输出要求:过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。测试数据程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。实现提示可定义一个考生类存放有关信息和实现相应的操作。分数线数据(总分要求和各门课程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接访问。选做内容初试合格的考生应经过复试才能决定是否录取,复试成绩合格(大于一给定分值)可以录取,否则被淘汰。而录取的顺序假设是按照专

44、业基础课和复试成绩的平均值来确定的(因为这涉及到是计划内还是委培问题)。因此,应首先输入初试合格考生的复试成绩及复试的合格线分数,然后按上面要求排序输出并标明被淘汰的学生。5. 足球联赛积分问题描述足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。基本要求设积分表结构如下:队名(不超过15个字符),

45、已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。测试数据可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。实现提示定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进

46、球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。选做内容篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。6. 银行账户管理程序问题描述设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。基本要求 程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,

47、并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。测试数据程序应输入不少于10人的账户信息,应考虑到人员同名的情况。实现提示可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。选作内容在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理 。7. 模拟计算器程序问题描述设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及(清除)、A(全清除)操作。基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达

48、式显示在窗口中,用户键入= 符号后,窗口显示出结果。测试数据程序输入不少于5种不同的表达式进行测试。实现提示可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。选作内容如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。8. 设计一个排课程序问题描述每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2,n,其中1位最高的期望值。课程也有优先级,1,2,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。设计一个程序针对某些课程给某些教师进行

49、排课。基本要求程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。测试数据程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配

50、的课等情况。实现提示可定义一个教师类存放教师信息,所有教师的信息可以用链表存储;定义一个课程类存放课程信息,所有课程的信息可以用链表存储;定义一个排课类进行排课,排课类可以访问课程和教师信息。选作内容对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如一个老师不能同时给两个班上课。9. 设计一个Database类问题描述设计一个Database类。Database类是一个表的集合,而表又由行和列组成。例如,下面的雇员信息表包含三个记录,每个记录有四个字段( Employee、Name、Department和Boss)。雇员姓名部门部门经理111-11-1234CruzACCWar

51、der213-44-5649JohnstonMISMichaels321-88-7895TomFINBearskin基本要求能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。测试数据可以选取高校人员(教师、学生、职工等)数据库作为测试数据实现提示Database 类的公有接口包含如下数据成员: 创建一个表。 通过增加或删除字段修改表结构。 删除一个表。 在表中增加一个记录。 从表中删除记录。 用适当的查询语言从一个或多个表中查找信

52、息。选做内容高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;然后完成上面操作。10. 电煤气管理系统问题描述设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。基本要求l         实现对用户信息的录入l      

53、;   实现水电煤气数据的录入l         计算并查询用户应缴费用l         查询未缴纳费用名单测试数据:可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。实现提示l         用户基本信息类,教工用户信息类,学生用户信息类 l     

54、0;   收费标准类,该类存储水电煤气标准单位的收费标准,如:煤气,1.0元/立方米;l         不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。l         在实现的时候考虑继承和多态技术的合理使用。选做内容实现用户查询系统能够找出该用户半年之内的交费记录和本次应交费的数据。

55、11. 对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore计算方法为(1)m<9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。(2)m9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规定方法计算出每一个选手的最后得分,而

56、且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为:1 zhangjin 8.8 9.3 7.9 8.7 8.9 9.7 9.22 lintao 8.9 8.2 8.6 8.8 8.5 9.1 9.33 guojian 8.9 8.4 8.7 8.6 8.6 8.4 8.64 maling 7.9 8.3 8.5 8.6 8.5 8.9 8.35 liuyifan 9.5 9.1 9.8 9.2 9.0 9.5 8.9那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:- &

57、#160;参赛号    姓 名     最高分    最低分   累积分    最后得分 -     1  zhangjin       9.7       7.9      44.9    

58、;    8.98     2    lintao       9.3       8.2      43.9        8.78     3    guojian  

59、0;    8.9       8.4      42.9        8.58     4     maling       8.9       7.9      42.2   

温馨提示

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

评论

0/150

提交评论