《面向对象程序设计》课程设计要求和任务书

更新时间:2023-05-14 05:53:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c++课程设计

《面向对象程序设计》课程设计任务书

课程设计名称:面向对象程序设计 指导老师:王淮亭

课程设计周(时)数:2周

课程设计授课单位:计算机基础教学部 指导方式:集体辅导与个别辅导相结合 课程设计适用专业:计算机科学与技术

课程设计教材及主要参考资料:

《C++程序设计语言》Bjarne Stroustruo 高等教育出版社

《C++程序设计》谭浩强编著,清华大学出版社

《C++程序设计教程学习辅导》谭浩强编著,清华大学出版社

服务课程名称:面向对象程序设计

一、课程设计的目的要求

《面向对象程序设计课程设计》是计算机专业及相关专业学生的一门实践课程。本课程对于检验学生学习面向对象程序设计课程后的学习成果,对于软件开发主流方法和思想——面向对象程序设计方法和思想的牢固掌握和熟练应用是一个非常重要的检测,是后续课程得以顺利进行的必要保证,对学生的程序设计能力培养和软件工程能力的培养具有重要的作用和意义。 本课程设计要求学生综合应用已学的计算机相关知识,例如程序设计基本思想和方法、C++语言、面向对象程序设计思想和方法,通过对真实世界的模拟和抽象来解决一些比较简单的实际问题。课程要求学生针对一个比较系统的题目进行编码、测试,并进行设计说明书的撰写,从而培养和锻炼学生初步的工程意识和做法。

二、课程设计内容及安排

1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?

2. 逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;

3. 详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;

4. 程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;

c++课程设计

5. 程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;

6. 结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析。

7. 编写课程设计报告

三、 设计报告的内容

1、 实习报告题头

给出题目、班级、姓名、学号和完成日期

2、 目的和要求

通过实习进一步掌握所学的基本知识,学会解决实际问题的方法

3、 问题描述

说明程序设计的任务。在这里应明确:

(1) 输入的形式和输入值的范围;

(2) 输出的形式;

(3) 程序所能达到的功能;

(4) 测试数据:具有典型和代表性的数据,包括正确的输入及其输出结果和含有

错误的输入和输出结果。

4.开发环境和工具

(1) 程序设计环境,主要描述硬件配置,包括计算机的外存、内存、CPU、显示器的分辨率以及完成该实习必备的外部设备

(2) 软件工具,包括操作系统平台,程序设计工具

5.设计过程描述

根据实习的目的、要求与问题描述,构思程序的构架与设计方案。

具体地应说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系,画出流程图。

6 . 编程调试与解决

7、 小结

(1) 说明调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;

(2) 算法的时空分析和改进设想

(3) 经验和体会等

8、附录(源程序代码)

源程序代码书写要求规范化,开始要有规范化的说明,如程序名、功能、环境与工具、函数(方法)间的调用(引用)关系、设计者、设计时间与修改时间等;代码书写要采用缩格、函数(方法)和关键语句与变量要加注释等,且书写时应采用c(c++)

c++课程设计

的现代风格,如函数原型、enum、typedef、void、main等

9、测试结果

以问题描述中所列出的测试数据进行测试,列出测试结果,包括输入和输出。

10.参考文献

列出参考的相关资料和书籍。

四、课程设计考核方法及成绩评定

课程设计结束时,要求学生写出课程设计报告,可运行的源程序。

课程设计成绩分两部分,设计报告占30%,设计作品占70%。

按照优秀、良好、中、及格,不及格五级给予成绩。

五、进度安排

整体设计和详细设计 3天

编代码 3天

调试和测试 2天

设计论文书写 1天

演示软件和答辩 1天

附课程设计题目:

c++课程设计

1. 职工信息管理系统设计(限1人完成)

2. 图书信息管理系统设计(限1人完成) 3. 学生信息管理系统设计(限1人完成)

4. 学生选修课程系统设计(限1人完成) 5. 销售管理系统 (限1人完成)

6. 编写一万年历系统(限最多1人完成)

7. 学生成绩管理(限最多2人完成)

8. 通讯录管理(限最多1人完成)

9. 一元多项式简单的计算器(限最多1人完成)

10. 图书管理系统(限最多2人完成)

11. 校园导游咨询(限最多1人完成)

12. 电煤气管理系统(限最多2人完成)

13. 商品销售统计(限最多2人完成)

14. 校际运动会管理系统(限最多2人完成)

15. 某公司的库存管理系统(限最多2人完成)

16. 车票管理系统(限1人完成)

17. 职工工作量统计系统(限最多1人完成)

18. 保安值班安排系统(限最多1人完成)

19. 单项选择题标准化考试系统(限最多2人完成)

20. 酒店管理系统源码(限最多2人完成)

21. 学生考勤管理系统(限最多2人完成)

22. 飞机订票系统(限最多2人完成)

23. ATM取款机程序

24. 上海公交助手嵌入式系统(限最多2人完成)

25. 酒店点菜系统(限最多2人完成)

26. 课程设计选题管理系统(限最多2人完成)

27. 杂志订阅管理系统(限最多2人完成)

28. 成绩记录簿(限最多2人完成)

29. 简单计算器程序

1. 职工信息管理系统设计(限1人完成)

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:

职工信息录入功能(职工信息用文件保存)--输入

职工信息浏览功能 --输出

查询和排序功能:(至少一种查询方式) --算法

按工资查询

按学历查询等

职工信息删除、修改功能(任选项)

2、图书信息管理系统设计(限1人完成)

c++课程设计

图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:

图书信息录入功能(图书信息用文件保存)--输入

图书信息浏览功能--输出

查询和排序功能:(至少一种查询方式)--算法

按书名查询

按作者名查询

图书信息的删除与修改(可选项)

3、学生信息管理系统设计(限1人完成)

学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:

学生信息录入功能(学生信息用文件保存)---输入

学生信息浏览功能---输出

查询、排序功能---算法

按学号查询

按姓名查询

学生信息的删除与修改(可选项)

4、学生选修课程系统设计(限1人完成)

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:

课程信息录入功能(课程信息用文件保存)--输入

课程信息浏览功能--输出

查询功能:(至少一种查询方式)--算法

按学分查询

按课程性质查询

学生选修课程(可选项)

5、销售管理系统 (限1人完成)

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:

1)销售员的代号

2)产品的代号

3)这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

1)计算上个月每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

c++课程设计

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)

4)输出统计报表

6、编写一万年历系统(限最多1人完成)

要求: 模仿现实生活中的挂历.

当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几).

当系统日期变到下一月时,系统自动翻页到下一月.

7、学生成绩管理(限最多2人完成)

班级类,学生类,课程类,选课

主要功能:

(1)能按学期、按班级完成对学生成绩的录入、修改

(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序

(3)能查询学生成绩,不及格科目及学生名单

(4)能按班级输出学生的成绩单

8、通讯录管理(限最多1人完成)

主要功能:

(1)能建立、修改和增删学生通讯录

(2)能够按多种方式进行查询

要求:界面友好,易于操作

9、一元多项式简单的计算器(限最多1人完成)

主要功能:

(1)输入并建立多项式;

(2)输出多项式;

(3)两个多项式相加,建立并输出和多项式;

(4)两个多项式相减,建立并输出差多项式。

(5)算法的时间复杂度、另外可以提出算法的改进方法

实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。

要求:一元多项式简单计算器的基本功能

10、图书管理系统(限最多2人完成)

功能描述:

1). 新进图书基本信息的输入。

2). 图书基本信息的查询。

3). 对撤消图书信息的删除。

4). 为借书人办理注册。

5).办理借书手续(非注册会员不能借书)。

6).办理还书手续

c++课程设计

信息描述:有关该系统基本信息的描述,如:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等

11、校园导游咨询(限最多1人完成)

1)、功能描述:设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称,代号,简介等信息;以边表示路径,存放路径长度等相关信息。

2)、为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

3)、为来访客人提供图中任意景点相关信息的查询。

测试数据:由读者根据实际情况指定。

实现提示:一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网,顶点和边均含有相关信息。

12、电煤气管理系统

问题描述;涉及一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理系统等。在设计时要考虑到学生和教工在用水电时地不同,学生可以免费使用一定额度地水电,超过这个额度以后必须自费使用,且自费部分水电费地价格要高于教工地收费标准。

基本要求:

实现对用户信息地录入

实现水电煤气数据地录入

计算并查询用户应缴纳费用

查询未缴纳费用名单

13、商品销售统计

问题描述:编写商品销售统计程序,商品的信息有商品的名称。计算单位(重量或件)、单价。所有商品的信息事先存入计算机,屏幕上显示所有的名称,选择商品名,输入商品计量单位(如重量、件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。

基本要求:

程序分为两部分;第一部分用于输入商品的住处并允许个性和删除;第二部分实现销售统计。程序运用时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换,第二部分运行时,首先先显示所有的商品名称及代码,用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码表示本次购买结束。

测试数据:

程序应输入不少于10种商品信息,并进行模拟运行。

实现提示:

本程序的商品信息管理可采用与课程设计题目2类似的数据结构,即定义一个商品类,每种商品作为商品类的实例存储在链表结点中。

选作内容:

程序在营业结束时统计每种商品的销售量,销售金额及总营业额,因此第二部分应有营业结束的选择,当用户选择此贡时屏幕上显示当天营业的每种商品的

c++课程设计

销售量,销售金额及总营业额。注意、商品类的数据成员应曾加有商品粮的销售量和销售金额。总营额是所有营业额之和,可用静太数据实现,或可用原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。

14、校际运动会管理系统

问题描述:

1).初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数;

2).各项目名次取法有如下几种:

取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;

取前3名:第1名得分 5,第2名得分 3,第3名得分2;

用户自定义:各名次权值由用户指定。

3).由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。

4).所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。

15、某公司的库存管理系统

1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)分析系统中的各个实体之间的关系及其属性和行为;

(2)根据问题描述,设计系统的类层次;

(3)完成类层次中各个类的描述(包括属性和方法);

(4)完成类中各个成员函数的定义;

(5)完成系统的应用模块;

(6)功能调试;

(7)完成系统总结报告以及系统使用说明书。

16、车票管理系统(限1人完成)

一车站每天有n个发车班次,每个班次都有一班次号(1、2、3 n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如

班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数

1 8:00 郫县 广汉 2 45 30 2 6:30 郫县 成都 0.5 40 40 3 7:00 郫县 成都 0.5 40 20 4 10:00 郫县 成都 0.5 40 2

(一)功能要求:用c/c++设计一系统,能提供下列服务:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班

c++课程设计

次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数

(二)其它要求:

(1) 只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读

(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)

(3) 学生可自动增加新功能模块(视情况可另外加分)

(4)写出课程设计报告,具体要求见相关说明文档

17、职工工作量统计系统(限最多1人完成)

编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次。按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。要求程序用有序链表存储数据信息。

18、保安值班安排系统(限最多1人完成)

某公司有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:

赵:星期二、星期四

钱:星期一、星期六

孙:星期三、星期日

李:星期五

周:星期一、星期四、星期六

吴:星期二、星期五

陈:星期三、星期六、星期日

19、单项选择题标准化考试系统(限最多2人完成)

(一)功能要求:

(1) 用文件保存试题库。(每个试题包括题干、4个备选答案、标准

答案)

(2) 试题录入:可随时增加试题到试题库中

(3) 试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)

(4) 答题:用户可实现输入自己的答案

(5) 自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给

出成绩。

c++课程设计

(二)其它要求:

(1) 只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读

(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)

(3) 学生可自动增加新功能模块(视情况可另外加分)

(4)写出课程设计报告,具体要求见相关说明文档

20、酒店管理系统源码

功能:1)、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,如不同级别房间价格的查询 修改 刷除等 。 2)、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。 3)、月底进行结算,实收多少, 应收多少

21、学生考勤管理系统

考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续多节课用 begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:

1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:

缺课日期第几节课 课程名称学生姓名 缺课类型

每行一条纪录。

例如:

2008-04-29 3-4 C++程序设计实验 张三 迟到

2008-04-28 3-4 C++程序设计 李四 旷课

2).修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。

3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。

4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;

5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序;

6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能)

c++课程设计

22、飞机订票系统

假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:

航班信息录入功能(航班信息用文件保存)--输入

航班信息浏览功能--输出

查询航线:(至少一种查询方式)--算法

●按航班号查询

●按终点站查询

承办订票和退票业务(可选项)

23、ATM取款机程序

(1)软件用途:ATM取款

(2)功能概述:模拟ATM取款机 登陆、取款、查询

24、上海公交助手嵌入式系统

1).查询某一个公交的整个路线图.

2).查询某一个公交的发车时间,车次,抵达时间,使用费用

3).查询从一个出发点到目的地的所有路线,并找到最佳路线(包括最短,最廉价,最好)

4).支持多个公交换乘到达目的地的最佳算法 (包括公共汽车与地铁换乘)

5). 查询上海公交某一个站点

6). 查询上海公交站某一个站

25、酒店点菜系统

(1)自定义文件生成工具: 将酒店提供的餐饮项目进行汇总,生成自定义的文件供移动设备使用。

(2)点菜软件:运行在移动设备上,供客人 点菜、退菜、结帐。

(3)服务端软件: 对客人点的菜进行管理,数据备份,通知酒店。

26、课程设计选题管理系统

主要包括下列模块:

1). 新增、修改、删除课程设计题目;

2). 新增、修改、删除学生信息;

3). 查询课程设计内容;

4). 课程设计选题;

27、杂志订阅管理系统

使用计算机对杂志进行管理,该杂志最多拥有订户不超过10人,每个订户的信息包括:姓名,性别,电话号码,杂志单位,订阅数,订阅期限(某年某月)

要求有以下功能:

(1)增加新订户,即将新订户的全部信息输入到文件中

(2)根据当天的日期对新订户全部信息进行查询,删除已到期的订户记录

c++课程设计

(3)统计本期杂志订户数并打印运算结果

本期订信息

订户名 订阅数 单价 全额

李平 2 5.5 11.0

黄海 1 5.5 5.5

合计 3 1.0 16.5

28、成绩记录簿

编制一个C++语言成绩记录簿,每个学生信息包括:学号、姓名、C++语言成绩。具体功能:

(1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的成绩;

(3)按学号或姓名查询成绩;

(4)添加成绩记录;

(5)修改指定姓名或学号的学生的成绩并可存盘;

(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。

29、设计一个简单计算器(限最多1人完成)

要求: 在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。

c++课程设计

学 校 人 员 管 理 系 统

(第一组)

本程序用于管理一所学校的人员,所有人员类(Record)有共性的数据成员是:姓名、性别、身份证号码、生日、地址和年龄。学生类(Student)的数据人员包括共性的数据成员以及学号、宿舍号、专业和年级。员工类(Staff)的数据成员包括共性的数据成员以及工号、公寓、每天的工作时间和薪水(每月)。教授 类(Professor)的数据成员包括员工的数据成员以及教授授课专业、教授所从事的科研名称和教授所带研究生的数目。普通员工类(Worker)的数据成员包括员工的数据成员以及工作类别。

各类之间的关系如下图:

程序要求:

1、先创建一个菜单,让用户选择是对哪一类对象进行操作。

2、确定好对哪一类对象进行操作后,程序又创建一个菜单让用户选择对此类对象进行如何操作。操作包括:输入记录、显示记录、修改记录和删除记录。

3、输入记录时提示用户输入每一条记录的各个字段,输入的每一条记录都要保存到文件如a:\\example.dat下。注意一条记录相当于一个对象。输入的学号不能重复,输入的工号不能重复。输入的数据作有效性检测。

4、显示记录时,先提示用户输入要显示哪一个记录号的记录,如记录号在不超出范围则显示要访问的记,否则告诉用户记录号超出范围。

5、修改记录时,先要求用户输入要修改的记录关键字内容,如学生的关键字段学号、员工的关键字段是工号。输入好关键字后进行查找所要修改的记录,找到了重新输入该记录的数据成员内容,否则告诉用户找不到此记录。

6、删除记录时,先要求用户输入要修改的记录关键字内容,)输入好关键字后进行查找所要删除的记录,找到了把它删除掉,否则告诉用户找不到此记录。提示:删除的方法先创造一个临时的文件(a:\\example.tmp),一条一条记录查找过去,把非要删除的记录一条一条写到临时文件下,然后把临时文件复制到a:\\example.dat下。

7、程序执行结果部分演示如下图:

c++课程设计

注意第二屏的退出退到第一屏,第一屏退出退出整个程序。

编写此程序至少要用三个以上的下列面向对象工具:

1、继承与派生

c++课程设计

2、友元函数

3、运算符重载

4、构造函数

5、虚函数

6、模板

7、文件输入输出

注意:工具用的越多越好,但要用的恰当。

不同的类对象存放在不同的文件中。

附:

在完成上面要求的情况下,如有时间请做下面部分:对每一对象的生日作有效性检测,月份在1-12,日期在1-31,年份在1940-2002,如月份、日期无效置月份、日期为1,日期还要根据是否是闰年来检测有效性。对于员工类如某一个月是某人的生日工资加200元作额外津贴。

c++课程设计

公 司 人 员 工 资 管 理 系 统

(第二组)

本程序用于管理一个公司的人员工资,所有雇员类(Employee)有共性的数据成员是:编号、姓名和工资。技术员类(Technician)的数据成员包括共性的数据成员以及工作时间(每月的)、每小时的工资。销售员类(Salesman)的数据成员包括共性的数据成员以及销售额(本月)、提成。经理类(Manager)的数据成员包括共性的数据成员以及月工资。销售员兼经理类(Salesmanager)的数据成员包括销售员类和经理类的数据成员。

各类之间的关系如下图:

程序要求:

1. 先创建一个菜单,让用户选择是对哪一类对象进行操作。

2. 确定好对哪一类对象进行操作后,程序又创建一个菜单让用户选择对此类对象进行如何操作。操作包括:输入记录、显示记录、修改记录和删除记录。

3. 输入记录时提示用户输入每一条记录的各个字段,输入的每一条记录都要保存到文件如(a:\\example.dat)下。注意一条记录相当于一个对象。输入的工号不能重复,输入的数据字段作有效性检测。

4. 显示记录时,先提示用户输入要显示哪一个记录号的记录,如记录号在不超出范围则显示要访问的记,否则告诉用户记录号超出范围。

5. 修改记录时,先要求用户输入要修改的记录关键字内容,如学生的关键字段学号、员工的关键字段是工号。输入好关键字后进行查找所要修改的记录,找到了重新输入该记录的数据成员内容,否则告诉用户找不到此记录。

6. 删除记录时,先要求用户输入要修改的记录关键字内容,)输入好关键字后进行查找所要删除的记录,找到了把它删除掉,否则告诉用户找不到此记录。提示:删除的方法先创造一个临时的文件(a:\\example.tmp),一条一条记录查找过去,把非要删除的记录一条一条写到临时文件下,然后把临时文件复制到a:\\example.dat下。

7. 程序执行结果部分演示如下图:

c++课程设计

注意第二屏的退出退到第一屏,第一屏退出退出整个程序。

编写此程序至少要用三个以上的下列面向对象工具:

1. 继承与派生

2. 友元函数

3. 运算符重载

4. 构造函数

5. 虚函数

c++课程设计

6. 模板

7. 文件输入输出

注意:工具用的越多越好,但要用的恰当。

不同类对象存放在不同的文件内。

附:

在完成上面要求的情况下,如有时间请做下面部分:在Employee类中增加一个字段生日,且对每一对象的生日作有效性检测,月份在1-12,日期在1-31,年份在1940-2002,如月份、日期无效置月份、日期为1,日期还要根据是否是闰年来检测有效性。如某一个月是某人的生日工资加200元作额外津贴。

c++课程设计

(第三组)

一.定义一个栈类(采用类模板),实现下列操作

(1) 编写进栈、出栈、显示栈中全部元素的程序;

(2) 编写一个二进制、八进制、十进制、十六进制相互转换的应用

程序;

二.要求:

(1)采用类模板定义一个栈类实现上述关于栈的操作

(2)设计一个选择式菜单,实现进位制之间转换。

三.编写此程序至少要用二个以上的下列面向对象工具:

1. 类

2. 继承与派生

3. 友元函数

4. 虚函数

5. 构造函数

6. 模板

7. 文件输入输出

c++课程设计

(第四组)

一.定义一个二叉树类(采用类模板),实现下列操作

(3) 生成二叉树。

(4) 对二叉前序、中序、后序遍历。

(5) 求每个结点层次(高度)。

(6) 求每个结点的子孙个数。

设计一个选择式菜单,以菜单方式选择上述操作。

二.编写此程序至少要用二个以上的下列面向对象工具:

1. 类

2. 继承与派生

3. 友元函数

4. 虚函数

5. 构造函数

6. 模板

7. 文件输入输出

c++课程设计

教务信息管理系统

(第五组)

一.基本表:

教师基本信息:如教师工号、姓名、性别、职称、课程编号、课程名称等。

学生基本信息:如学号、姓名、性别、年龄、宿舍号码、电话号码等。

学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否等。如果重修,需要考虑重修学期、重修成绩。并且要考虑多次重修的情况。

二.功能与要求

(1) 各种基本数据的录入。如:学生基本情况录入

(2) 各种基本数据的修改。即:允许对以及录入的数据重新进行编辑、修改。

(3) 各种基本数据的插入。如:在学生选修课程基本信息中插入一条新信息。

(4) 各种基本数据的删除。如:假设某同学转学或出国深造,删除该生的相关信息。

(5) 基于各种数据的查询。如:姓张的所有同学、年龄小于20岁的同学。

(6) 显示教师课程名称、课程编号,学生名单。

(7) 基于各种基本数据的统计计算。如:

(7-1)统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学

生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩、平时成绩、综合成绩)。

(7-2)统计并输出各班各门功课的平均成绩和总平均成绩。

(7-3)统计并输出每个同学已修学分。

(7-4)列出不及格学生清单(学号、姓名、不及格的课程和成绩)。

(7-5)教务信息其它方面的统计(自行确定)。

三.编写此程序至少要用二个以上的下列面向对象工具:

1. 类

2. 继承与派生

3. 友元函数

4. 虚函数

5. 构造函数

6. 模板

7. 文件输入输出

本文来源:https://www.bwwdw.com/article/sr7e.html

Top