當前位置:編程學習大全網 - 編程語言 - C++編程題 有點麻煩,要求程序能在 VC6.0上編譯,

C++編程題 有點麻煩,要求程序能在 VC6.0上編譯,

#include "iostream.h"

#define LOWWAGE 200 //工資最低值

class Worker

{

public:

Worker(){

id=0;

name[0]='\0';

wage=0.0;

level=1; //最底為1級

};

Worker(int _Id,char* _name,float _wage,int _level){

id=_Id;

strcpy(name,_name);

wage=_wage;

level=_level;

};

~Worker(){};

public:

void infoList(); //輸出職工的各項信息。

void set(); //修改數據成員

void setWage(float fVal);

void addWage(); //增加工資並提升技術等級。

static void CalAveWage(int iNum,Worker(*pArray)[]); //計算平均工資

static void outAveWage();

private:

static float AveWage; //平均工資

unsigned int id; //職工號。

char name[11];//姓名

float wage; //工資。(最低值為符號常量,設為200)

int level; //技術等級(1~9級)

};

float Worker::AveWage=0.0;

void Worker::infoList()

{

cout<<"輸出職工信息:"<<endl;

cout<<"\t職工號:"<<id<<endl;

cout<<"\t姓名:"<<name<<endl;

cout<<"\t工資:"<<wage<<endl;

cout<<"\t技術等級:"<<level<<endl;

}

void Worker::set()

{

cout<<"請輸入 職工號:"<<endl;

scanf("%d",&id);

cout<<"請輸入 姓名:"<<endl;

scanf("%s",&name);

cout<<"請輸入 工資:"<<endl;

scanf("%f",&wage);

cout<<"請輸入 技術等級:"<<endl;

scanf("%d",&level);

cout<<"完畢!"<<endl;

}

void Worker::addWage()

{

++level;

wage+=150;

}

void Worker::CalAveWage(int iNum,Worker(*pArray)[])

{

float fSum=0.0;

for (int i=0;i<iNum;++i)

{

fSum+=(*pArray)[i].wage;

}

AveWage=fSum/(float)iNum;

}

void Worker::setWage(float fVal)

{

wage=fVal;

}

void Worker::outAveWage()

{

cout<<"平均工資為:"<<AveWage<<endl;

}

void main()

{

Worker w1;

w1.set();

w1.infoList();

Worker wArr[10];

for (int i=0;i<10;++i)

wArr[i].setWage(i*10);

w1.CalAveWage(10,(Worker (*)[])&wArr);

w1.outAveWage();

}

  • 上一篇:浙江編程c
  • 下一篇:matlab M函數可以輸入多個數組進行運算嗎
  • copyright 2024編程學習大全網