Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <iomanip>
- #include <conio.h>
- #include <string.h>
- #include <fstream>
- #include <string>
- #include <Windows.h>
- using namespace std;
- const int L = 20;
- struct age
- {
- int low = 0, high = 0;
- };
- struct toy
- {
- string name;
- double cost = -1;
- age limit;
- };
- struct pertoy
- {
- string name;
- int nt;
- };
- void inputMasToyFileD(toy *&px, int &n) //ввод данных из файла
- {
- char file[L];
- ifstream fin;
- toy t;
- cout << "Имя входного файла: ";
- cin >> file;
- strcat_s(file, ".txt");
- fin.open(file);
- if (fin.fail())
- {
- cout << file << " не открылся\n";
- _getch();
- return;
- }
- n = 0;
- while (!fin.eof())
- {
- fin >> t.name >> t.cost >> t.limit.low >> t.limit.high;
- if (fin.fail()) break;
- n++;
- }
- fin.close();
- px = new toy[n];
- if (px == NULL)
- {
- cout << "Нет памяти\n";
- _getch();
- n = 0;
- return;
- }
- fin.open(file);
- if (fin.fail())
- {
- cout << "Файл не открылся\n";
- _getch();
- delete[] px;
- px = NULL;
- n = 0;
- return;
- }
- for (int j = 0; j < n; j++)
- fin >> px[j].name >> px[j].cost >> px[j].limit.low >> px[j].limit.high;
- fin.close();
- cout << "Файл считан\n";
- _getch();
- }
- void outputMasToy(toy px[], int n) //вывод данных на экран
- {
- int j;
- cout << "____________________________________________________________" << endl;
- cout << "| № | Название игрушки | Стоимость |Возрастное ограничение |" << endl;
- cout << "|___|__________________|___________|_______________________|" << endl;
- for (j = 0; j < n; j++)
- cout << "|" << setw(3) << j + 1 << "|" << setw(18) << px[j].name << "|" << setw(11) << px[j].cost << "| " << setw(17) << px[j].limit.low << " - " << setw(2) << px[j].limit.high << "|" << endl;
- cout << "|___|__________________|___________|_______________________|" << endl;
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- int n(0);
- int k(0);
- int a(0);
- toy *px(NULL);
- toy *py(NULL);
- pertoy *pz(NULL);
- while (1)
- {
- system("cls");
- cout << "Выберите действие:" << endl;
- cout << "1. Ввод данных из файла." << endl;
- cout << "2. Вывод данных на экран." << endl;
- cout << "3. Вывод данных на экран (выходной массив)." << endl;
- cout << "4. Отфильтровать массив игрушек по цене и возрасту (выходной массив)." << endl;
- cout << "5. Сортировать игрушки по названию в алфавитном порядке, а при совпадении по верхней возрастной границе(возр.) в исходном массиве." << endl;
- cout << "6. Сортировать игрушки по цене(убыв.) в выходном массиве." << endl;
- cout << "7. Сортировать игрушки по названию в алфавитном порядке в выходном массиве." << endl;
- cout << "8. Добавить игрушку в список." << endl;
- cout << "9. Убрать игрушку из списка." << endl;
- cout << "10. Создание перечня игрушек по названию." << endl;
- cout << "11. Вывод перечня на экран." << endl;
- cout << "12. Сортировка перечня по алфавиту." << endl;
- cout << "13. Сортировка перечня по количеству игрушек(убыв.)." << endl;
- cout << "14. Вывод в файл (исходный массив)." << endl;
- cout << "15. Вывод в файл (выходной массив)." << endl;
- cout << "16. Вывод в файл (перечень)." << endl;
- cout << "17. Выйти." << endl;
- cout << "Введите действие (1-17):" << endl;
- int t;
- cin >> t;
- switch (t)
- {
- case 1: inputMasToyFileD(px, n);
- break;
- case 2: outputMasToy(px, n);
- _getch();
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement