-2

我和一个朋友在教授分配给我们的这个项目挑战中遇到了困难。我们所拥有的是 int main()。导师是否一直向我们指出它,但不会解释什么是错的。因此,如果您能解释并向我们展示我们做错了什么,我们将不胜感激。

问题是:一家公司有六个部门,每个部门负责对不同地理位置的销售。设计一个保存部门销售数据的 Divsales 类,其中包含以下成员:

  • 一个包含四个元素的数组,用于保存该部门四个季度的销售数据
  • 一个私有静态变量,用于保存全年所有部门的公司总销售额。
  • 一个接受四个参数的成员函数,每个参数都假定为一个季度的销售额。应将参数的值复制到保存销售数据的数组中。四个参数的总和应添加到保存年度公司总销售额的静态变量中。
  • 采用 0-3 范围内的整数参数的函数,该参数将用作除法季度销售额数组的下标。该函数应返回具有该下标的数组元素的值。

编写一个程序,创建一个包含六个 DivSales 对象的数组。程序应要求用户输入每个部门四个季度的销售额。输入数据后,程序应显示一个表格,显示每个季度的部门销售额。然后该程序应显示该年度的公司总销售额。

#include <iostream>
#include <cstdlib>
#include  <cctype>

using namespace std;

class DivSales
{
private:
    double quarter [4];
    static double DivCorp;

public:
    double display(int);
    void qutrSale();
}

void DivSales::qutrSale()
{
    int number;

    for (number = 0; number < 4; number++)
    {
        cout << "The sales for the quarter"<< number+1<< ": ";
        cin>> quarter [number];

        DivCorp += quarter[number];

        while (quarter[number] < 0)
        {
            cout<< "Error, please enter a positive sale amount: $";
            cin >> quarter [number];
        }
    }
}

double DivSales::display(int input)
{
    return quarter [input];
}

int main ()
{
    int count;
    DivSales div[5];

    for (count=0; count<5; count++)
    {
        div [count].qutrSale();
    }
    return 0;
}

一些错误是

  • 错误 1 ​​错误 C2628: 'DivSales' 后跟 'void' 是非法的(你忘记了 ';' 吗?) h:\school\cosc 1337.01\chapter 11 program challenge 7\chapter 11 program challenge 7\corporate sales.cpp 23

  • 错误 2 错误 C2556: 'DivSales DivSales::qutrSale(void)' : 重载函数仅因返回类型与 'void DivSales::qutrSale(void)' h:\school\cosc 1337.01\chapter 11 程序挑战 7\chapter 11 不同项目挑战 7\corporate sales.cpp 24

  • 错误 3 错误 C2371:'DivSales::qutrSale':重新定义;不同的基本类型 h:\school\cosc 1337.01\chapter 11 program challenge 7\chapter 11 program challenge 7\corporate sales.cpp 24

  • 错误 4 错误 C2264: 'DivSales::qutrSale' : 函数定义或声明错误;未调用函数 h:\school\cosc 1337.01\chapter 11 program challenge 7\chapter 11 program challenge 7\corporate sales.cpp 54

4

1 回答 1

3

即使我们知道它应该做什么,该代码也无法编译。无论如何,我对其进行了一些细微的更改以使其编译和运行,希望您能对此有所帮助:

#include <iostream>
#include <cstdlib>
#include  <cctype>

using namespace std;

class DivSales

{

private:

double quarter [4];
        static double DivCorp;

    public:
        double display(int);
        void qutrSale();

};
double DivSales::DivCorp = 0;
void DivSales::qutrSale()
{

 int number;

       for (number = 0; number < 4; number++)
        {
            cout << "The sales for the quarter"<< number+1<< ": ";
            cin>> quarter [number];

            DivCorp += quarter[number];

            while (quarter[number] < 0)
            {
                 cout<< "Error, please enter a positive sale amount: $";
                cin >> quarter [number];
            }
        }   
}

double DivSales::display(int input)

{
        return quarter [input];
}

int main ()

{

int count;

DivSales div[5];

    for (count=0; count<5; count++)
    {
        div [count].qutrSale();
    }
    return 0;
}

测试运行

$ g++ -o test test.c 
$ ./test 
The sales for the quarter1: 1
The sales for the quarter2: 1
The sales for the quarter3: 1
The sales for the quarter4: 1
The sales for the quarter1: 2
The sales for the quarter2: 2
The sales for the quarter3: 2
The sales for the quarter4: 2
The sales for the quarter1: 3
The sales for the quarter2: 3
The sales for the quarter3: 3
The sales for the quarter4: 3
The sales for the quarter1: 4
The sales for the quarter2: 4
The sales for the quarter3: 4
The sales for the quarter4: 4
The sales for the quarter1: 5
The sales for the quarter2: 5
The sales for the quarter3: 5
The sales for the quarter4: 5
$ 
于 2013-02-25T04:32:31.287 回答