1 пункт - добавление новой записи сделал, но добавляется в конец, а надо в начало 5 пункт - вообще не понял как сделать сортировку по возрастанию средних габаритов ( оставил в коде свободное место под этот пункт) #include <fstream> #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL, "ru"); fstream fin("input.txt"); ofstream fout("output.txt"); const int n = 50; int id[n]; int sector[n]; double length[n]; double width[n]; double height[n]; int count = 0; char c; // Символ, определяющий выбранное пользователем действие do { cout << "Выберите действие:" << endl; cout << "1 - Добавление данных в начало таблицы," << endl; cout << "2 - Удаление по ID," << endl; cout << "3 - Поиск по ID," << endl; cout << "4 - Поиск по сектору" << endl; cout << "5 - Сортировка по возрастанию средних габаритов," << endl; cout << "6 - Вывод данных на экран," << endl; cout << "7 - Чтение данных из файла," << endl; cout << "8 - Запись данных в файл," << endl; cout << "0 - Выход." << endl; cin >> c; switch (c) { case '1': { if (count < n) { cout << "ID: "; cin >> id[count]; cout << "Введите номер сектора хранения: "; cin >> sector[count]; cout << "Введите длину: "; cin >> length[count]; cout << "Введите ширину: "; cin >> width[count]; cout << "Введите высоту: "; cin >> height[count]; count++; } else cout << "Таблица переполнена." << endl; break; } case '2': //Удаление по ID { cout << "Введите ID:" << endl; int cid; // ID cin >> cid; if (id[count - 1] == cid) { cout << "удаление элемента с ID = " << id[count - 1] << "прошло удачно" << endl; count--; break; } for (int i = 0; i < count - 1; i++) if (id[i] == cid) { id[i] = id[i + 1]; sector[i] = sector[i + 1]; length[i] = length[i + 1]; width[i] = width[i + 1]; height[i] = height[i + 1]; cout << "удаление элемента с ID = " << cid << " прошло успешно" << endl; count--; break; } break; } case '3': //поиск по ID { cout << "Введите ID:" << endl; int cid; // ID cin >> cid; for (int i = 0; i < count; i++) if (id[i] == cid) { cout << "ID сектор длина ширина высота" << endl; cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } break; } case '4': //Поиск по сектору { cout << "Введите номер сектора хранения:" << endl; int s; // sector cin >> s; for (int i = 0; i < count; i++) if (sector[i] == s) { cout << "ID сектор длина ширина высота" << endl; cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } break; } case '5': { // тут должен быть пятый пункт } case '6': //Печать записей на экран { cout << "ID сектор длина ширина высота" << endl; for (int i = 0; i < count; i++) cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; break; } case '7': { if (!fin) { cout << "Невозможно открыть файл input.txt." << endl; exit(1); } while (fin >> id[count]) { fin >> sector[count]; fin >> length[count]; fin >> width[count]; fin >> height[count]; count++; } cout << "Чтение из файла завершено успешно." << endl; break; } case '8': { for (int i = 0; i < count; i++) { fout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } cout << "Запись в файл output.txt произведена успешно." << endl; } } } while (c != '0'); fin.close(); fout.close(); return 0; } Code #include <fstream> #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL, "ru"); fstream fin("input.txt"); ofstream fout("output.txt"); const int n = 50; int id[n]; int sector[n]; double length[n]; double width[n]; double height[n]; int count = 0; char c; // Символ, определяющий выбранное пользователем действие do { cout << "Выберите действие:" << endl; cout << "1 - Добавление данных в начало таблицы," << endl; cout << "2 - Удаление по ID," << endl; cout << "3 - Поиск по ID," << endl; cout << "4 - Поиск по сектору" << endl; cout << "5 - Сортировка по возрастанию средних габаритов," << endl; cout << "6 - Вывод данных на экран," << endl; cout << "7 - Чтение данных из файла," << endl; cout << "8 - Запись данных в файл," << endl; cout << "0 - Выход." << endl; cin >> c; switch (c) { case '1': { if (count < n) { cout << "ID: "; cin >> id[count]; cout << "Введите номер сектора хранения: "; cin >> sector[count]; cout << "Введите длину: "; cin >> length[count]; cout << "Введите ширину: "; cin >> width[count]; cout << "Введите высоту: "; cin >> height[count]; count++; } else cout << "Таблица переполнена." << endl; break; } case '2': //Удаление по ID { cout << "Введите ID:" << endl; int cid; // ID cin >> cid; if (id[count - 1] == cid) { cout << "удаление элемента с ID = " << id[count - 1] << "прошло удачно" << endl; count--; break; } for (int i = 0; i < count - 1; i++) if (id[i] == cid) { id[i] = id[i + 1]; sector[i] = sector[i + 1]; length[i] = length[i + 1]; width[i] = width[i + 1]; height[i] = height[i + 1]; cout << "удаление элемента с ID = " << cid << " прошло успешно" << endl; count--; break; } break; } case '3': //поиск по ID { cout << "Введите ID:" << endl; int cid; // ID cin >> cid; for (int i = 0; i < count; i++) if (id[i] == cid) { cout << "ID сектор длина ширина высота" << endl; cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } break; } case '4': //Поиск по сектору { cout << "Введите номер сектора хранения:" << endl; int s; // sector cin >> s; for (int i = 0; i < count; i++) if (sector[i] == s) { cout << "ID сектор длина ширина высота" << endl; cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } break; } case '5': { // тут должен быть пятый пункт } case '6': //Печать записей на экран { cout << "ID сектор длина ширина высота" << endl; for (int i = 0; i < count; i++) cout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; break; } case '7': { if (!fin) { cout << "Невозможно открыть файл input.txt." << endl; exit(1); } while (fin >> id[count]) { fin >> sector[count]; fin >> length[count]; fin >> width[count]; fin >> height[count]; count++; } cout << "Чтение из файла завершено успешно." << endl; break; } case '8': { for (int i = 0; i < count; i++) { fout << id[i] << "\t" << sector[i] << "\t" << length[i] << "\t" << width[i] << "\t" << height[i] << endl; } cout << "Запись в файл output.txt произведена успешно." << endl; } } } while (c != '0'); fin.close(); fout.close(); return 0; }