Advertisement
Guest User

price.cpp

a guest
Mar 24th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <fstream>
  5. #include "price.h"
  6. using namespace std;
  7.  
  8. Price::Price() {
  9.     /*m_id = 0;
  10.     m_nameproduct = 'null';
  11.     m_shopname = 'null';
  12.     m_cost = 0;
  13.     m_amount = 0;*/
  14.     cout << "Введите уникальный номер товара : "; cin >> m_id;
  15.     cout << "Введите название товара : "; cin.ignore(); cin >> m_nameproduct;
  16.     cout << "Введите название магазина : "; cin.ignore(); cin >> m_shopname;
  17.     cout << "Введите стоймость в рублях : "; cin >> m_cost;
  18.     cout << "Введите кол-во товара на складе : "; cin.ignore(); cin >> m_amount;
  19.     cout << endl;
  20. }
  21.  
  22. Price::Price(int id, string nameproduct, string shopname, float cost, int amount) {
  23.     m_id = id;
  24.     m_nameproduct = nameproduct;
  25.     m_shopname = shopname;
  26.     m_cost = cost;
  27.     m_amount = amount;
  28. }
  29.  
  30. //void Price::Print() {
  31. //  cout << m_id << " " << m_nameproduct << " " << m_shopname << " " << m_cost << " " << m_amount << endl;
  32. //}
  33.  
  34. void Price::Main_menu(Price *s, int n) {           //ГЛАВНОЕ МЕНЮ
  35.     int g;
  36.     do {
  37.         system("cls");
  38.         cout << "        ГЛАВНОЕ МЕНЮ " << endl;
  39.         cout << "1)Таблица с товарами\n2)Упорядочить записи в порядке возрастания стоймости товара\n3)Информация о товаре по названию магазина\n4)Поиск по индификатору\n5)Вывод товаров, кол-во которых на складе меньше 5\n6)Редактировать информацию о товаре\n7)Кот\n8)Выход" << endl;
  40.         cout << endl <<
  41.             "Выберите действие " << endl;
  42.         cin >> g;
  43.         switch (g)
  44.         {
  45.         case 1: Price::Table(s, n); break;
  46.         case 2: Price::Sort(s, n); break;
  47.         case 3: Price::Shop(s, n); break;
  48.         case 4: Price::FindId(s, n); break;
  49.         case 5: Price::Five(s, n); break;
  50.         case 6: Price::Edit(s, n); break;
  51.         case 7: Cat(); break;
  52.         }
  53.     } while (g != 8);
  54.     system("cls");
  55. }
  56.  
  57. string Price::Print() {                                     //Вывод одной структуры
  58.     string out;
  59.     out = "Уникальный номер товара : " + to_string(m_id) + "\nНазвание товара : " + m_nameproduct + "\nНазвание магазина : " + m_shopname + "\nСтоймость в рублях : " + to_string(m_cost) + "\nКол-во товара на складе : " + to_string(m_amount) + "\n";
  60.     return out;
  61. }
  62.  
  63.  
  64.  
  65. void Price::Sort(Price *s, int n) {                     //!!порядочить записи в массиве в порядке возрастания стоимости товара;{
  66.     for (int i = 0; i < n - 1; ++i) {
  67.         for (int j = 0; j < n - 1; ++j) {
  68.             if (s[j + 1].m_cost < s[j].m_cost) {
  69.                 Price tmp = s[j + 1];
  70.                 s[j + 1] = s[j];
  71.                 s[j] = tmp;
  72.             }
  73.         }
  74.     }
  75.     cout << "Записи упорядочены" << endl;
  76.     system("pause");
  77. }
  78.  
  79. void Price::Table(Price *s, int n) {                                    //!!вывод информации обо всех товарах в виде таблицы;
  80.     system("cls");
  81.     cout << "------------------------------------------------------------------------------------------------------" << endl;
  82.     cout << '|' << "Индификатор" << setw(10) << '|' << setw(10) << "Название" << setw(10) << '|' << setw(10) << "Магазин" << setw(10) << '|' << setw(10) << "Стоимость" << setw(10) << '|' << setw(10) << "Кол-во" << setw(10) << '|' << endl;
  83.     cout << "------------------------------------------------------------------------------------------------------" << endl;
  84.     for (int g = 0; g < n; g++) {
  85.         cout << '|' << setw(10) << s[g].m_id << setw(11) << '|' << setw(10) << s[g].m_nameproduct << setw(10) << '|' << setw(10) << s[g].m_shopname << setw(10) << '|' << setw(10) << s[g].m_cost << setw(10) << '|' << setw(10) << s[g].m_amount << setw(10) << '|' << endl;
  86.         cout << "------------------------------------------------------------------------------------------------------" << endl;
  87.     }
  88.     system("pause");
  89. }
  90.  
  91. void Price::Shop(Price *s, int n) {                     //!!вывод информации обо всех товарах на экран, группируя их по названиям магазинов;
  92.     system("cls");
  93.     string shop;
  94.     bool chek = false;
  95.     cout << "Введите название нужного магазина " << endl;
  96.     cin >> shop;
  97.     cout << endl;
  98.     for (int i = 0; i < n; i++) {
  99.         if (s[i].m_shopname == shop) {
  100.             cout << s[i].Print();
  101.             chek = true;
  102.         }
  103.     }
  104.     if (chek != true) cout << "Такой магазин не найден\nВозращение в главное меню" << endl;
  105.     system("pause");
  106. }
  107.  
  108. void Price::FindId(Price *s, int n) {                       //!!поиск информации о товаре по его идентификатору;
  109.     system("cls");
  110.     int g;
  111.     bool chek = false;
  112.     cout << "Введите уникальный номер нужного товара" << endl;
  113.     cin >> g;
  114.     for (int i = 0; i < n; i++) {
  115.         if (s[i].m_id == g) {
  116.             cout << s[i].Print();
  117.             chek = true;
  118.         }
  119.     }
  120.     if (chek != true) cout << "Такой уникальный номер не найден\nВозращение в главное меню" << endl;
  121.     system("pause");
  122. }
  123.  
  124. void Price::Five(Price *s, int n) {   //!!вывод на экран информации о товарах, количество которых на складе меньше 5;
  125.     system("cls");
  126.     for (int i = 0; i < n; i++) {
  127.         if (s[i].m_amount <= 5) {
  128.             cout << s[i].Print();
  129.         }
  130.     }
  131.     system("pause");
  132. }
  133.  
  134. void Price::Edit(Price *s, int n) {                                     //!!редактирование информации о товаре (поиск по идентификатору).
  135.     system("cls");
  136.     int id, ed;
  137.     bool chek = false;
  138.     cout << "Введите уникальный номер товара который хотите редактировать : " << endl;
  139.     cin >> id;
  140.     for (int i = 0; i < n; i++) {
  141.         if (id == s[i].m_id) {
  142.             chek = true;
  143.             do {
  144.                 system("cls");
  145.                 cout << s[i].Print();
  146.                 cout << endl << "Какой параметр хотите редактировать ?\n1) Уникальный номер\n2) Название товара\n3) Название магазина\n4) Цена в рублях\n5) Кол-во товара на складе\n";
  147.                 cin >> ed;
  148.             } while (ed <= 0 || ed > 5);
  149.             switch (ed)
  150.             {
  151.             case 1: cout << "Введите новый уникальный номер : " << endl; cin >> s[i].m_id; break;
  152.             case 2: cout << "Введите новое название товара : " << endl; cin.ignore(); cin >> s[i].m_nameproduct; break;
  153.             case 3: cout << "Введите новое название магазина : " << endl; cin.ignore(); cin >> s[i].m_shopname; break;
  154.             case 4: cout << "Введите новую цену в рублях : " << endl; cin >> s[i].m_cost; break;
  155.             case 5: cout << "Введите новое кол-во товара на складе : " << endl; cin >> s[i].m_amount; break;
  156.             }
  157.         }
  158.     }
  159.     if (chek != true) cout << "Такой уникальный номер не найден\nВозращение в главное меню" << endl;
  160.     system("pause");
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement