帮帮我啊!!!老师让编的作业,一堆错误!!头都晕了
//data.h
#ifdef DATA
#define DATA
Engineer engineer[5];
Manager manager[4];
Salesman salesman[10];
SalesManager salesmanager[5];
int id=0;
int age=0;
int time=0;
int mid=0;
long mark=0;
char sex='m';
char name[20]="no name!";
long money=0;
#endif
//myclass.h
#ifndef MY
#define MY
class Employee
{
protected:
int ID;
int age;
char sex;
char name[20];
public:
virtual double Salary();
void Set(int,int,char,char*);
int Outid();
int Outage();
char Outsex();
char* Outname();
};
class Engineer : public Employee
{
protected:
int workTime;
public:
virtual double Salary();
void Set(int,int,int,char,char*);
int Outtime();
};
class Manager : public Employee
{
public:
virtual double Salary();
};
class Salesman : public Employee
{
protected:
long mark;
int mID;
public:
virtual double Salary();
void Set(int,int,int,long,char,char*);
long Outmark();
int Outmid();
};
class SalesManager : public Manager
{
public:
virtual double Salary();
long Outmoney();
protected:
long money;
};
#endif
//main.cpp
#include"myclass.h"
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include"data.h"
void manu1();
void manu2();
void manu3();
void manu4();
void manu5();
int select;
void main()
{
loop:
cout<<" ★★小型公司工资管理系统★★"<<endl;
cout<<" ┌──────────────┐"<<endl;
cout<<" │ 请选择您所需的操作: │"<<endl;
cout<<" │ 数据输入:1,并按回车键 │"<<endl;
cout<<" │ 数据统计:2,并按回车键 │"<<endl;
cout<<" │ 数据打印:3,并按回车键 │"<<endl;
cout<<" │ 数据备份:4,并按回车键 │"<<endl;
cout<<" │ 退出系统:5,并按回车键 │"<<endl;
cout<<" └──────────────┘"<<endl;
cout<<" 请选择一个操作:"<<endl;
cin>>select;
switch(select)
{
case 1:manu1();goto loop;
case 2:manu2();goto loop;
case 3:manu3();goto loop;
case 4:manu4();goto loop;
case 5:manu5();goto loop;
default : cout<<"错误!请输入合适的数据!"<<endl; goto loop;
}
}
//myclass.cpp
#include"myclass.h"
#include<iostream.h>
#include<string.h>
#include"data.h"
double Employee::Salary()
{
return 0;
}
void Employee::Set(int id,int ag,char se,char*na)
{
ID=id;
age=ag;
sex=se;
strcpy(name,na);
name[19]='\0';
}
int Employee::Outid()
{
return ID;
}
int Employee::Outage()
{
return age;
}
char Employee::Outsex()
{
return sex;
}
char* Employee::Outname()
{
return name;
}
double Engineer::Salary()
{
return 100*workTime;
}
void Engineer::Set(int id,int ag,int wo,char se,char*na)
{
Employee::Set(id,ag,se,na);
workTime=wo;
}
int Engineer::Outtime()
{
return workTime;
}
double Manager::Salary()
{
return 8000;
}
double Salesman::Salary()
{
return mark*4.0/100;
}
void Salesman::Set(int id,int ag,int mid,long ma,char se,char*na)
{
Employee::Set(id,ag,se,na);
mID=mid;
mark=ma;
}
long Salesman::Outmark()
{
return mark;
}
int Salesman::Outmid()
{
return mID;
}
double SalesManager::Salary()
{
return money*0.5/100+5000;
}
long SalesManager::Outmoney()
{
money=0;
for(int i=0;i<10;i++)
{
if(salesman[i].Outmid()==ID)
money+=salesman[i].Outmark();
}
return money;
}