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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 00:04   #1
likos18
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 10
По умолчанию Программа для практики

Ребят, очень нужна помощь. Сейчас у меня практика, 2 работы сдал без проблем, а вот теперь дали задание "работа с файлами" и тут у меня проблема, не могу сделать задание, может кто поможет.

Нужно создать программу, которая обеспечивает создание, дополнение, просмотр и редактирование файла. Записи файлы содержат информацию о багаже пассажира в составе: фамилия пассажира, количество вещей, общий вес вещей. Нужно: привести сведения о пассажирах, у которых вес вещей превышает норму (60 кг.) И указать наибольшее превышение.
Заранее спасибо.
likos18 вне форума Ответить с цитированием
Старый 07.12.2011, 00:58   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Вот тебе программа. Вопросы?
Написал "barag" читаю как багаж, а мысли про бараж

Код:
Program Багаж;
 Uses crt;
  Type
  barag=record
  Номер:integer;
  Фамилия_пассажира: string[20];
  общий_вес:integer;
  Количество_вещей: integer;
  end;
   file_barag=file of barag;
   var
   t:file_barag;
   name:string;


   Procedure vvod_barag (var a: barag);
    begin
     writeln('Введите номер, Фамилию_пассажира, общий_вес багажа,Количество_вещей');
     with a do
     begin
     readln(Номер);
     readln(Фамилию_пассажира);
     readln(общий_вес багажа);
     readln(Количество_вещей);
     end;
    end;

    Procedure Vvod_file(var t: file_barag);
    var i,n:byte;
        a:oblast;
      begin
	    rewrite(t);
		  writeln('Введите количество записей');
		  readln(n);
		for i:=1 to n do
		 begin
		      begin
          Vvod_barag(a);
          write (t, a);
     end;
     readln;
end;
end;

Procedure vivod_zapisi (a: barag);
begin
     writeln(a.номер: 10);
     writeln(a.Фамилию_пассажира: 0);
     writeln(a.общий_вес багажа: 0);
     writeln(a.Количество_вещей: 0);

end;
procedure shapka;
begin
     textcolor (5);
     writeln('Номер': 10);
     writeln('Фамилию_пассажира': 0);
     writeln('общий_вес багажа': 0);
     writeln('Количество_вещей': 0);
     textcolor (15);
end;

procedure VuVod_file (var t: file_barag);
var n, i: byte;
    a: barag;
begin
     clrscr;
     shapka;
     reset (t);
     i:= 0;
     while not eof (t) do
     begin
          seek (t, i);
          read (t, a);
          vivod_zapisi (a);
          i:= i+1;
     end;
     close (t);
     readln;
end;

procedure kruteruu (var t:file_barag; k: integer);
var a: oblast;
    i: byte;
begin
     writeln('сведения о норме');
     writeln('Введите вес багажа');
     readln(k);
     reset (t);
     i:=0;
     clrscr;
     shapka;
     while not eof (t) do
     begin
     seek (t, i);
     read (t, a);
     if (a.общий_вес багажа>=k) then vivod_zapisi(a);
     i:= i+1;
     end;
     readln;
end;

procedure dopolnenue (var t: file_barag);
var i,n: byte;
        a: barag;
begin
    reset(t);
    seek(t,fileSize(t));
    writeln('Введите количество добавляемых записей');
    readln(n);
    for i:=1 to n do	 begin
          Vvod_barag(a);
          write (t, a);
    end;
    Close(t);
    Readln
 end;

procedure menu (var t: file_barag);
var k: byte;
begin
     repeat
     clrscr;
     writeln ('menu');
     writeln ('1: Создание записи');
     writeln ('2: Дополнение записи');
     writeln ('3: Критерий);
     writeln ('4: Вивести запись ');
     writeln ('5: exit ');
     write ('vash vubоr: ');
     readln (k);
     case k of
     1: vvod_file (t);
     2: Dopolnenue (t);  
     3: kruteriu (t,k);
     4: vuvod_file (t);
     end;
     until k = 5;
end;
begin
     clrscr;
     writeln ('vvedute Nazvanue: ');
     readln (name);
     assign (t, name);
     menu (t);
end.
Да , пункт превышение веса думаю уже сам добавиш( подсказка, всунуть туда же где критерий )
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 07.12.2011, 01:16   #3
likos18
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 10
По умолчанию

Leshii, спасибо огромное, вопросов нет)
likos18 вне форума Ответить с цитированием
Старый 07.12.2011, 01:25   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ах да, я там над форматом не особо парился советую на оформлением поработать
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 07.12.2011, 01:26   #5
likos18
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 10
По умолчанию

Leshii, да я вижу, не проблема, какраз над этим сейчас и работаю, спасибо еще раз.
likos18 вне форума Ответить с цитированием
Старый 09.12.2011, 20:35   #6
likos18
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 10
По умолчанию

Можете помочь еще с одной программой.

Есть два файла j,f со случайным количеством строк. Например если в файле j строк больше, нужно перенести лишнии строки с конца в файл f, что бы строк в обоих файлах было поровну. Или наоборот. Паскаль.

Заранее спасибо.
likos18 вне форума Ответить с цитированием
Старый 09.12.2011, 20:42   #7
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Лучше сделай отдельную тему.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив(для практики надо) thierryandrey Помощь студентам 2 06.06.2011 08:22
Идеи для практики Ri}|{a9 Помощь студентам 1 29.03.2011 23:04
тема дял практики Izlom Помощь студентам 6 04.07.2010 12:34
прохождение практики radikayupov1710 Помощь студентам 0 18.04.2010 17:39
Не хватает практики на C++ Rembo Свободное общение 11 04.08.2008 18:36