Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Паскаль ABC
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

RomeoSFS



Новичок

Здравствуйте не могли бы помочь очень требуется ваша помощь по решению задачи пожалуйста! Есть Условие задачи и код программы но он сделан по другому условию, однако условия задач совпадают! вообщем надо переделать код программы под другое условие! Спасибо огромное заранее!!!

Вот условие и решение:

Расписание электричек хранится в текстовом файле на диске. Каждая запись со¬держит название пункта назначения, пометки типа «СВ», «ПВ», «КСВ» и время отправления.
Написать программу, выполняющую следующие действия:
□  корректировку или дополнение расписания с клавиатуры;
□  сортировку по станции назначения или по времени отправления;
□   вывод на экран информации о поездах, отходящих после введенного времени;
□   запись расписания в файл под тем же или новым именем.




program spisoks;
uses crt;
const n=10000;
type spisok=record
punkt:string[20];
tip:string[10];
end;
type vremya=record
cas:integer;
min:integer;
end;
var
   tbl:array[1..n] of spisok;
   vr:array [1..n]of vremya;
   f:Text;
   k,y:integer;
procedure Make;
var l:string; n,i:integer;
begin
textcolor(lightgreen);
writeln('sozdanie faila');
 textcolor(black);
writeln('Vvedite imya faila');
readln(l);
    assign(f,l);
    rewrite(f);
n:=0;
   Repeat
       n:=n+1;
       Write('punkt otpravlenia ',n,' marshuta  ');
       ReadLn(tbl[n].punkt);
       If tbl[n].punkt <>'^' then
       begin
        Write('vremya otpravlenia ',n,' marshruta ');
           ReadLn(vr[n].cas);
           writeln (':');
           readln (vr[n].min);
           Write('tip vagonog',n,' marshruta ');
           ReadLn(tbl[n].tip);
       end;
       until tbl[n].punkt='^';
    for i:=1 to n-1 do
     begin
        writeln(f,tbl.punkt);
        writeln(f,vr.cas);
        writeln (f,vr.min);
        writeln(f,tbl.tip);
     end;
     close(f);
     writeln('dannye uspesho sohraneny. nazhmite Enter.');
     readln;
  end;
procedure show;
var i:integer; l:string;
begin
textcolor(lightgreen);
writeln('prosmotr faila');
 textcolor(black);
writeln('vvedite imya faila');
readln(l);
    assign(f,l);
    reset(f);
writeln('punkt | vremya  |tip vagona');
    i:=0;
while not eof(f) do
  begin
inc(i);
readln(f,tbl.punkt);
readln(f,vr.cas);
readln(f,vr.min);
readln(f,tbl.tip);
writeln('  ',tbl.punkt,'|        ',vr.cas,':',vr.min,'|    ',tbl.tip);
  end;
  readln;
  close(f);
 end;

Procedure Sortirovka;
var i,j,m: Integer;
p : spisok;
k : vremya;
S :string;
begin
m:=0;
writeln('Введите имя файла:');
readln(S);
assign(f,S);
reset(f);
while not eof(f) do
  begin
inc(m);
readln(f,tbl[m].punkt);
readln(f,vr[m].cas);
readln(f,vr[m].min);
readln(f,tbl[m].tip);
end;
    For I:=1 to M do
    Begin
         For J:=1 to M-I do
         Begin
         if tbl[J].punkt[1] > tbl[J+1].punkt[1] then
              begin
               p.punkt:=tbl[J].punkt;
               k.cas:=vr[J].cas+5;
               k.min:=vr[J].min;
               p.tip:=tbl[j].tip;
               
               tbl[J].punkt:=tbl[J+1].punkt;
               vr[J].cas:=vr[J+1].cas;
               vr[J].min:=vr[J+1].min;
               tbl[J].tip:=tbl[J+1].tip;

               tbl[J+1].punkt:=p.punkt;
               vr[J+1].cas:=k.cas;
               vr[J+1].min:=k.min;
               tbl[J+1].tip:=p.tip;
               end;
           end;
           end;
//writeln('*|Пункт отпр.|Час|Минута|Тип вагона|*');
For I:=1 to m do
Begin
writeln('*Пункт Отправления* ',tbl.punkt,' *Время* ',vr.cas,':',vr.min,' *Тип вагона* ',tbl.tip);
end;
  writeln('Для продолжения нажмите Enter');
  readln;
  M:=0;
end;
begin
k:=0;
repeat
clrscr;
writeln('programma spisok');
writeln('1.sozdanie');
writeln('2.pokaz');
writeln('3.sort ');
writeln('4.vyxod');
write('Выберите действие:');
 readln(y);
 case y of
  1:Make;
  2:show;
  3:Sortirovka;
  4:k:=1;
  end;
until k=1;
end.


А ВОТ условие под которое надо сделать эту задачу:


В текстовом файле хранится список товаров. Для каждого товара указаны его на¬звание, стоимость единицы товара в тыс. руб., количество и единица измерения
(например, 100 шт., 20 кг).
Написать программу, выполняющую следующие действия:
□  корректировку или дополнение списка с клавиатуры;
□  сортировку по названию товара или по общей стоимости;
□  вывод на экран информации о товаре, название которого введено с клавиатуры;
□  запись списка в файл под тем же или новым именем.

Всего сообщений: 2 | Присоединился: декабрь 2012 | Отправлено: 16 дек. 2012 0:01 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com