овен.gif
например если ваш знак овен ,вывести эту картину
Код:
uses graphABC;
const kol=1000;
cl:array[0..3]of Color=(clBlue,clWhite,clYellow,clSkyBlue);
type mas=array[1..kol] of point;
procedure zvezdy(a:mas); //звездное небо
var c:byte;
begin
for var i:=1 to kol do
begin
c:=random(3);
setpixel(a[i].X,a[i].Y,cl[c]);
end;
end;
procedure pois(year,m,d:integer;var s1,s2:string);
var n:integer;
begin
setfontsize(14);
setfontcolor(clBlue );
SetFontStyle (fsItalic);
s1:='Ваш знак ';
s2:='Вы родились в Год ';
case m of
1: if d<20 then n:=12 else n:=1;
2: if d<19 then n:=1 else n:=2;
3: if d<21 then n:=2 else n:=3;
4: if d<20 then n:=3 else n:=4;
5: if d<21 then n:=4 else n:=5;
6: if d<22 then n:=5 else n:=6;
7: if d<23 then n:=6 else n:=7;
8: if d<23 then n:=7 else n:=8;
9: if d<23 then n:=8 else n:=9;
10:if d<23 then n:=9 else n:=10;
11:if d<23 then n:=10 else n:=11;
12:if d<22 then n:=11 else n:=12
end;
case n of
1:s1:=s1+'Водолей';
2:s1:=s1+'Рыбы';
3:s1:=s1+'Овен';
4:s1:=s1+'Телец';
5:s1:=s1+'Близнецы';
6:s1:=s1+'Рак';
7:s1:=s1+'Лев';
8:s1:=s1+'Дева';
9:s1:=s1+'Весы';
10:s1:=s1+'Скорпион. Натура крайностей и противоречий. Безжалостная и страстная.';
11:s1:=s1+'Стрелец';
12:s1:=s1+'Козерог';
end;
case year mod 12 of
0:s2:=s2+'обезьяны';
1:s2:=s2+'петуха';
2:s2:=s2+'собаки';
3:s2:=s2+'свиньи';
4:s2:=s2+'крысы';
5:s2:=s2+'коровы';
6:s2:=s2+'тигра';
7:s2:=s2+'зайца';
8:s2:=s2+'дракона';
9:s2:=s2+'змеи';
10:s2:=s2+'лошади';
11:s2:=s2+'овцы';
end;
end;
//високосный ли год
function vis(g:integer):boolean;
begin
vis:=((g mod 4=0)and(g mod 100<>0))//если кратно 4 и не кратно 100
or((g mod 4=0)and(g mod 400=0))//или кратно 4 и кратно 400
end;
var a:mas;
d,m,y:integer;
s1,s2:string;
begin
randomize;
repeat
writeln('Введите год рождения от 1900 до 2018 ');
readln(y);
until(y>=1900)and(y<=2018);
repeat
writeln('Введите месяц от до 12 ');
readln(m);
until m in [1..12];
repeat
writeln('Введите день рождения ');
readln(d);
until((m in [1,3,5,7,8,10,12])and(d in [1..31]))
or((m in [4,6,9,11])and(d in [1..30]))
or((m=2)and vis(y)and(d in [1..29]))
or((m=2)and not vis(y)and(d in [1..28]));
for var i:=1 to kol do
begin
MaximizeWindow;
a[i].X:=1+random(windowwidth-1);
a[i].Y:=1+random(windowheight-1);
end;
clearwindow(clBlack);
pois(y,m,d,s1,s2);
repeat
zvezdy(a);
setbrushstyle(bsClear);
textout(windowwidth div 2-textwidth(s1)div 2,windowheight div 2-50,s1);
textout(windowwidth div 2-textwidth(s2)div 2,windowheight div 2+20,s2);
sleep(100);
redraw;
until false
end.
Пожалуйста, оформляйте Ваш код согласно правилам.