Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "class.h"
- #include <iostream>
- #include <Windows.h>
- #include <iomanip>
- using namespace std;
- void russian_lang();
- void menu_start(vector<Cars> &);
- void menu_obj_create(vector<Cars>&);
- void obj_with_args(vector<Cars>&);
- void obj_copy(vector<Cars>&);
- void menu_obj(vector<Cars>&);
- void menu_obj_edit(vector<Cars>&, const int&);
- void menu_obj_show(vector<Cars>&, const int&);
- void msoversmth(vector<Cars>&);
- void mestaoversmth(vector<Cars>&);
- void objs_show(vector<Cars>&);
- void palki();
- void text_menu();
- int main()
- {
- russian_lang();
- vector<Cars> obj;
- menu_start(obj);
- system("PAUSE");
- return 0;
- }
- void russian_lang()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- }
- void menu_start(vector<Cars>& obj)
- {
- int option;
- text_menu();
- while (true)
- {
- cin >> option;
- Cars::int_check(option);
- switch (option)
- {
- case 1:
- menu_obj_create(obj);
- text_menu();
- break;
- case 2:
- objs_show(obj);
- text_menu();
- break;
- case 3:
- menu_obj(obj);
- text_menu();
- break;
- case 4:
- msoversmth(obj);
- text_menu();
- break;
- case 5:
- mestaoversmth(obj);
- text_menu();
- break;
- case 9:
- return;
- default:
- cout << "Некорректный ввод." << endl;
- text_menu();
- break;
- }
- }
- }
- void menu_obj_create(vector<Cars>& obj)
- {
- bool flag = true;
- int option;
- while (flag)
- {
- cout << "1. Создать автомобиль по умолчанию" << endl <<
- "2. Создать автомобиль с заданными параметрами" << endl <<
- "3. Скопировать имеющийся автомобиль" << endl <<
- "9. Вернуться назад" << endl <<
- "Выберите действие: ";
- cin >> option;
- Cars::int_check(option);
- switch (option)
- {
- case 1:
- obj.push_back(Cars::Cars());
- cout << "Автомобиль создан." << endl;
- flag = false;
- break;
- case 2:
- obj_with_args(obj);
- cout << "Автомобиль создан." << endl;
- flag = false;
- break;
- case 3:
- obj_copy(obj);
- flag = false;
- break;
- case 9:
- flag = false;
- break;
- default:
- cout << "Некорректный ввод." << endl;
- break;
- }
- }
- }
- void obj_with_args(vector<Cars>& obj)
- {
- obj.push_back(Cars::Cars());
- obj[obj.size() - 1].set_all();
- }
- void obj_copy(vector<Cars>& obj)
- {
- objs_show(obj);
- if (obj.size() > 0)
- {
- int number;
- cout << "Выберите автомобиль для копирования: ";
- cin >> number;
- Cars::int_check(number);
- if (number > obj.size() || number == 0)
- {
- cout << "Некорректный ввод." << endl;
- }
- if (number <= obj.size() && number != 0)
- {
- number--;
- obj.push_back(Cars::Cars(obj[number]));
- cout << "Копирование произошло успешно." << endl;
- }
- }
- }
- void menu_obj(vector<Cars>& obj)
- {
- bool flag = true;
- int number;
- int option;
- objs_show(obj);
- if (obj.size() > 0)
- {
- cout << "Выберите автомобиль для редактирования: ";
- cin >> number;
- Cars::int_check(number);
- if (number > obj.size() || number == 0)
- {
- cout << "Некорректный ввод." << endl;
- }
- if (number <= obj.size() && number != 0)
- {
- number--;
- while (flag)
- {
- cout << "1. Удалить автомобиль" << endl <<
- "2. Изменить параметры автомобиля" << endl <<
- "3. Вывести параметры автомобиля" << endl <<
- "9. Вернуться назад" << endl <<
- "Выберите действие: ";
- cin >> option;
- Cars::int_check(option);
- switch (option)
- {
- case 1:
- obj.erase(obj.begin() + number);
- cout << "Автомобиль успешно удален." << endl;
- flag = false;
- break;
- case 2:
- menu_obj_edit(obj, number);
- flag = false;
- break;
- case 3:
- menu_obj_show(obj, number);
- flag = false;
- break;
- case 9:
- flag = false;
- break;
- default:
- cout << "Некорректный ввод." << endl;
- break;
- }
- }
- }
- }
- }
- void menu_obj_edit(vector<Cars>& obj, const int& number)
- {
- int option;
- bool flag = true;
- while (flag)
- {
- cout << "1. Изменить все параметры автомобиля" << endl <<
- "2. Изменить модель автомобиля" << endl <<
- "3. Изменить госномер автомобиля" << endl <<
- "4. Изменить фамилию водителя автомобиля" << endl <<
- "5. Изменить цвет автомобиля" << endl <<
- "6. Изменить максимальную скорость автомобиля" << endl <<
- "7. Изменить количество мест в автомобиле" << endl <<
- "8. Изменить мощность двигателя автомобиля" << endl <<
- "9. Вернуться назад" << endl <<
- "Выберите действие: ";
- cin >> option;
- Cars::int_check(option);
- switch (option)
- {
- case 1:
- obj[number].set_all();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 2:
- obj[number].set_model();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 3:
- obj[number].set_gosnomer();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 4:
- obj[number].set_familiya();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 5:
- obj[number].set_color();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 6:
- obj[number].set_max_speed();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 7:
- obj[number].set_places();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 8:
- obj[number].set_lps();
- cout << "Успешно изменено." << endl;
- flag = false;
- break;
- case 9:
- flag = false;
- break;
- default:
- cout << "Некорректный ввод." << endl;
- break;
- }
- }
- }
- void menu_obj_show(vector<Cars>& obj, const int& number)
- {
- int option;
- bool flag = true;
- while (flag)
- {
- cout << "1. Показать все параметры автомобиля" << endl <<
- "2. Показать модель автомобиля" << endl <<
- "3. Показать госномер автомобиля" << endl <<
- "4. Показать фамилию водителя автомобиля" << endl <<
- "5. Показать цвет автомобиля" << endl <<
- "6. Показать максимальную скорость автомобиля" << endl <<
- "7. Показать количество мест в автомобиле" << endl <<
- "8. Показать мощность двигателя автомобиля" << endl <<
- "9. Вернуться назад" << endl <<
- "Выберите действие: ";
- cin >> option;
- Cars::int_check(option);
- switch (option)
- {
- case 1:
- obj[number].get_all();
- flag = false;
- break;
- case 2:
- obj[number].get_model();
- flag = false;
- break;
- case 3:
- obj[number].get_gosnomer();
- flag = false;
- break;
- case 4:
- obj[number].get_familiya();
- flag = false;
- break;
- case 5:
- obj[number].get_color();
- flag = false;
- break;
- case 6:
- obj[number].get_max_speed();
- flag = false;
- break;
- case 7:
- obj[number].get_places();
- flag = false;
- break;
- case 8:
- obj[number].get_lps();
- flag = false;
- break;
- case 9:
- flag = false;
- break;
- default:
- cout << "Некорректный ввод." << endl;
- break;
- }
- }
- }
- void msoversmth(vector<Cars>& obj)
- {
- obj.push_back(Cars::Cars());
- int i;
- i = obj.size() - 1;
- obj[i].msoversmth(obj);
- obj.erase(obj.end() - 1);
- }
- void mestaoversmth(vector<Cars>& obj)
- {
- obj.push_back(Cars::Cars());
- int i;
- i = obj.size() - 1;
- obj[i].mestaoversmth(obj);
- obj.erase(obj.end() - 1);
- }
- void objs_show(vector<Cars>& obj)
- {
- if (obj.size() == 0)
- {
- cout << "Автомобили отсутствуют." << endl;
- }
- if (obj.size() > 0)
- {
- cout << setiosflags(ios::left) << setw(2) <<" " << setw(10) << "Модель"
- << setw(10) << "Госномер" << setw(10) << "Фамилия" << setw(10) << "Цвет" <<
- setw(10) << "Скорость" << setw(10) << "Места" << setw(10) << "Мощность" << endl;
- palki();
- for (int i = 0; i < obj.size(); i++)
- {
- cout << i + 1 << ".";
- obj[i].get_all();
- }
- palki();
- }
- }
- void palki()
- {
- for (int i = 0; i < 72; i++)
- {
- cout << "-";
- }
- cout << endl;
- }
- void text_menu()
- {
- cout << "1. Ввести новый автомобиль" << endl <<
- "2. Вывод списка автомобилей " << endl <<
- "3. Управление отдельным автомобилем " << endl <<
- "4. Вывод автомобилей заданного цвета с максимальной скоростью выше заданной" << endl <<
- "5. Вывод количества автомобилей число мест в которых больше заданного" << endl <<
- "9. Завершить работу программы" << endl <<
- "Выберите действие: ";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement