0_liprikon_0

exam

Jan 19th, 2021
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <Windows.h>
  5. #include <cstdlib>
  6.  
  7. #define N 5 //объявление количества магазинов
  8. #define M 10 //объявление количества товаров
  9.  
  10. using namespace std;
  11.  
  12. struct tovar // товары
  13. {
  14.     string name; //наименование товара
  15.     int kol; //количество товара
  16.     int cost; //стоимость товара
  17. };
  18.  
  19. struct shop //магазины
  20. {
  21.     int shop; //номер магазина
  22.     string surname; //фамилия
  23.     tovar volume; //товары
  24. };
  25. int main()
  26. {
  27.     struct tovar libry[M]; //объявление массива структуры магазина
  28.     struct shop mount[N]; //объявление массива структуры товара
  29.     int i = 0;
  30.  
  31.     setlocale(LC_ALL, "Russian"); //перевод на русский язык
  32.     SetConsoleCP(1251);
  33.     SetConsoleOutputCP(1251);
  34.     system("cls");
  35.  
  36.     //считывание файла и работа с его данными
  37.  
  38.     int sum = 0;
  39.  
  40.     ifstream FILE("zadanie.txt", ios::in); //открытие файла
  41.     if (!FILE.is_open())
  42.     {
  43.         cout << "\nФайл не может быть открыт!\nПроверьте наличие файла \"zadanie.txt\" и запустите программу заново.\n\n";
  44.         system("pause");
  45.         exit(0);
  46.     }
  47.    
  48.     cout << "Номер магазина: " << "Фамилия заведующего: " << "Товара на сумму: " <<  endl;
  49.    
  50.     for (int i = 0; !FILE.eof(); i++)
  51.     {
  52.         FILE.ignore(255, '\n'); //игнорируем первую строку файла (нам нужны данные, а не заголовки)
  53.         FILE >> mount[i].shop; // считываем номер магазина
  54.         FILE >> mount[i].surname; //считываем фамилию заведующего
  55.         for (int j = 0; j < M; j++) //считываем товары
  56.         {
  57.             FILE >> libry[j].name; //наименование
  58.             FILE >> libry[j].kol; //количество
  59.             FILE >> libry[j].cost; //стоимость
  60.             sum += libry[j].kol * libry[j].cost; //вычисляем сумму
  61.         }
  62.        
  63.         cout << "\t" << mount[i].shop << "\t\t" << mount[i].surname << "\t\t" << sum << endl;
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment