![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
добрый вечер, уважаемые программисты. помогите, пожалуйста, дописать программу на Делфи 7.
задание программы, которое я уже сделаны: 1)написать программу по вводу числа, месяца и года (начиная с 2001) выводить является ли год высокосным или нет. вот код Код:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
tdate=class
month,day,year:integer;
procedure setvalue(m,d,y:integer);
function leapyear:boolean;
end;
var
Form1: TForm1;
aday:tdate;
mn,dn,yn:integer;
implementation
{$R *.dfm}
procedure tdate.setvalue(m,d,y:integer);
begin
month:=m;
day:=d;
year:=y;
end;
function tdate.leapyear:boolean;
begin
if (year mod 4 <>0) then
leapyear:=false
else if (year mod 100<>0) then
leapyear:=true
else if (year mod 400<>0) then
leapyear:=false
else
leapyear:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// ctvorenna obektu
aday:=tdate.Create ;
// vikorictanna ego
mn:=strtoint(form1.edit1.text);dn:=strtoint(form1.edit2.text);yn:=strtoint(form1.edit3.text);
aday.setvalue(mn,dn,yn);
if aday.leapyear then
showmessage('Visokicniy rik:' + inttostr(aday.year)+' '+inttostr(yn))
else
showmessage('NEvisokicniy rik:' + inttostr(aday.year));
//znichenna obekta
form1.edit4.Text:='Vi vveli datu '+inttostr(dn)+'/'+inttostr(mn)+'/'+inttostr(yn);
aday.Free;
end;
begin
// ctvorenna obektu
aday:=tdate.Create ;
// vikorictanna ego
mn:=1;dn:=1;yn:=2001;
aday.setvalue(mn,dn,yn);
if aday.leapyear then
showmessage('Visokicniy rik:' + inttostr(aday.year))
else
showmessage('NEvisokicniy rik:' + inttostr(aday.year));
//znichenna obekta
aday.Free;
end.нужно дописать эту программу так, чтобы по вводу числа месяца выводился сезон года (зима,весна,лето,осень). вот мною дописанный вариант кода (про сезон года) Код:
case month of
12,1,2:showmessage('Winter');
3..5:showmessage('Spring');
6..8:showmessage('Summer');
9..11:showmessage('Autumn');
end;или вот ещё вариант Код:
mes:=strtoint(edit1.text); case mes of 1,2,12: label1.caption:='Зима'; 3,4,5: label1.caption:='Весна'; 6,7,8: label1.caption:='Лето!!!!!!!!!!!!!!'; 9..11: label1.caption:='Осень'; end; только я не знаю куда нужно вставить эту часть. заранее огромное спасибо за советы! |