Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2015, 19:05   #1
gabach
Пользователь
 
Регистрация: 23.12.2014
Сообщений: 14
По умолчанию Работа с текстовым файлом

Разработать программу с подпрограммами для обработки текстового файла, используя данные варианта. Вывести исходные данные и результаты обработки.
Номер рейса самолёта, пункт назначения, время вылета, время прилёта и число свободных мест. Отсортировать список рейсов по убыванию числа свободных мест, сформировать список номеров рейсов и время их вылета в заданный город, определить наличие свободных мест на рейс с заданным направлением.

Ввод и вывод я осуществил, делал тоже самое с файлом записей всё понятно, а как сделать в текстовом файле не понимаю.

Код:
program text;

{$APPTYPE CONSOLE}

uses
  SysUtils;

//Функция для чтения кириллицы
function Rus(S:String):String;
var i:byte;
begin
  Result:='';
  for i:=1 to Length(S) do
    case S[i] of
'А'..'п': Result:=Result+Chr(Ord(S[i])-64);
'р'..'я': Result:=Result+Chr(Ord(S[i])-16);
'Ё': Result:=Result+Chr(240);
'ё': Result:=Result+Chr(241);
      else
        Result:=Result+S[i];
     end;
end;

type vremya=record
chas:00..23;
min:00..59;
end;
type
      TNomer=byte;
      TPunkt=String[20];
      TTime=vremya;
      TKolMest=1..20;
var
 n:byte;
 intl,intr:integer;
 fi,fo:textfile;

//Процедура ввода
procedure vvod(k:byte; var fx:textfile);
 var i:integer;
     n:tnomer;
     st:tpunkt;
     vilet,prilet:TTime;
     kol:TKolMest;
 begin
  rewrite(fx);
  writeln(fx,' ':30,rus('Рейсы:'));
  writeln(fx);
  writeln(fx,rus('   Номер         Пункт          Вылёт        Прилёт     Места'));
  writeln(fx);
  for i:=1 to k do
   begin
    writeln(rus('Введите номер рейса'));
    readln(n);
    writeln(rus('Введите пункт назначения'));
    readln(st);
    writeln(rus('Введите время вылета'));
    readln(vilet.chas,vilet.min);
    writeln(rus('Введите время прилёта'));
    readln(prilet.chas,prilet.min);
    writeln(rus('Введите кол-во мест'));
    readln(kol);
    write(fx,' ':1,n:5,' ':3,st:15,
             ' ':8,Vilet.chas,':',Vilet.min,
             ' ':9,Prilet.chas,':',Prilet.min,
             ' ':6,kol:2);
    writeln(fx);
    writeln;
   end;
   close(fx);
  end;

 //Процедура вывода
 procedure vivod(var fx:textfile);
 var st:string;
 begin
  reset(fx);
  while not eof(fx) do
   begin
    readln(fx,st);
    writeln(st);
   end;
  writeln;
  close(fx);
 end;

  //Основная программа
Begin
assignfile(fi,'InputText.txt');
assignfile(fo,'OutputText.txt');
writeln(rus('Введите кол-во рейсов'));
readln(n);
writeln;
vvod(n,fi);
vivod(fi);
readln;
end.

Последний раз редактировалось gabach; 07.01.2015 в 19:07.
gabach вне форума Ответить с цитированием
Старый 09.01.2015, 00:30   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

1. Если вопрос конкретно по вводу-выводу в-из текстового файла, то в чем конкретно вопрос?
Вот же в вашем коде и запись и чтение из файла имеются. А там какраз файл текстовый.

2. Если вопрос не в вводе-выводе - уточни формулировку.
Программку нужно всего лишь доделать. Но в чем конкретно помошь нужна - не понятно.
Sibedir вне форума Ответить с цитированием
Старый 09.01.2015, 03:54   #3
gabach
Пользователь
 
Регистрация: 23.12.2014
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Sibedir Посмотреть сообщение
1. Если вопрос конкретно по вводу-выводу в-из текстового файла, то в чем конкретно вопрос?
Вот же в вашем коде и запись и чтение из файла имеются. А там какраз файл текстовый.

2. Если вопрос не в вводе-выводе - уточни формулировку.
Программку нужно всего лишь доделать. Но в чем конкретно помошь нужна - не понятно.
Не могу понять, как будет выглядеть алгоритм сортировки этого файла. А вопрос мой действительно не корректный.
gabach вне форума Ответить с цитированием
Старый 09.01.2015, 14:44   #4
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Соптировать нужно в памяти. А уже после сортировки можно записать в файл.
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовым файлом schkiper Общие вопросы C/C++ 2 02.05.2013 15:45
Работа с текстовым файлом )Игнат( Помощь студентам 4 13.11.2010 16:29
Работа с текстовым файлом bles Паскаль, Turbo Pascal, PascalABC.NET 3 18.04.2010 01:09
работа с текстовым файлом Cеверина Помощь студентам 4 30.03.2009 12:20
Работа с текстовым файлом simka007 Помощь студентам 7 06.02.2009 14:21