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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 00:22   #1
Холд
 
Регистрация: 03.12.2010
Сообщений: 4
По умолчанию Паскаль.Написать программу описывающую структуру арофлот...

Вобщем задание:Описать структуру AEROFLOT,содержащую следующие поля:Q название пункта назначения рейса;
-номер рейса;
-тип самолета;
Написать программу с помощью процедур или функций:
-Ввод с клавиатуры данных в фаил,состоящий из элементов типа AEROFLOT;записи должны быть размещены в алфавитном порядке;
-Чтение данных из файла;
-вывод на экран пунктов назначения и номеров рейсов,обслуживаемых самолетом,типо которого введен с клавиатуры;
-если таких рейсов нет,выдать на экран соответствующее сообщение.
Код:
program DKLaba8;
 uses crt;
 type polet=record
       bort:string[4];
       reys:string[6];
       Q:string[25];   {punkt nazna4eni9}
       end;
   var f:file of polet;
       elem1,elem2:polet;
       number:integer;
procedure createfile;
 begin
 seek(f,filesize(f));
 writeln('vvedite svedeni9 o polete');
 writeln('For exit-write *');
  while true do
   begin
   writeln('vvedite nomer punkta nazna4eni9 v alfavitnom por9dke');
   readln(elem1.Q);
   if elem1.q='*' then break;
   writeln('vvedite typ samoleta');
   readln(elem1.bort);
   writeln('vvedite nomer reysa');
   readln(elem1.reys);
   write(f,elem1)
   end
  end;
procedure print_file;
   begin
   seek(f,0);
    write('punkt':25,' typ samoleta':4,'reys':6);
     while not eof(f) do
       begin
        read(f,elem1);
        writeln(elem1.q:25, elem1.bort:4,elem1.reys:6);
       end;
     readln;
   end;
procedure search_reys;
 var found:boolean;
     s:string;
   begin
    writeln('vvedite typ samoleta');
    readln(s);
    found:=false;
    seek(f,0);
    while not eof(f) do
      begin
       read(f,elem1);
       if elem1.bort=s then
        begin
           if found=false then
             writeln('punkt nazna4eni9':25,'reys':6);
             found:=true;
             with elem1 do
               writeln(q:25,reys:6);
        end;
      end;
      if found=false then writeln('dl9 dannogo samoleta reysov net');
    end;



begin
assign(f,'polet.dat');
{$i-}
reset(f);
{$i+}
 if IOResult=0 then
  writeln('dobavlenie zapisey v fail')
   else
     begin
     rewrite(f);
     writeln('Zapisi v novuy fail');
     end;
   readln;
   while true do
   begin
   clrscr;
 writeln('1-sozdanie faila');
 writeln('2-4tenie dannux faila');
 writeln('3-Vuvod na ekran p.nazna4enia i nomerov reysov dl9 dannogo samoleta');
 writeln('4-exit');
 writeln('------------------------------------------------------------------');
 writeln('vvedite nomer menu');
  readln(number);
   case number of
        1:createfile;
        2:print_file;
        3:search_reys;
        4:exit;
end;
end;
end.
3й пункт не работает.и я не знаю,в чем ошибка,подскажите пожалуйста!
Холд вне форума Ответить с цитированием
Старый 05.12.2010, 20:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Запустил твой код
Вот результат:
Цитата:
Zapisi v novuy fail

1-sozdanie faila
2-4tenie dannux faila
3-Vuvod na ekran p.nazna4enia i nomerov reysov dl9 dannogo samoleta
4-exit
------------------------------------------------------------------
vvedite nomer menu
1
vvedite svedeni9 o polete
For exit-write *
vvedite nomer punkta nazna4eni9 v alfavitnom por9dke
1
vvedite typ samoleta
dot
vvedite nomer reysa
12
vvedite nomer punkta nazna4eni9 v alfavitnom por9dke
2
vvedite typ samoleta
dop
vvedite nomer reysa
23
vvedite nomer punkta nazna4eni9 v alfavitnom por9dke
3
vvedite typ samoleta
dot
vvedite nomer reysa
33
vvedite nomer punkta nazna4eni9 v alfavitnom por9dke
*
1-sozdanie faila
2-4tenie dannux faila
3-Vuvod na ekran p.nazna4enia i nomerov reysov dl9 dannogo samoleta
4-exit
------------------------------------------------------------------
vvedite nomer menu
3
vvedite typ samoleta
dot
punkt nazna4eni9 reys
1 12
3 33
1-sozdanie faila
2-4tenie dannux faila
3-Vuvod na ekran p.nazna4enia i nomerov reysov dl9 dannogo samoleta
4-exit
------------------------------------------------------------------
vvedite nomer menu
Вроде правильно вывел... Некрасиво но правильно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2010, 12:56   #3
Холд
 
Регистрация: 03.12.2010
Сообщений: 4
По умолчанию

Черт.Видимо вот в чем ошибка.Там надо не нмер пункта назначения, а название(
Но у меня,если вводить чуть другие данные не выводит.Посмотрю через АБС Паскаль

Последний раз редактировалось Холд; 06.12.2010 в 13:01.
Холд вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать программу! [Паскаль] dentk Помощь студентам 2 03.12.2010 15:54
написать программу. паскаль cherry097 Помощь студентам 2 30.11.2010 00:14
Погите написать программу на паскаль Гаджи Паскаль, Turbo Pascal, PascalABC.NET 0 19.04.2009 01:51
Помогите написать программу...На языке паскаль sher_man Помощь студентам 2 21.11.2007 14:10