Задача на структуру AEROFLOT, с размещением в алфавитном порядке по названиям пунктов назначения (реализовать через файлы)

О задаче:
[свернуть]

По книге:C/C++ Программирование на языке высокого уровня: Учебник для вузов
Автор книги: Павловская Татьяна Александровна
Задача на тему: Структуры
Цель задачи дополнена: заполнить структуры из файла и реализовать вывод результатов в файл
Вариант задачи: 5 — (на странице 146)’ style=’default’ collapse_link=’true’]

Условия задачи:
[свернуть]

1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
[свернуть]

  • NAZN — название пункта назначения рейса;
  • NUMR — номер рейса;
  • TIP — тип самолета.

‘ style=’default’ collapse_link=’true’]

2. Написать программу, выполняющую следующие действия:
[свернуть]

  • ввод с клавиатуры данных в массив AIPORT, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
  • вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;
  • если таких рейсов нет, выдать на дисплей соответствующее сообщение.

‘ style=’default’ collapse_link=’true’]

Листинг(исходник) программы:
[свернуть]

Struct.cpp
[свернуть]


#define Num 7
struct AEROFLOT
{ 
char destination[30]; 
char type[30]; 
unsigned int number;
};

‘ style=’default’ collapse_link=’true’]

main.cpp
[свернуть]


#include <iostream>
#include <fstream>
#include <locale>
#include "Struct.cpp"
using namespace std;
AEROFLOT AIPORT[Num];
void main() 
{ 
setlocale(LC_ALL,"Rus");
unsigned int i, j; 
int count = 0;
char t[30];
ifstream fin("Struct.txt");
if(!fin)
{
cout<<"Файл не был найден для заполнения структуры!\\n";
}
else
{
for ( i = 0; i < Num; i++) 
{ 
fin >> AIPORT[i].destination; 
fin >> AIPORT[i].type; 
fin >> AIPORT[i].number; 
system("cls");
} 
fin.close();

for ( i = 0; i < Num - 1; i++) 
for ( j = 0; j < Num - 1; j++) 
if(strcmp(AIPORT[j].destination, AIPORT[j+1].destination) > 0) 
{
swap(AIPORT[j], AIPORT[j+1]); 
}


for ( i = 0; i < Num; i++) 
cout << AIPORT[i].destination << " "<< AIPORT[i].number << " "<< AIPORT[i].type << endl;

cout << "\\nВведите тип: ";cin >> t; 
ofstream fout("Output_File.txt");
for ( i = 0; i < Num; i++) 
{ 
if(strcmp(t, AIPORT[i].type) == 0) 
fout << AIPORT[i].destination << " "<< AIPORT[i].number << endl; 
else 
count++; 
} 

if(count == Num) 
fout << "\\nНет совпадений!" << endl; 
fout.close();
}
system("pause");
}

‘ style=’default’ collapse_link=’true’]

Автор: Павел Кадыров

Задача на структуру AEROFLOT, с размещением в алфавитном порядке по названиям пунктов назначения (реализовать через файлы): 0 комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *