2013-02-25 3 views
-2

У меня и с другом возникают трудности с этой программой, которую назначил наш профессор. То, что у нас есть, это int main(). Преподаватели продолжают указывать на нас, но не объяснят, что не так. Итак, если бы вы могли объяснить и показать нам, что мы делаем неправильно, тогда мы будем очень благодарны.Корпоративные продажи C++

Это вопрос: Корпорация имеет шесть подразделений, каждая из которых отвечает за продажи в разных географических точках. Дизайн класс 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', а затем 'пустота' является незаконным (вы забыли ';'?) Час: \ Школа \ COSC 1337.01 \ chapter 11 program challenge 7 \ chapter 11 program challenge 7 \ корпоративный sales.cpp 23

  • Ошибка 2 ошибки C2556: 'DivSales DivSales :: qutrSale (void)': перегруженная функция отличается только возвращаемым типом от 'void DivSales :: qutrSale (void) 'h: \ school \ cosc ​​1337.01 \ chapter 11 program challenge 7 \ chapter 11 pr ogram challenge 7 \ corporate sales.cpp 24

  • Ошибка 3 ошибка C2371: 'DivSales :: qutrSale': redefinition; различные основные типы h: \ school \ cosc ​​1337.01 \ chapter 11 program challenge 7 \ chapter 11 program challenge 7 \ corporate sales.cpp 24

  • Ошибка 4 ошибка C2264: «DivSales :: qutrSale»: ошибка в определении функции или заявление; функция не вызывается час: \ Школа \ COSC 1337,01 \ Глава 11 Программа вызов 7 \ Глава 11 Программа задача 7 \ корпоративная sales.cpp 54

+1

Каков ваш ожидаемый вход и выход? – congusbongus

+0

Они _pointing к main_, но не скажут, что с ним не так? Что это за воспитатели? – jogojapan

+0

Если компилятор дает вам ошибки, включите первые несколько вопросов. –

ответ

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 
$ 
+1

Это действительно помогло! Спасибо. Теперь мне нужно выяснить, как отображать каждое подразделение отдельно. –

+1

@ NathanaelCarr Если это помогло, рассмотрите вопрос о возврате и принятии ответа. – jogojapan

Смежные вопросы