С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 22.09.2019
Сообщений: 68
1

инициализировать два объекта разработанного класса

06.05.2020, 12:21. Показов 1262. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Разработайте класс «Коммунальные оплаты», который содержит свойства: лицевой счет
абонента, год, месяц, предыдущее показание счетчика (куб. м.), текущее показание счетчика (куб. м.),
тариф оплаты за воду. Разработанный класс должен содержать конструктор, а также метод
вычисления стоимости оплаты за месяц и вывода исходных данных и результата. Напишите
программу, которая создает и инициализирует два объекта разработанного класса, вычисляет и
выводит результат.
Срочно, есть вот такой код, не могу преобразовать, ТУПЛЮ

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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
#include <fstream>
#include <string>
#include <time.h>
#include <iomanip>
using namespace std;
char* getFIO(const char* data) {
    if (!strcmp("name", data)) {
        static char FIO[200];
        FIO[0] = NULL;
        char Name[12][15] = { "Эдуард", "Игорь","Дмитрий", "Антон", "Алексей",
        "Георгий","Мария", "Анастасия","Ольга", "Марина", "Дарья", "Виктория" };
        char secondName[12][15] = { " Эдуардович ", " Андреевич "," Михайлович ", "Анатольевич ", " Павлович ", " Геннадьевич ", " Эдуардовна ", " Андреевна "," Михайловна ", "Анатольевна ", " Павловна ", " Геннадьевна " };
        char sername[12][15] = { "Павлов", "Бунин","Пушкин", "Харитонов", "Толстой",
        "Суворов", "Павлова", "Бунина","Пушкина", "Харитонова", "Толстая", "Суворова" };
        if (rand() % 2 == 0) {
        strcat_s(FIO, 200, Name[rand() % 6]);
        strcat_s(FIO, 200, secondName[rand() % 6]);
        strcat_s(FIO, 200, sername[rand() % 6]);
        }
        else {
        strcat_s(FIO, 200, Name[6 + rand() % 6]);
        strcat_s(FIO, 200, secondName[6 + rand() % 6]);
        strcat_s(FIO, 200, sername[6 + rand() % 6]);
        }
        //cout << "INFUN FIO: " << FIO << endl;
        return FIO;
        }
            if (!strcmp("address", data)) {
                static char Address[40];
                Address[0] = NULL;
                char buffer[10];
                _itoa_s(1 + rand() % 200, buffer, 10, 10);
                char arr[12][30] = { "ул. Береговая, ", "пл. Гвардейская, ","пер. Новый, ", "ул. Накимова, ", "ул.Горького, ", "пл.Металлургов, ","Ворошиловский пр-кт, ", "ул. Карла Маркса, ","пер.Газетный, ","пр - кт Шолохова, " , "ул.Коммунистов, ", "пр - кт Ленина, " };
                strcat_s(Address, 40, arr[rand() % 12]);
                strcat_s(Address, 40, buffer);
                //cout << "INFUN ADRS: " << Address << endl;
                return Address;
                }
            }
        class client {
        private:
            char FIO[200] = "";
            char address[40] = "";
            int discount;
        public:
            client() {
                strcat_s(FIO, 200, "NoName");
                strcat_s(address, 40, "NoAddress");
                discount = 0;
            }
            client(char* name, char* adr, int sale) {
                strcat_s(FIO, 200, name);
                strcat_s(address, 40, adr);
                discount = sale;
            }
            void printData(std::ostream &var) {
                var.fill(' ');
                var << "ФИО: " << FIO;
                if (strlen(FIO) < 26)
                    var << ",\t\tадрес: " << address;
                else
                    var << ",\tадрес: " << address;
                var << "," << setw(34 - strlen(address)) << "скидка: " << discount << endl;
            }
            void enter_data(std::istream &var) {
                enter_FIO(var);
                enter_address(var);
                enter_discount(var); var.ignore();
            }
            void enter_FIO(std::istream &var) {
                cout << "Введите ФИО: ";
                var.getline(FIO, 200);
            }
            void enter_address(std::istream &var) {
                cout << "Введите адрес: ";
                var.getline(address, 40);
            }
            void enter_discount(std::istream &var) {
                cout << "Введите скидку: ";
                var >> discount;
            }
            void set_data(char* name, char* adr, int sale) {
                set_FIO(name);
                set_address(adr);
                set_discount(sale);
            }
            void set_FIO(char* name) {
                FIO[0] = NULL;
                strcat_s(FIO, 200, name);
            }
            void set_address(char* adr) {
                address[0] = NULL;
                strcat_s(address, 40, adr);
            }
            void set_discount(int sale) {
                discount = sale;
            }
            char* get_FIO() {
                return FIO;
            }
            char* get_address() {
                return address;
            }
            int get_discount() {
                return discount;
            }
        };
        void main() {
            setlocale(0, "Russian");
            srand(time(NULL));
            char choice; int count;
            cout << "Введите кол-во клиентов: ";
            cin >> count;
            do {
                cout << "Ввести данные самомстоятельно?(y\\n): ";
                cin >> choice; cin.ignore();
            } while (choice != 'y' && choice != 'n');
            client *clnt = new client[count];
            if (choice == 'y') {
                for (int i = 0; i < count; i++) {
                    cout << "Введите данные " << i + 1 << " клиента:\n";
                    clnt[i].enter_data(cin);
                    cout << "------------------------------" << endl;
                }
            }
            else {
                cout << "\nСгенерирован список клиентов:\n";
                for (int i = 0; i < count; i++)
                    clnt[i].set_data(getFIO("name"), getFIO("address"), 1 + rand() % 70);
            }
            for (int i = 0; i < count; i++)
                clnt[i].printData(cout);
            delete[] clnt;
            system("pause");
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2020, 12:21
Ответы с готовыми решениями:

Создать 2 объекта a и b, разработанного класса – символьная строка, реализовать перегрузку операции >=
Нужно написать прогу, сам пытался но не смог. (желательно с обьяснением) Заранее спасибо! ...

Модификация разработанного класса
Создал класс видеомагнитофон, требуется доработать его вот по этому заданию: Рассмотреть...

Как побитово сравнить два объекта одного класса
Здравствуйте! Возник следующий вопрос: можно ли, имея два объекта одного класса, найти их битовое...

Возможно ли указатель производного класса инициализировать объектом базового класса?
имеется связка наследуемых классов A-&gt;B а от B наследуются одновременно еще два класса B-&gt;C и B-&gt;D...

2
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
06.05.2020, 12:48 2
Лучший ответ Сообщение было отмечено Kesog как решение

Решение

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
#include<iostream>
 
using namespace std;
class Payments{
 
int account, year, month;
 
double previous, current;
 
public:
Payments(int _acc, int _year, int _month, double _pre, double _cur){
 
    account = _acc;
    year = _year;
    month = _month;
    previous = _pre;
    current = _cur;
}
double stoimost (double rate){
 
    return (current - previous) * rate;
}
};
int main(){
   Payments p1(1, 2020, 5, 100.0, 140.0);
   Payments p2(2, 2020, 5, 99.0, 170.0);
   cout<< p2.stoimost(3);
}
0
1 / 1 / 0
Регистрация: 22.09.2019
Сообщений: 68
06.05.2020, 12:50  [ТС] 3
Выручил, Спасибо ограменное
0
06.05.2020, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2020, 12:50
Помогаю со студенческими работами здесь

Вызвать процедуру\функцию из другого объекта\класса. Из одного класса\объекта сделать два
Здравствуйте. Подскажите что не правильно делаю, и возможно ли вообще - вызвать процедуру\функцию...

Для разработанного класса объектов разработать asp-страницы для ввода данных объекта и передачу на сервер
Для разработанного класса объектов(класс был создан раннее). Нужно разработать asp-страницы для...

Сложить два объекта класса
Есть задача: создать на сишарпе класс (в этой предметной области ну совсем ничего не понимаю), и с...

Два объекта одного класса
пытаюсь понять OpenGl es 2 для этого использую пример ...

Создать массив объектов разработанного класса
Нужно создать массив объектов разработанного класса в классе Program и заполнить объектами из...

Создать два объекта класса. Вычислить периметр и площадь каждого треугольника
Создать два объекта класса. Вычислить периметр и площадь каждого треугольника. S = sqrt (p * (p -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru