三、 调试分析
1. 由于派生类函数的定义方式不对,造成第一个数据录入功能不能实现,
但后来通过对派生类功能实现和写法的大量资料查阅,了解到自己的程序在调试是没有通过的主要原因在于自己编程序所写的派生类定义不合法,一般的方式为(class 派生类名:继承方式 基类名)经修改,才得以通过!
2. 由于自己对数组的知识了解的不够彻底而造成的数组运用方式不正确,
一开始忽略了定义数组必须为确定数组,否则就只能用动态数组,而我一开始采用(te[A])这种定义的方式,造成了编译不能通过,但后来参考了有关数组定义的资料,顺利通过(const A;te[A])这种方式定义数组! 3. 对于图表的制作与简化程序,由于图表的制作需要精确的控制图表的距
离,输入字符后会不会变形,如何把所显示的字符跳到表格框架的中间,和在表格相应的地方调用相应的数据等地方特别容易出错误,于是参考网上的方法通过表头(biaotou())、表中(biaozhong())、表尾(biaowei())三个函数来固定表格的基本格式,在制表是随意调用,减少出错的几率数据的调用则遵循数组的储存方式进行调用,移动数据则通过多次试验来实现!
4. 由于在子函数调用子函数的时候,编译不通过,所以在保存数据的时候,
放弃用调用子函数表格函数的方法,通过新建表格,和调用原来的数据,从而时所有的数据整合到一个表示,实现了保存数据表格的精简化! 5. 目录二级化和功能多样化,由于一开始编的程序只能通过选择类数据的
输入,输入方法繁杂,于是加入了返回上一级和全部数据输入的功能,而原来的输入程序则作为某一类的数据更改而得以保留,从而实现了功能的简便化!
5
四、 程序清单
#include
//以下是5个类的设计 const A=4; const B=16; int a,b,c,d,s;
class employee //员工(基类){ protected: string name; int num; int age; char sex; double pay; public: employee() { name=\ num=0; age=0; sex='\\0'; pay=0;
}
void set()
6
{ cout<<\其姓名:\ cin>>name;
cout<<\性别(M/W):\ cin>>sex; cout<<\年龄:\
cin>>age;
} int get1() {
return num;
}
string get2() {
return name;
}
char get3() {
return sex;
} int get4() {
return age;
}
double payment() {
return pay;
}
};
7
class technician:public employee //技术员 { protected:
int workhour;
public: void set() { cout<<\技术员的编号:\ cin>>num; employee::set(); cout<<\工作时间:\ cin>>workhour; cout< } }; technician te[A]; class manager:public employee { public: void set() { cout<<\经理的编号:\ cin>>num; employee::set(); cout< } int get() { //经理 8 }; } return 8000; manager mana[A]; //经理的数据 class seller:public employee //销售员 { protected: double sell; int managernum; public: void set() { } int get5() { } double get6() { } 9 cout<<\销售员的编号:\cin>>num; employee::set(); cout<<\销售额:\ cin>>sell; cout<<\所属销售经理的编号:\cin>>managernum; pay=sell*0.04; cout< return managernum; return sell; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库小型公司工资管理系统(2)在线全文阅读。
相关推荐: