C/C++

Написать программу на c++ с готовым кодом и блок схемой

Описать структуру с именем AEROFLOT, содержащую следующие поля:
–название пункта назначения рейса;
–номер рейса;
–время в пути;
–тип самолета.
Написать программу, выполняющую следующие действия:
–ввод с клавиатуры данных в файл, состоящий из семи элементов типа AEROFLOT.
–Загрузка и печать на экране данных из файла.
–Добавление записи.
–Вывод на экран данных и результатов их обработки:
– упорядоченных записей в алфавитном порядке по названиям пунктов назначения;
– пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры; если таких рейсов нет, выдать на дисплей соответствующее сообщение;
– поиск рейсов по пунктам назначения, начинающимся с определенной буквы.;
– поиск рейсов по времени в пути, меньшему определенному значению.
Ну вот иди на лолзе проси что бы тебе за бабки и самолеты и рейсы еще и аэропрт прихерачили
Aleko Sadaghashvili
Aleko Sadaghashvili
25 090
Лучший ответ
Адиль Гиниатулин сдохни говнарь
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <set>
using namespace std;
void input(istream& inp, char* dest, int n, const char* msg = "") {
cout << msg;
inp.getline(dest, n);
}
float input(istream& inp, const char* msg = "") {
float value;
cout << msg;
inp >> value;
inp.ignore(inp.rdbuf()->in_avail());
return value;
}
char input(const char* msg = "") {
char value;
cout << msg;
value = cin.get();
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
struct Aeroflot {
float time;
char flight[8];
char destination[32];
char type[24];
Aeroflot() : time(0) {
flight[0] = destination[0] = type[0] = 0;
}
friend bool operator<(const Aeroflot& a, const Aeroflot& b) {
return string(a.destination) < string(b.destination);
}
friend istream& operator>>(istream& inp, Aeroflot& aero) {
input(inp, aero.flight, size(aero.flight), "Номер рейса: ");
input(inp, aero.destination, size(aero.destination), "Пункт назанчения: ");
aero.time = input(inp, "Продолжительность полёта: ");
input(inp, aero.type, size(aero.type), "Тип воздушного судна: ");
return inp;
}
friend ostream& operator<<(ostream& out, const Aeroflot& aero) {
out.setf(ios::fixed);
out.precision(2);
return out
<< aero.flight << ' '
<< aero.destination << ' '
<< aero.time << ' '
<< aero.type;
out.unsetf(ios::fixed);
out.precision(6);
}
};
class Schedule {
public:
~Schedule() {
if (!empty()) clear();
}
void add(const Aeroflot& aero) {
table.insert(aero);
}
void all()const {
for (const auto& record : table) cout << record << '\n';
}
size_t show_type(const string& t)const {
auto n = 0U;
for (const auto& record : table) {
if (record.type == t) {
cout << record << '\n';
++n;
}
}
puts("");
return n;
}
size_t show_letter(const char letter)const {
auto n = 0U;
for (const auto& record : table) {
if (record.destination[0] == letter) {
cout << record << '\n';
++n;
}
}
puts("");
return n;
}
size_t show_time(const float t)const {
auto n = 0U;
for (const auto& record : table) {
if (record.time < t) {
cout << record << '\n';
++n;
}
}
puts("");
return n;
}
bool save(const string& path)const {
ofstream out(path, ios::binary);
if (out.is_open()) {
for (auto& item : table) out.write((char*)&item, sizeof(item));
out.close();
return true;
}
return false;
}
bool load(const string& path) {
ifstream inp(path, ios::binary);
if (inp.is_open()) {
clear();
Aeroflot tmp;
while (inp.read((char*)&tmp, sizeof(tmp))) table.insert(tmp);
inp.close();
return true;
}
return false;
}
size_t size()const {
return table.size();
}
bool empty()const {
return table.empty();
}
void clear() {
table.clear();
}
private:
set<Aeroflot> table;
};
int main() {
system("chcp 1251 > nul");
const auto n = 2U;
Schedule schedule;
for (auto i = 0U; i < n; ++i) {
Aeroflot aero;
cin >> aero;
schedule.add(aero);
}
if (schedule.save("db.bin")) puts("Запись сохранена!");
else puts("");
system("cls");
schedule.load("db.bin");
schedule.all();
puts("");
cout << "Тип воздушного судна: ";
string type;
getline(cin, type);
auto count = schedule.show_type(type);
if (!count) puts("Рейсы не найдены!");
auto letter = input("Первая буква пункта назначения: ");
count = schedule.show_letter(letter);
if (!count) puts("Рейсы не найдены!");
auto time = input(cin, "Продолжительность полёта: ");
count = schedule.show_time(time);
if (!count) puts("Рейсы не найдены!");
system("pause > nul");
}
Адиль Гиниатулин а можно скриншот кода и результата
Адиль Гиниатулин скриншота и результат кода пожалуйста
Адиль Гиниатулин он мне ошибку выдает когда я запускаю
Адиль Гиниатулин а вы сможете сами вставить эту функцию, главное чтобы код работал блок схему я сам сделаю
Адиль Гиниатулин а лучше проверьте пожалуйста код работает онлайн c++
Адиль Гиниатулин а вы сможете их сами убрать я не понимаю вас и скинуть повторно
Адиль Гиниатулин фух заработало, а вы там сделали такие пункты упорядоченных записей в алфавитном порядке по названиям пунктов назначения;
– пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры; если таких рейсов нет, выдать на дисплей соответствующее сообщение;
– поиск рейсов по пунктам назначения, начинающимся с определенной буквы.;
– поиск рейсов по времени в пути, меньшему определенному значению.