C++高手来,100分悬赏!回答好加分!

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:39:06
实验一:32位整数的机器所能表示的整数范围大致是-20亿到+20亿,在这个范围内的操作一般不会出现问题。但是有很多应用程序可能要使用超出上述范围的整数。使用C++建立一个新的数据类型HugeInt,该类使用short integer[40]表示一个整数,其中一个数组元素表示十进制的一位。请实现该类。

实验二:某工厂有一名老板Boss,及若干工人。工人分为小时工HourlyWorker、计件工PieceWorker、销售员CommissionWorker。小时工每周工作40小时,超过40小时部分的报酬是平时的1.5倍;计件工是按生产的工件计算报酬的,每件的报酬是固定的,假设他只生产一种类型的工件;销售员每周有小部分固定的基本工资加上每周销售额的固定百分比;老板每周有固定的薪水。为该工厂设计一个简单的当前周的工资管理信息系统。要求如下:
1.设计实现一个简单的类Employee,它存储雇员的工号、姓(成员firstName)和名(成员lastName)。从雇员类Employee派生出小时工类HourlyWorker、计件工类PieceWorker、销售员类CommissionWorker及老板类Boss。
2.设计实现一个工厂类(Factory),它存储工厂名(factoryName)、工厂中的员工人数(含老板)等信息。及一个Employee指针数组存放工厂的所有员工信息。
3.可以增加一名工人。增加工人时,根据工人的类别,输入相应的信息。如增加的是小时工,则需要输入该小时工的工号、姓、名、本周工作小时数及每小时工资额等信息。
4.可以根据工号删除一名工人
5.可以根据工号修改工人的信息
6.可以显示出所有员工的本周工资信息
7.显示出一些统计信息,如本周支付所有员工的工资总额;小时工的工资总额、最高、最低、平均工资;计件工的工资总额、最高、最低、平均工资;销售员的工资总额、最高、最低、平均工资

实验三:装箱问题求解:设有编号为0、1、…、n-1的n种物品,体积分别为v0、v1、…、vn-1。将这n种物品装到容量都为V的若干箱子里。约定这n种物品的体积均不超过V,即对于0≤i<n,有0<vi≤V。不同的装箱方案所需要的箱子数目可能不同。装箱问题要求使装尽这n

// HUGEINT1.H
// 类HugeInt的定义
#ifndef HUGEINT1_H
#define HUGEINT1_H
#include<iostream.h>
class HugeInt
{
friend ostream &operator<<(ostream &, HugeInt &);
public:
HugeInt(1ong=0); // 转换构造函数
HugeInt(const char *); // 转换构造函数
HugeInt operator+(HugeInt &); // 加
private:
short integer[30];
}
#endif

// HUGEINT1.CPP
// 定义类HugeInt的成员函数和友元函数
#include<string.h>
#include“hugeint1.h”
// 转换构造函数
HugeInt::HugeInt(long val)
{
for (int i=0; i<=29; i++)
integer[i]=0; // 将数组初始化为0
for (i=29; val != 0 && i>=0; i−−)
{
integer[i]=val%10;
val/=10;
}
}
HugeInt::HugeInt(const char *string)