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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 02:11   #1
kjop
Новичок
Джуниор
 
Регистрация: 08.02.2011
Сообщений: 1
По умолчанию Записи ДЕлфи!

Задание(через записи): В аэропорте хранится данные:
номер рейса, пункт назначения, тип самолета(АК-47....5шт), час отлета, час прилета, общее время полета. При вводе пользователя с клавиатуры название самолета( марки)должно выводится его общее время.
2 часть: Считываем из файла данные: номер рейса, пункт назначения, тип самолета(АК-47....5шт), час отлета, час прилета, общее время полета. При вводе пользователя с клавиатуры название самолета( марки)должно выводится его общее время.
P.S задание сделано все правильно вот тока преподавателю не нравятся мои процедуры, говорит типо они не должны содержать название файла итд.. Мож подскажите более рациональное решени этой задачи... либо подправить процедуры.
Заранее спасибо

Вот сам Код:
Код:
program Project2;

{$APPTYPE CONSOLE}

type reisi=record
     nomerreis :string;
     punkpriznach:string;
     tipsamoleta:string;
     chasotleta: string;
     chasprileta:string;
     trivpoleta:string;
     FFF:string;
     end;

var lb14:array[1..5] of reisi; // массив из 5 записей
    I,K:Integer;
    fepas:Text; // тип файл
    mark:string;
    a:Integer;
    b:string;
 procedure vvod; // процедура ввода данных
 begin
     Writeln('vvedite nomer reisu',i);
       readln(lb14[i].nomerreis);  // ввод номера рейса
       Writeln('punk priznach ',i);
       readln(lb14[i].punkpriznach); // ввод пункта назначения
       Writeln(' tipsamoleta',i);
       readln(lb14[i].tipsamoleta);  // ввод тип самолета
       Writeln('clocotleta',i);
       readln(lb14[i].chasotleta);   // ввод час отлета
       Writeln(' clocprileta',i);
       readln(lb14[i].chasprileta); // ввод час прилета
       Writeln('trivpoleta',i);
       readln(lb14[i].trivpoleta);   // ввод длительность полета
 end;
 procedure zapisvfail;  // процедура записи данных в файл
 begin
   writeln(fepas,lb14[i].nomerreis,'-> nomer reisa');    {    запись в файл данные }
     writeln(fepas,lb14[i].punkpriznach,'-> punkt naznachenia');
     writeln(fepas,lb14[i].tipsamoleta,'-> tipe samoleta');
     writeln(fepas,lb14[i].chasotleta,'-> chas otleta');
     writeln(fepas,lb14[i].chasprileta,'-> chas prileta');
     writeln(fepas,lb14[i].trivpoleta,'-> dlitelnost poleta');  ;
     Writeln(fepas,'---------------');
 end;
 procedure zapisvivod; // процедура чтение из файла + вывод на экран данные
 begin
 Readln(fepas,lb14[i].nomerreis);  // читаем первую строку из файла
  Readln(fepas,lb14[i].punkpriznach);// читаем вторую строку из файла
  Readln(fepas,lb14[i]. tipsamoleta);
  Readln(fepas,lb14[i].chasotleta);
  Readln(fepas,lb14[i].chasprileta);
  Readln(fepas,lb14[i]. trivpoleta);
  Readln(fepas,lb14[i].FFF);
  Writeln(lb14[i].nomerreis);   // вывод первой строки на экран
  Writeln(lb14[i].punkpriznach);
  Writeln(lb14[i].tipsamoleta);
  Writeln(lb14[i].chasotleta);
  Writeln(lb14[i].chasprileta);
  Writeln(lb14[i].trivpoleta);
  Writeln(lb14[i].FFF);
 end;
 procedure iskat;   // процедура поиска марки автомобиля
 begin
 K:=Pos(mark,lb14[i].tipsamoleta); // ф-ция ещет марку самолета в lb14[i].tipsamoleta
 if K>0 then
 writeln(lb14[i].trivpoleta);  // вывод длительность полета
 end;
begin
   Writeln('vvedite 1-esli hotite schitat iz faila svedenia and vvedite 2-esli hotite sami vvodit sevedia');
   readln(a);
   if a=2 then
      begin
      Writeln('vvedite svedenia');
      for i:=1 to 5 do
         begin
         vvod// вызов  процедуры  "vvod"
         end;
     Assign(fepas,'d:\fedos');  // создане файла
     Rewrite(fepas);   
     for i:=1 to 5 do
        begin
        zapisvfail // вызов  процедуры  "zapisvfail"
        end;
     Close(fepas); // закрытие файла
     Writeln('vvedite mark samoletha dla kotorogo hotite vuvesto obchee vrema');
     readln(mark);  // ввод марки самолета
     for i:=1 to 5 do
       begin
       iskat // вызов  процедуры  "iskat"
       end;
     end
   Else
     begin
     Assign(fepas,'d:\fedos');
     Reset(fepas); 
     for I:=1 to 5 do
       begin
       zapisvivod  // чтение из файла и вывод на экран
       end;
     Close(fepas); // закрытие файла

     Writeln('vvedite mark samoletha dla kotorogo hotite vuvesto obchee vrema');
     readln(mark);  // ввод марки самолета
     for i:=1 to 5 do
       begin
       iskat  //  вызов  процедуры  "iskat"
       end;
     end;
Readln;
Readln;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.02.2011 в 08:54.
kjop вне форума Ответить с цитированием
Старый 08.02.2011, 02:52   #2
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

скажи преподавателю что он олень. Как можно считывать данные из файла не указывая его путь. Или ему конкретно не нравится то что ты в самой функции Assign используешь путь?
Тогда создай текстовую переменную впиши туда путь и вставь в assign)))
Lokos вне форума Ответить с цитированием
Старый 08.02.2011, 09:00   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Lokos
скажи преподавателю что он олень.
Категорически не советую

kjop
1) код нужно оформлять специальными тегами

2) насколько я понимаю, код у Вас не для Delphi - а для Pascal
(в дельфи процедуры назначения имени файла AssignFile(), закрытия файла - CloseFile() ну и т.д.

3) попробуйте, для начала, вынести имя файла в константы.
т.е. в начале программы напишите
Код:
const DataFileName = 'd:\fedos';
ну и потом везде, где Вы назначаете файловую переменную используйте эту константу.

4) я на 99% уверен, что в данной задаче предполагается использование не текстового, а типизированного файла.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.02.2011, 09:36   #4
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Печаль

про константы не подумал
Lokos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где же у меня ошибка?? Делфи. Записи. bunny Помощь студентам 14 09.11.2010 00:06
делфи ругается при добавлении записи Cannibal БД в Delphi 8 23.04.2010 15:49
Записи в делфи ttjke Помощь студентам 4 24.12.2009 18:15
Записи на делфи morgan996 Помощь студентам 0 17.12.2009 00:13
Структуры,Записи в делфи ПРОБЛЕМА mar4elo Общие вопросы Delphi 6 01.12.2008 10:43