0_liprikon_0

Zadanie_1

Jan 16th, 2021
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <Windows.h>
  5. #include <cstdlib>
  6. #include <ctime>
  7.  
  8. #define N 18 //объявление количества магазинов
  9.  
  10.  
  11. using namespace std;
  12.  
  13. struct shop //магазин
  14. {
  15.     int shop; //номер магазина
  16.     string surname; //фамилия
  17.     string tovar;
  18.     int kolvo;
  19.     int cost;
  20. } CMP[N];
  21.  
  22.  
  23. int main()
  24. {
  25.     int i = 0, menu = 0;
  26.  
  27.     setlocale(LC_ALL, "Russian"); //перевод на русский язык
  28.     SetConsoleCP(1251);
  29.     SetConsoleOutputCP(1251);
  30.     system("cls");
  31.     cout << "Меню выбора: \nВведите 1 для добавления информации. \nВведите 2 для просмотра. \nВведите 3 для получения списка суммы \nВведите 4 для завершения работы программы.";
  32.     cout << "\nВвод номера пункта меню: ";
  33.     cin >> menu;
  34.  
  35.     do
  36.     {
  37.         switch (menu)
  38.         {
  39.         case 1:
  40.         {
  41.  
  42.             system("cls");
  43.             ofstream FILE("zadanie.txt", ios_base::app); //открыт вход в исходный файл с данными магазина для записи
  44.             int i = 0, position = 0;
  45.             do
  46.             {
  47.                 string surname = " ", tovar = " ";
  48.                 FILE << endl;
  49.                 cout << "\t\tДобавление нового магазина:\n";
  50.  
  51.                 cout << "Номер магазина: ";
  52.                 cin >> CMP[i].shop;
  53.                 cout << "Фамилия: ";
  54.                 cin.ignore(1, '\n'); //Необходимая очистка буфера ввода для корректности отображения введенных строк
  55.                 getline(cin, surname); //ввод строки фамилии
  56.                 for (int i = 0; i < 10; i++)
  57.                 {
  58.                     cout << "Введите наименование товара: ";
  59.                     getline(cin, CMP[i].tovar);
  60.                     cout << endl;
  61.                     cout << "Введите количество товара:";
  62.                     cin >> CMP[i].kolvo;
  63.                     cout << endl;
  64.                     cout << "Цена товара: ";
  65.                     cin >> CMP[i].cost;
  66.                     cout << endl;
  67.                 }
  68.  
  69.                 FILE << "     " << CMP[i].shop << "\t\t" << CMP[i].surname << " ";
  70.                 FILE << CMP[i].tovar << "   " << "\t    ";
  71.                 FILE << CMP[i].kolvo << "\t\t " << CMP[i].cost;
  72.  
  73.                 cout << "\nДобавить ещё один магазин?\nВведите 1, если ходите продолжить, 4, если хотите закончить.\nВвод: ";
  74.                 do
  75.                 {
  76.                     cin >> position;
  77.                     if (position != 1 && position != 0)
  78.                     {
  79.                         cout << "\nТакого варианта не существует.\nВведите номер корректно: ";
  80.                     }
  81.                 } while (position != 1 && position != 0);
  82.  
  83.                 system("cls");
  84.                 i++;
  85.             } while (position != 0);
  86.  
  87.             FILE.close(); //необходимые процндуры сделаны, файл закрыть
  88.  
  89.             system("cls");
  90.             cout << "\nВвод данных был выполнен успешно.\n\n";
  91.             system("pause");
  92.             break;
  93.         }
  94.         case 3:
  95.         {
  96.             int sum = 0;
  97.  
  98.             ifstream FILE("zadanie.txt", ios::in); //вход для считывания символов файла
  99.             if (!FILE.is_open())
  100.             {
  101.                 cout << "\nФайл не может быть открыт!\nПроверьте наличие файла \"zadanie.txt\" и запустите программу заново.\n\n";
  102.                 system("pause");
  103.                 exit(0);
  104.             }
  105.  
  106.             cout << "\tCписок суммы: ";
  107.  
  108.             for (int i = 0; !FILE.eof(); i++)
  109.             {
  110.                 FILE >> CMP[i].shop;
  111.                 FILE >> CMP[i].surname;
  112.                 FILE >> CMP[i].tovar;
  113.                 FILE >> CMP[i].kolvo;
  114.                 FILE >> CMP[i].cost;
  115.                 sum = CMP[i].kolvo * CMP[i].cost;
  116.                 cout << "Номер магазина: " << CMP[i].shop << " Товара на цену: " << sum << endl;
  117.             }
  118.         }
  119.         case 4:
  120.         {
  121.             exit(0);
  122.             break;
  123.         }
  124.         }
  125.     } while (Menu != 4);
  126. }
Advertisement
Add Comment
Please, Sign In to add comment