Помогите пожалуйста! Экзамен С++

С++ помощь Программирование экзамен

Описати структуру AEROFLOT, що міститиме наступні поля : "Назва пунту призначення рейсу" (символьний масив), "Номер рейсу" (ціле поле) та "Тип літака" (символьний масив). Написати програму, яка б виводила на екран інформаціюіі про номери рейсів та типи літаків, пункти призначення яких співпадають з пунктом призначення, введеним з клавіатури. Якщо таких рейсів немає, - видати відповідне повідомлення. Отриману інформацію записати в файл.

По русски:

Описать структуру AEROFLOT, что будет местить следующие поля : "Название пункта призначения рейса" (символьный массив), "Номер рейса" (целое поле) та "Тип самолета" (символьный массив). Написать программу, которая б выводила на экран информацию о номера рейсов та типы самолетов, точки назначения которых соответствуют с пунктом назначения, введенным с клавиатуры. Если таких рейсов нету - выдать соответственное сообщение. Полученную информацию записать в файл.


Примечание:
Stillshot, ууу) спасибо) быстро...но слишком умно для меня =)))

Примечание:
Всё. Прощай программирование, здравствуй администрирование =)
Спасибо ребят.
Ответы:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
using namespace std;
const int n=8; //количество записей (размерность массива)
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
struct Aeroflot
{
   unsigned id;
   std::string destination, aircraft_type;
};
void help()
{
   std::cout
   << "Добавить рейс:\t\tadd  [номер] [пункт назначения] [тип самолёта]\n"
   << "Удалить:\t\trem  [номер]\n"
   << "Поиск:\t\t\tfind [пункт назначения]\n"
   << "Показать справку:\thelp\n"
   << "Выход:\t\t\texit\n";
}
int main()
{
   help();
   typedef std::map<unsigned,Aeroflot> map_t;
   map_t aircrafts; Aeroflot tmp; std::string command;
   while(std::cin>>command, command!="exit")
   {
       if(command=="add")
       {
           std::cin >> tmp.id >> tmp.destination >> tmp.aircraft_type;
           aircrafts[tmp.id] = tmp;
       }
       else if(command=="rem")
       {
           std::cin >> tmp.id;
           aircrafts.erase(tmp.id);
       }
       else if(command=="find")
       {
           std::cin >> tmp.destination;
           typedef std::vector<map_t::iterator> vector_t; vector_t found;
           for(map_t::iterator i = aircrafts.begin(); i != aircrafts.end(); ++i)
               if(i->second.destination==tmp.destination)
               {
                   std::cout << i->second.id << " " << i->second.aircraft_type << "\n";
                   found.push_back(i);
               }
           if(found.empty()) std::cout << "Ничего не найдено.\n";
           else
           {
               std::cout << "Записать в файл(y/n)? "; std::cin >> command;
               if(command=="y" || command=="Y")
               {
                   std::cout << "Имя файла: "; std::cin.ignore(256, '\n'); std::getline(std::cin, command);
                   std::ofstream fout(command.c_str());
                   if(fout.is_open())
                   {
                       for(vector_t::iterator i = found.begin(); i != found.end(); ++i)
                           fout
                           << (*i)->second.id << " "
                           << (*i)->second.destination << " "
                           << (*i)->second.aircraft_type << "\n";
                       fout.close();
                   }
               }
           }
       }
       else if(command=="help") help();
       else std::cout << "Команда " << command << " не найдена.\n";
   }
   return 0;
}


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.