Цитата:
Сообщение от Elenochka
Турбо Паскаль
|
Ну тогда-то что! Пожалуйста:
Код:
CONST
N=10;
TYPE
T=Record
Name:String;
Citiz:LongInt;
Able:LongInt;
Unempl:LongInt;
End;
VAR
Town:Array[1..N] of T;
i,j:Byte;
BEGIN
Writeln('Enter the data:');
For i:=1 to N do
With Town[i] do
begin
Writeln('Name of the town:');
Readln(Name);
Write('Full number of citizens: ');
Readln(Citiz);
Repeat
Write('Able-Bodied: ');
Readln(Able);
If Able>Citiz then
Writeln('Number of able-bodied should be less then number of citizens!');
If Able=0 then
Writeln('Number of able-bodied can not be zero!');
Until (Able<Citiz) and (Able>0);
Repeat
Write('Unemployed: ');
Readln(Unempl);
If Unempl>Able then
Writeln('Number of unempoyed should be less then number of able-bodied!');
Until Unempl<Able;
Writeln;
end;
Writeln;
For i:=1 to N do
With Town[i] do
begin
Write(Name);
for j:=Length(Name)+1 to 20 do Write(' ');
Write(Unempl:12, Able:12, Citiz:12);
If Citiz>700000 then
Writeln(1.0*Unempl/Able*100:8:1)
else
Writeln;
end;
Readln
END.
Только (уж извините!) "занятых" я заменил на трудоспособных ("able-bodied") - иначе бессмыслица: никто так уровень безработицы не считает.
Еще предусмотрен контроль ввода: число трудоспособных должно быть меньше общей численности населения города и больше нуля, число безработных должно быть меньше числа трудоспособных; при нарушении какого-либо из этих условий выдается предупреждение и запрос повторяется.