|
Вопрос # 2 231/ вопрос открыт / |
|
Здравствуйте!
подскажите плиз что исправить. нужно составит прогу создания данных типа запись в виде таблицы, с последующей записью их в текстовый файл для создания справочной информации.
задание:
в программе предусмотреть создание след. подпрограм-процедур:
1)формирование 5-7 элементоа массива типа запись с полями, указанными в таблице, споследующей их записью в текстовый файл;
2)вывод на экран элементов массива записей в соответствии с заданием.
Сведения про длительность отказов канала связи:
направление канала связи, дата отказов(по шаблону ДД-ММ-РР), время отказов:начало-конец(по шаблону ч:хв:с).
Распечатать данные про все отказы, длительность которых более 10 минут.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
 |
Вопрос задала: Nostalgia (статус: Посетитель)
Вопрос отправлен: 24 декабря 2008, 22:17
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 24 декабря 2008, 22:33; участников в обсуждении: 1.
|
Nostalgia (статус: Посетитель), 24 декабря 2008, 22:20 [#1]:
unit Unit1;
interface
type linii_zvyazku=record
napryamok_kanalu:string[30];
data_vidmov:string[8];
chn,minn,sekn,chk,mink,sekk:string; //chas vidmov
end;
var f_linii_zvyazku:file of linii_zvyazku;
v1:array [1..5] of linii_zvyazku;
kol:integer;
procedure sozdat;
procedure poisk;
implementation
procedure sozdat;
var priznak:char;
chn,minn,sekn,chk,mink,sekk:byte;
begin
kol:=0;
repeat
kol:=kol+1;
writeln ('input napryamok kanalu');
readln(v1[kol].napryamok_kanalu);
with v1[kol] do
begin
writeln ('input datu vidmov');
readln (data_vidmov);
writeln ('input chas vidmov');
writeln ('chn,minn,sekn,chk,mink,sekk');//vvod nachalnux i konechnux chasov,minut i secund
readln (chn,minn,sekn,chk,mink,sekk);
writeln ('prodolzhyt (y/n)');
readln (priznak);
end;
until priznak='n';
procedure poisk;
var p:string[8];//pochatok vidmov
k:string[8];//kinec vidmov
chn,minn,sekn,chk,mink,sekk,kol_chasov,kol_minut,kol_sekund:byte;
vsego_minut:real;
kol_chasov:=(chk-chn)*60;
kol_minut:=mink-minn;
kol_secund:=(sekk-sekn)/60;
vsego_minut:=kol_chasov+kol_minut+kol_secund;
if (vsego_minut>=10) then
writeln (v1[i].napryamok_kanalu,' ',v1[i].data_vidmov,' ',v1[i].chn,minn,sekn,chk,mink,sekk);
end;end;end;
end.
program lab23_z21;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in 'Unit1.pas';
var f_linii_zvyazku:file of linii_zvyazku;
chn,minn,sekn,chk,mink,sekk:string;
begin
assign (f_linii_zvyazku,'C:\lab23_z21\linii_zvyazku.dat');
rewrite (f_linii_zvyazku);
sozdat;
closefile (f_linii_zvyazku);
reset(f_linii_zvyazku);
poisk;
closefile (f_linii_zvyazku);
readln;
readln
{ TODO -oUser -cConsole Main : Insert code here }
end
|
|
Nostalgia (статус: Посетитель), 24 декабря 2008, 22:33 [#2]:
или может так?
unit Unit1;
interface
uses SysUtils;
type line=record
napravlenie:string[60];
data:integer;
nachalo:string[8];
konec:string[8];
end;
var f_line:file of line;
b:line;
U1:array[1..10] of line; kol:integer;
Priznak:char;
Procedure sozdat;
Procedure poisk;
implementation
procedure sozdat;
var Priznak:char;
begin
kol:=0;
Repeat
kol:=kol+1;
writeln('input napravlenie'); readln(U1[kol].napravlenie);
with U1[kol] do
begin
writeln('input data'); readln(data);
writeln('input nachalo'); readln(nachalo);
writeln('input konec'); readln(konec);
writeln('Prodolgut? (Y/N)');
readln(Priznak);
end;
Until Priznak='N'
end;
procedure poisk;
var i:integer;
al:byte;
s1,s2:string[2];
s1_i,s2_i:byte;
err:byte;
nachalo:string[8];
konec:string[8];
begin
s1:=nachalo[4]+nachalo[5];
s2:=konec[4]+konec[5];
val(s1,s1_i,err);
val(s2,s2_i,err);
al:=s2_i-s1_i;
for i:=1 to kol do
begin
if al>=10 then
writeln(U1[i].napravlenie,' ',U1[i].data,' ',U1[i].nachalo,' ',U1[i]. konec);
end;end;
end.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1;
var f_line:file of line;
fio:string;
begin
{ TODO -oUser -cConsole Main : Insert code here }
assign (f_line,'Z:\files\gr.dat');
rewrite(f_line);
sozdat;
closefile(f_line);
reset(f_line);
poisk;
closefile(f_line);
readln;
readln;
end.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|