《 面向对象程序设计》课程设计

上传人:第*** 文档编号:57331454 上传时间:2018-10-21 格式:DOC 页数:20 大小:642KB
返回 下载 相关 举报
《 面向对象程序设计》课程设计_第1页
第1页 / 共20页
《 面向对象程序设计》课程设计_第2页
第2页 / 共20页
《 面向对象程序设计》课程设计_第3页
第3页 / 共20页
《 面向对象程序设计》课程设计_第4页
第4页 / 共20页
《 面向对象程序设计》课程设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《《 面向对象程序设计》课程设计》由会员分享,可在线阅读,更多相关《《 面向对象程序设计》课程设计(20页珍藏版)》请在金锄头文库上搜索。

1、 面向对象程序设计面向对象程序设计课程设计课程设计实实 验验 报报 告告指导教师:冉宇瑶指导教师:冉宇瑶 付春捷付春捷小组成员:张俊为小组成员:张俊为 邵强邵强专业班级:专业班级: 20112011 级电子信息科学与技术专业级电子信息科学与技术专业开设时间:开设时间:2013-2014(一)(一)目录目录一.任务 1:按照要求设计类31.1 任务介绍任务介绍31.2 小组成员任务分配:小组成员任务分配:31.3 设计思想:设计思想:31.4 主要流程图:主要流程图:31.5 主要程序清单:主要程序清单:41.6 运行结果及分析:运行结果及分析:5二.任务 2:对象初始化方法演示62.12.1

2、任务介绍:任务介绍:62.2 小组成员任务分配:62.3 设计思想:62.4 主要类图:62.5 主要程序清单:主要程序清单:72.6.运行结果及分析:9三.任务 3:复数计算器103.13.1 任务介绍:任务介绍:.103.23.2 小组成员任务分配:小组成员任务分配:.103.33.3 设计思想:设计思想:.103.43.4 主要类图:主要类图:.113.53.5 程序清单:程序清单:.113.63.6 运行结果及分析:运行结果及分析:.14四.任务 4:小型公司的工资管理154.14.1 任务介绍:任务介绍:.154.24.2 小组成员任务分配:小组成员任务分配:.154.34.3 设计

3、思想:设计思想:.154.4 主要类图:主要类图:164.54.5 主要程序清单:主要程序清单:.164.64.6 运行结果及分析:运行结果及分析:.19五.收获、体会及建议.20一一 .任务任务 1:按照要求设计类按照要求设计类1.1 任务介绍任务介绍设计类就是根据数据封装的要求,抽象出适合的类。 有如下测试程序和测试程序的输出结果,要求设计类 Welcome。 void main() Welcome we; Welcome you(we); you.Display(); you.Set(“Thank you.”); cout #include using namespace std; cl

4、ass Welcome private:char str128;public: Welcome(char s=“Welcome!“); Welcome (Welcome /welcome.cpp/welcome.cpp #include #include“welcome.h“ using namespace std; Welcome:Welcome(char s) strcpy(str,s); Welcome:Welcome(Welcome /welcome.main/welcome.main #include #include“welcome.h“ using namespace std;

5、main() Welcome we; Welcome you(we); you.Display(); you.Set(“Thank you.“); couts;因为输入为几个字符 串 while(strcmp(s,“OK“)!=0)/ /s 不等于“OK“时,循环输出及 输出 cout#includeusing namespace std;void handel_menu();int menu_select();class studentpublic: student();void display0();student();class Boxprivate:int num;public:Box

6、(int n);Box();void display1();class zjw public:zjw():box(0)cout#include“student.h“using namespace std;/*菜单函数*/void handel_menu() for(;) switch(menu_select() case1:student stud1;stud1.display0();break;case 2:Box box1(1);Box box2(2);box1.display1();break;case 3:zjw a;a.display2();break;case 4:Box1 b;b

7、.display1();b.display3();break;case 5:Box2 c;c.display4();break;case 6:printf(“再见n“); int menu_select() char s2;int cn;printf(“n“);printf(“*对象初始化演示实例*n“);printf(“1.普通对象初始化实例 1n“);printf(“2.普通对象初始化实例 2n“);printf(“3.子对象初始化实例n“);printf(“4.派生类对象初始化实例n“);printf(“5.有子对象的派生类对象初始化实例n“);printf(“6.退出程序n“);pri

8、ntf(“选择 1-6n“);for(;) gets(s);cn=atoi(s);if(cn6)printf(“n 输入错误,重新选择 1-6:n“);elsebreak;return cn;构造函数被调用“#include“student.h“using namespace std;void main()handel_menu();student:student()coutusing namespace std;class complexpublic:complex() real=0;imag=0;complex(double r,double i);complex operator + (

9、complex complex operator - (complex complex operator * (complex complex operator / (complex private:double real;double imag;/ complex.cppcomplex.cpp#include#include“complex.h“using namespace std;complex:complex(double r,double i)real = r;imag = i;/ complex.maincomplex.main#include#include“complex.h“

10、using namespace std;int main()double r,i; int j; char s3; int cn;for(;) printf(“n“);printf(“*复数算术运算*n“);printf(“1.两复数相加n“);printf(“2.两复数相减n“);printf(“3.两复数相乘n“);printf(“4.两复数相除n“);printf(“5.退出程序n“);printf(“选择 1-5n“);for(;) gets(s);cn=atoi(s);if(cn5)printf(“n 输入错误,重新选择 1-5:n“); elsebreak;switch(cn) c

11、ase 1:coreammplex() complex(double r,double i);complex operator + (complex complex operator - (complex complex operator * (complex complex operator / (complex double real;double imag;complex complex:operator + (complex c.real = real + c2.real;c.imag = imag + c2.imag;cout=0)cout=0)cout r i;complex c1

12、(r,i);cout r i;complex c2(r,i);complex c3;c3=c1 + c2;coutj;while(j=1);getchar();break; case 2:do cout r i;complex c1(r,i);cout r i;complex c2(r,i);complex c4;c4=c1 - c2;coutj;while(j=1);getchar();break;case 3: do cout=0)cout r i;complex c1(r,i);cout r i;complex c2(r,i);complex c5;c5=c1 * c2;coutj;wh

13、ile(j=1);getchar();break;case 4:do cout r i;complex c1(r,i);cout r i;complex c2(r,i);complex c6;c6=c1 / c2;coutj;while(j=1);getchar();break;case 5:;break;case 6:printf(“再见n“); 3.63.6 运行结果及分析:运行结果及分析:图 3-1 菜单选项图 3-2 菜单选项选择 1,实现两复数相加,如果输入 1, 则继续实现两复数相加,输入 0,则停止两复数相 加。图 3-3 菜单选项选择 2,实现两复数相减,如果输入 1, 则继续

14、实现两复数相加,输入 0,则停止两复数相 减。图 3-4 菜单选项选择 3,实现两复数相乘,如果输入 1, 则继续实现两复数相加,输入 0,则停止两复数相 乘。图 3-5 菜单选项选择 4,实现两复数相除,如果输入 1, 则继续实现两复数相加,输入 0,则停止两复数相 除。图 3-6 菜单选项选择 5,实现两退出程序,输出“再见” 。四四 .任务任务 4:小型公司的工资管理:小型公司的工资管理4.14.1 任务介绍:任务介绍:编写一个小型公司的工资管理程序。该公司主要有 4 类人员:经理、兼职技术人员、销 售员、销售经理。月薪计算方法为:经理固定月薪 8000 元,兼职技术人员 100 元/小

15、时, 销售员为当月销售额的 4%,销售经理保底工资 5000 元另加其所管部门销售额的 5。 设计要求: 1.职工编号自动产生(从 10000 起编号),将公司人员的编号、姓名、月薪等信息保存 到文件中,然后从文件中读入这些信息并显示到屏幕上。2. 计算当月工资并保存。3. 查看当月工资。4. 设计一个菜单去选择相应的功能。4.24.2 小组成员任务分配:小组成员任务分配: 张俊为:任务一中的设计思想,程序编写。 邵强:任务一中的设计思想,流程图。 最后的结果分析一起分析与总结4.34.3 设计思想:设计思想:创建经理、兼职技术人员、销售员、销售经理、emplyoee 5 个类,运用多重继承,实 现计算各类人员工资,运用文件打开、输入、关闭操作,实现将人员信息保存文件且从 文件中读入信息到屏幕上。4.4 主要类图:主要类图:4.54.5 主要程序主要程序清单:清单:/ employee.hemployee.h #include #include using namespace std; void handel_menu(); int menu_select(); class employee public:employee(); emplo

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

当前位置:首页 > 高等教育 > 大学课件

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