Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- #include <conio.h>
- using namespace std;
- struct Bak
- {
- string name;
- float count;
- };
- struct Prodaj
- {
- string name;
- string data;
- float count;
- };
- struct AZS
- {
- string name;
- int countBak;
- Bak *mas;
- int countProdaj;
- Prodaj *arr;
- };
- Prodaj *AddProdaj(Prodaj *mas, int *size, float value, string a);
- Bak Zakupka(Bak mas, float value);
- Bak Prodaja(Bak mas, float value);
- void PrintVidiTopliva(Bak *mas, int size);
- void PrintOstatokTopliva(Bak *mas, int size);
- void Statistika(Prodaj *mas, int size, string d);
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL, "Russian");
- Bak b1 = { " A-95 ", 0 };
- Bak b2 = { " A-92 ", 0 };
- Bak b3 = { " ДП ", 0 };
- AZS a;
- a.name = " WOG ";
- a.countBak = 3;
- a.mas = new Bak[a.countBak] {b1, b2, b3};
- a.countProdaj = 0;
- a.arr = new Prodaj[0];
- for (;;)
- {
- system("cls");
- cout << "1. Закупить топливо" << endl;
- cout << "2. Продать топливо" << endl;
- cout << "3. Статистика" << endl;
- cout << "4. Остаток топлива в баке" << endl;
- int v;
- float value;
- string d;
- cin >> v;
- switch (v)
- {
- case 1:
- cout << "Выберите марку топлива -> " << endl;
- PrintVidiTopliva(a.mas, a.countBak);
- cin >> v;
- cout << "Укажите количество топлива (литры) -> ";
- cin >> value;
- a.mas[v] = Zakupka(a.mas[v], value);
- break;
- case 2:
- cout << "Выберите марку топлива -> " << endl;
- PrintVidiTopliva(a.mas, a.countBak);
- cin >> v;
- cout << "Укажите количество топлива (литры) -> ";
- cin >> value;
- a.mas[v] = Prodaja(a.mas[v], value);
- a.arr = AddProdaj(a.arr, &a.countProdaj, value, a.mas[v].name);
- break;
- case 3:
- cout << "Укажите за какую дату вывести статистику -> " << endl;
- cin >> d;
- Statistika(a.arr, a.countProdaj, d);
- _getch();
- break;
- case 4:
- PrintOstatokTopliva(a.mas, a.countBak);
- _getch();
- break;
- default:
- break;
- }
- }
- }
- Prodaj *AddProdaj(Prodaj *mas, int *size, float value, string a)
- {
- Prodaj p;
- p.name = a;
- cout << "Введите дату (в формате дд.мм.гг) -> ";
- cin >> p.data;
- p.count = value;
- Prodaj *newmas = new Prodaj[*size + 1];
- for (int i = 0; i < *size; i++)
- {
- newmas[i] = mas[i];
- }
- newmas[*size] = p;
- *size += 1;
- return newmas;
- }
- Bak Zakupka(Bak mas, float value)
- {
- mas.count += value;
- return mas;
- }
- Bak Prodaja(Bak mas, float value)
- {
- if (mas.count < value)
- {
- cout << "В баке недостаточно топлива! Выберите меньший объем." << endl;
- return mas;
- }
- else
- {
- mas.count -= value;
- }
- return mas;
- }
- void PrintVidiTopliva(Bak *mas, int size)
- {
- for (int i = 0; i < size; i++)
- {
- cout << i << ". " << mas[i].name << endl;
- }
- }
- void PrintOstatokTopliva(Bak *mas, int size)
- {
- for (int i = 0; i < size; i++)
- {
- cout << i << ". " << mas[i].name << "\tОстаток: " << mas[i].count << " литров" << endl;
- }
- }
- void Statistika(Prodaj *mas, int size, string d)
- {
- for (int i = 0; i < size; i++)
- {
- if (mas[i].data == d)
- {
- cout << "За " << mas[i].data << " продано " << mas[i].count << " литров топлива " << mas[i].name << endl;
- }
- else
- {
- cout << "В этот день продаж не было." << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement