Помогите люди добрые
Составить (очень желательно изминить имеющуюся) программу, которая прочитает данные из файла и интерпретирует их в виде линейной диаграммы.
Нужно как-то изминить процедуру построения линии , чтоб координата конца 1 линии была координатой начала 2 линии, и т.д. (5 значений в файле, 4 линии)
Ниже имеется измученная мной прога,
Program lineynay;
Uses Crt,Graph;
Const x=50; y=450;
{
х и у - горизонтальная и вертикальная
графические координаты левого нижнего угла диаграммы
}
var
x1 ,x2, grdr, grmd, st,i:integer;
f:text;
s1,s2,s3,s4,s5:integer;
Procedure Lin(c,k:integer; s:string; var xl,x2:integer);
{
данная процедура для каждой категории строит линию
в диаграмме и добавляет соответствующую запись в легенду;
с - цвет текущей линии,
k - число, относящееся к текущей линии,
s - переменная, содержащая текст записи, которая заносится в легенду;
x1 - горизонтальная координата правой границы предыдущей линии,
x2 - верхняя граница текущей записи в легенде
}
begin
SetColor( c ); {цвет линии}
Line(x1+30,y-k*20,x2+50,y-1); {линия 1=20 пикселям}
x1:=x1+50; {смещение начала следующей линии в диаграммы}
SetColor(15); {цвет легенды}
OuttextXY(x2,460,s); {надпись легенды}
x2:=x2+50; {смещение след надписи легеды}
end;
begin
ClrScr; {чистим экран}
assign(f,'GRAFIK.TXT'); {связывает f с файлом 'GRAFIK.TXT'}
reset(f); {открывает для чтения файл f}
while not eof(f) do {делать пока не конец файла}
Begin readln(f,s1,s2,s3,s4,s5);end;
{считывает из f во вспомогательные переменные}
close(f);
grdr:=detect; {автоопределение графического адаптера}
InitGraph(grdr, grmd,'');{иницыализация графики}
x1:=x-30; {координаты первого столбца по х}
x2:=55; {координаты первой легенды по у}
Line(x,y,x+325,y) ;{горизонтальная линия}
Line(x,100,x,y); {вертикальная линия}
OuttextXY(x-20,y,'0');
Line(x-3,y-100,x+3,y-100);
OuttextXY(x-20,y-100,'5');
Line(x-3,y-200,x+3,y-200);
OuttextXY(x-20,y-200,'10');
Line(x-3,y-300,x+3,y-300);
OuttextXY(x-20,y-300,'15');
{построение графика по данным из файла}
Lin(yellow, s1, 'A1', x1, x2);
Lin(magenta, s2, 'A2', x1, x2);
Lin(green, s3, 'A3', x1, x2);
Lin(lightred, s4, 'A4', x1, x2);
Lin(6, s5, 'A5', x1, x2);
SetTextStyle(defaultfont, horizdir, 2);
SetColor(cyan);
OuttextXY(100,30 , 'Деловая графика');
Readln;
Closegraph
End.
Сообщение отредактировано: volvo -