![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Сестренке сдавать надо в обеих программах.
А мы Дельфи в юности и не учили. На паскале набросал, на дельфи не получается ![]() Там должно быть все просто: на форме три кнопки и к кнопкам соответственно события. Код:
program Ticket;
uses crt;
type
rec=record
day:string;
town:string;
num:integer;
end;
var
i,j,n,max,maxn,md,maxd:integer;
maxt:string;
records:array[1..100] of rec;
f:text;
procedure readfile;{Чтение из файла}
begin
assign(f,'c:\dbf1.txt');
reset(f);
n:=0;
while not eof(f) do
begin
inc(n);
readln(f,records[n].day);
readln(f,records[n].town);
readln(f,records[n].num);
end;
close(f);
end;
procedure writefile;{Запись в файл}
begin
clrscr;
readfile;
assign(f,'c:\dbf1.txt');
append(f);
writeln('Введите день:');
readln(records[n+1].day);
writeln('Введите гоод:');
readln(records[n+1].town);
writeln('Введите кол-во билетов:');
readln(records[n+1].num);
writeln(f,records[n+1].day);
writeln(f,records[n+1].town);
writeln(f,records[n+1].num);
close(f);
writeln('Для продолжения нажмите Enter');
readln;
end;
procedure viewfile;{Просмотр файла}
begin
clrscr;
readfile;
writeln('День Город Билетов');
max:=0;
md:=0;
for i:=1 to n do
begin
maxn:=records[i].num;
maxt:=records[i].day;
maxd:=i;
writeln(records[i].day:2,' ',records[i].town:10,' ',records[i].num);
for j:=i+1 to n do
if records[j].day=maxt then
maxn:=maxn+records[j].num;
if maxn>max then begin
max:=maxn;
md:=maxd;
end;
end;
writeln('Наибольшее кол-во билетов ',max,' продано в ',records[md].day,' день');
max:=0;
md:=0;
for i:=1 to n do
begin
maxn:=records[i].num;
maxt:=records[i].town;
maxd:=i;
for j:=i+1 to n do
if records[j].town=maxt then
maxn:=maxn+records[j].num;
if maxn>max then begin
max:=maxn;
md:=maxd;
end;
end;
writeln('Наибольшее кол-во билетов ',max,' продано в город ',records[md].town);
writeln('Для продолжения нажмите Enter');
readln;
end;
{Главный моуль}
begin
clrscr;
repeat
writeln('Нажмите');
writeln('1: для записи в файл');
writeln('2: для просмотра файла');
writeln('3: для выхода из программы');
readln(i);
case (ord(i)) of
1: writefile;
2: viewfile;
3: exit;
end;
until i=3;
end.Заранее спасибо! PS Кодить нужно именно с записями и читать из файла, а не с массивами. |
|
#2
|
||||
|
||||
|
тема еще актуальна
|
|
#3
|
|||
|
|||
|
желательно, я конечно её запустил в консоли приписав {$APPTYPE CONSOLE} и убрав clrscr; и переписав диалоги латинскими буквами
![]() |
|
#4
|
||||
|
||||
|
персональное сообщение посмотри
|
|
#5
|
|||
|
|||
|
Спасибо большое, pesi! Думаю ей пойдёт на зачёт
![]() |
|
#6
|
||||
|
||||
|
Помоему, подобная тема является нарушением правил, также как и темы вида:
Цитата:
Нужно не в личку кидать. |
|
#7
|
|||
|
|||
|
Погоди хоть сдадим задачку преподавателю, а то подумает что списали
![]() И надо бы разрешения автора на выкладывание его кода спросить? |