Форум программистов, компьютерный форум CyberForum.ru

Сформировать класс ,отвечающий предложенным требованиям - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверка ввода http://www.cyberforum.ru/cpp-beginners/thread720896.html
Доброго вам времени суток. Бывалые, подскажите неопытному, как лучше писать? И если несложно, то скажите почему. for(;;) { printf("Vvedite n>=3: "); scanf("%d",&n); if(n>=3) break; }
C++ Табулирование неявной функции Помогите Решить задачу Люди добрые ;( Запрещено размещать задания в виде картинок и других файлов с их текстом. http://www.cyberforum.ru/cpp-beginners/thread720876.html
Задана матрица целых чисел. Выполнить сортировку элементов в каждом столбце матрицы по возрастанию C++
Плиз)))) Задана матрица целых чисел. Выполнить сортировку элементов в каждом столбце матрицы по возрастанию!!!)))) Зарание респект!)
Быстрая сортировка C++
Воспользовался готовым решением для сортировки: Алгоритмы сортировок в итоге если беру массив: int A = {2,1,4,5,8,7,1,5,2,9} то сортировка не работает. Подскажите где и что не так.
C++ Построение треугольника http://www.cyberforum.ru/cpp-beginners/thread720865.html
как найти координаты 3-й точки треугольника, если известны 2 другие и 2 угла при них?
C++ Создание вектора классов #include <algorithm> #include <vector> #include <stdio.h> #include <iostream> using namespace std; class _my { public: _my(); _my(int _a) подробнее

Показать сообщение отдельно
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
06.12.2012, 00:05     Сформировать класс ,отвечающий предложенным требованиям
tanya_luck, вы метод main написали? Скорее всего нет.
Удалите всё, что написали раньше и скопируйте полностью эту программу.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
#include <string>
#include <ctime>
#include <list>
#include <set>
 
class Parcel {
private:
    unsigned int number;
    double weight;
    double parcelCost;
    tm departureTime;
    std::string destination;
    double discount;
    double boxCost;
 
public:
    Parcel(unsigned int number, double weight, double parcelCost, tm departureTime, std::string destination, double discount, double boxCost) {
        this->number = number;
        this->weight = weight;
        this->parcelCost = parcelCost;
        this->departureTime = departureTime;
        this->destination = destination;
        this->discount = discount;
        this->boxCost = boxCost;
    }
 
    // Добавить оставшиеся get и set методы
 
    double GetParcelCost() const {
        return parcelCost;
    }
 
    double GetWeight() const {
        return weight;
    }
 
    tm GetDepartureTime() const {
        return departureTime;
    }
 
    std::string GetDestination() const {
        return destination;
    }
 
    /*
        Количество пунктов назначения посылок, отправленных во втором полугодии позапрошлого года
    */
    static int GetNumberOfDestinations(std::list<Parcel> parcels) {
        time_t seconds = time(NULL);
        tm* now = localtime(&seconds);
 
        std::set<std::string> dsts;
        for(std::list<Parcel>::const_iterator it = parcels.begin(); it != parcels.end(); it++) {
            if((it->GetDepartureTime().tm_year == now->tm_year - 2) && it->GetDepartureTime().tm_mon > 5) {
                dsts.insert(it->GetDestination());
            }
        }
        return dsts.size();
    }
 
    /*
        Общая стоимость посылок
    */
    static double GetTotalCost(std::list<Parcel> parcels) {
        double total = 0.0;
        for(std::list<Parcel>::const_iterator it = parcels.begin(); it != parcels.end(); it++) {
            total += it->GetParcelCost();
        }
        return total;
    }
 
    /*
        Средний вес посылок, отправленных в определённый пункт назнаения
    */
    static double GetAverageWeight(std::list<Parcel> parcels, std::string destination) {
        double av = 0.0;
        double count = 0.0;
        for(std::list<Parcel>::const_iterator it = parcels.begin(); it != parcels.end(); it++) {
            if(it->GetDestination() == destination) {
                av += it->GetWeight();
                count++;
            }
        }
        return av / count;
    }
};
 
int main()
{
    tm date;
    date.tm_year = 2012;
    date.tm_mon = 6;
    date.tm_mday = 4;
    std::list<Parcel> parcels;
    parcels.push_back(Parcel (1, 1.5, 5.0, date, "Moskow", 0.0, 0.5));
    parcels.push_back(Parcel (2, 2.0, 6.0, date, "St. Petersburg", 0.0, 0.5));
    parcels.push_back(Parcel (3, 15, 70.0, date, "Smolensk", 0.0, 0.5));
 
    std::cout << "Average Weight = " << Parcel::GetAverageWeight(parcels, "Moskow") << std::endl;
    std::cout << "Number of destinations = " << Parcel::GetNumberOfDestinations(parcels) << std::endl;
    std::cout << "Total cost = " << Parcel::GetTotalCost(parcels) << std::endl;
 
    return 0;
}
 
Текущее время: 08:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru