![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Касса вокзала.
· Структура данных хранит следующие сведения: название пункта назначения, номер поезда, время отправления · Отсортировать данные методом улучшенного пузырька по номерам поездов · Сформировать список поездов, направляющихся в заданный пункт, после заданного с клавиатуры времени. что-то тупит с юнитами. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls,U2;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Mas:Tdar;
r:Tpoezd;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
r.naz:=Edit1.Text;
r.nomer:=strtoint(Edit2.Text);
r.time:=strtoint(Edit3.Text);
Add_to_Array(Mas,r);
end;
procedure TForm1.Button2Click(Sender: TObject);
Begin
Var
I:integer;
S:string;
Begin
For I:=0 to high(Mas) Do
begin
S:=mas[i].fam+' '+inttostr(mas[i].naz)+' '+inttostr(mas[i].nomer)+' '+inttostr(mas[i].time);
Memo1.Lines.Add(s);
end;
End;
procedure TForm1.Button3Click(Sender: TObject);
begin
Sort_Array(Mas);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button4Click(Sender: TObject);
Var
s:string;
begin
Poisk(Mas,s);
Memo1.Lines.Add(s);
end;
end.
unit U2;
interface
uses
Sysutils,Dialogs,Stdctrls;
Type
TPoezd=record
naz:string[10];
nomer:byte;
time:byte;
sb:real;
end;
Tdar=array of TPoezd;
Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd);
Procedure Sort_Array(Var Mas:Tdar);
Procedure Poisk(Mas:Tdar; Var s:string);
implementation
Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd);
Begin
If Mas=nil then Setlength(Mas,1)
else Setlength(Mas,length(Mas)+1);
Mas[high(Mas)]:=r;
End;
Procedure Sort_Array( Var Mas:Tdar);
var
i,j:integer;
r:Tstud;
Begin
For I:=0 to high(MAS)-1 do
Mas[i].sb:=(Mas[i].time);
{ Sortirovka massiva: }
For I:=0 to high(MAS)-1 do
For j:=I+1 to high(MAS) do
if mas[i].sb>mas[j].sb then
begin
r:=mas[i];
mas[i]:=mas[j];
mas[j]:=r;
end;
End;
Procedure Poisk(Mas:Tdar; var s:string);
Var
i:integer;
Begin
For I:=0 to high(MAS)-1 do
if (mas[i].time)<>0 then
s:=Mas[i].naz;
end;
end.Admin: Пользуемся тегами, иначе последуют санкции. Последний раз редактировалось Admin, 30.03.2008 в 15:53. |
|
#2
|
|||
|
|||
|
плиз помогите отцы программирования..заранее спасибо
|
|
#3
|
|||
|
|||
|
А что за U2?
Что за типы TDar, TPoezd? А каюсь, вижу. Последний раз редактировалось MegaPiha, 30.03.2008 в 22:32. |
|
#4
|
|||
|
|||
|
Цитата:
1. Код:
S:=mas[i].fam+' '+inttostr(mas[i].naz)+' '+inttostr(mas[i].nomer)+' '+inttostr(mas[i].time); mas[i].fam - в типе TPoezd нет поля fam. 2. Код:
procedure TForm1.Button2Click(Sender: TObject); Begin Var I:integer; S:string; 3 . Код:
r:Tstud; Дальше потом посмотрю. Спать пора. ![]() |
|
#5
|
|||
|
|||
|
Там так много всего, что слишком долго объяснять, что исправил. Выложу проект. Сделал чтобы работало занесение данных и сортировка. Поиск думаю сам доделать сможешь.
![]() |
|
#6
|
|||
|
|||
|
не правильно сохранил)))спасибо все равно
|
|
#7
|
|||
|
|||
|
Т.е. не правильно?
![]() |
|
#8
|
|||
|
|||
|
Бес попутал....
![]() |
|
#9
|
|||
|
|||
|
хз,но опять не пашет,посмотрите кт-нить другой плиз,если я лох так и скажите)спасиб тебе еще раз
|
|
#10
|
|||
|
|||
|
Блин. В чем же дело?
Я загружаю с сайта, все работает. В корневой папке C диска. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls,Unit4, Mask;
type
TForm1 = class(TForm)
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
MaskEdit1: TMaskEdit;
Edit3: TEdit;
MaskEdit2: TMaskEdit;
Label4: TLabel;
Label3: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Mas:Tdar;
Poezd:Tpoezd;
Procedure RefreshMemo;
implementation
{$R *.dfm}
Procedure RefreshMemo;
Var i:integer;
S:string;
Begin
Form1.Memo1.Lines.Clear;
For i:=0 to high(Mas) do
begin
// S:=mas[i].fam + ' ' + mas[i].naz + ' '+inttostr(mas[i].nomer)+ ' '+Timetostr(mas[i].time);
S:= mas[i].naz + ' '+inttostr(mas[i].nomer)+ ' '+Timetostr(mas[i].time);
Form1.Memo1.Lines.Add(S);
end;
End;
procedure TForm1.Button3Click(Sender: TObject);
begin
Sort_Array(Mas);
RefreshMemo;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
begin
Edit1.Clear;
Edit2.Clear;
MaskEdit1.Clear;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button4Click(Sender: TObject);//Эту часть не трограл
Var
s:string;
begin
Poisk(Mas,s);// Переменная S не задана.
Memo1.Lines.Add(s);
end;
procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
s:string;
begin
If (Edit1.Text<>'') and (Edit2.Text <>'') then
begin
Poezd.naz:=Edit1.Text;
Poezd.nomer:=strtoint(Edit2.Text);
Poezd.time:=strtotime(MaskEdit1.Text);
Add_to_Array(Mas,Poezd);
end;
Refreshmemo;
end;
end.
Только я u2 сохранил под unit4 Код:
unit Unit4;
interface
uses
Sysutils,Dialogs,Stdctrls;
Type
TPoezd=record
naz:string[10];
nomer:byte;
time:TDateTime;
sb:real;
// fam:string;
end;
Tdar=array of TPoezd;
Procedure Add_to_Array(Var Mas:Tdar;Poezd:TPoezd);
Procedure Sort_Array(Var Mas:Tdar);
Procedure Poisk(Mas:Tdar; Var s:string);
implementation
Procedure Add_to_Array(Var Mas:Tdar; Poezd:TPoezd);
Begin
If Mas=nil then Setlength(Mas,1)
else Setlength(Mas,length(Mas)+1);
Mas[high(Mas)]:=Poezd;
End;
Procedure Sort_Array( Var Mas:Tdar);
var
i,j:integer;
//r:Tstud;
Poezd:TPoezd;
Begin
For i:=0 to high(MAS)-1 do
Mas[i].sb:=Mas[i].nomer;
{ Sortirovka massiva: }
For i:=0 to high(MAS)-1 do
For j:=i+1 to high(MAS) do
if mas[i].sb > mas[j].sb then
begin
Poezd:=mas[i];
mas[i]:=mas[j];
mas[j]:=Poezd;
end;
End;
Procedure Poisk(Mas:Tdar; var s:string);//не менял
Var i:integer;
Begin
For i:=0 to high(MAS)-1 do
if (mas[i].time)<>0 then
s:=Mas[i].naz;
end;
end.
И скрин экрана выкладываю. Предлагаю еще сделать сохранение и считывание сведений memo из файла. |
|
#11
|
|||
|
|||
|
спасибо,разобрался
|
|
#12
|
|||
|
|||
|
сделай поиск плиз,надо по времени вывести поезд...
|