Как я понял If Then Else не поддерживают длинных выражений или нужно как-то упаковать?
program metersfeet;
{$mode objfpc}{$H+}
uses
FileUtil;
var
metr,c,feet: Real;
sel: String;
begin
writeln (UTF8ToConsole('Для пересчёта метров в футы нажмите "m" латинскую'));
writeln (UTF8ToConsole('Для пересчёта футов в метры нажмите "f" латинскую'));
read (sel);
if sel = 'm' then
writeln (UTF8ToConsole('Введите число метров'));
readln (metr);
c:=3.281;
feet:=metr/c;
write(UTF8ToConsole('В '));
write(metr);
write(UTF8ToConsole('метрах '));
write(feet);
writeln(UTF8ToConsole(' футов'));
if sel = 'f' then
writeln (UTF8ToConsole('Ведите число футов'));
readln (feet);
metr:=feet*c;
write(UTF8ToConsole('В '));
write(feet);
write(UTF8ToConsole(' футах '));
write(metr);
writeln(UTF8ToConsole(' метров'));
readln;
end.
Здесь, при вводе 'f"
Не выводятся диалоговые сообщения.
Как можно поправить?
If Then Else
Модератор: Модераторы
If Then Else
Последний раз редактировалось wov2004 22.07.2012 08:59:41, всего редактировалось 1 раз.
Вы имеете ввиду это
Или что-то другое?
Код: Выделить всё
if условие then
begin
тут несколько строк, которые выполнятся, только если ВЕРНО условие в if
end
else
begin
тут несколько строк, которые выполнятся, только если НЕ ВЕРНО условие в if
end;Да, вероятно так.
Только начал изучать, и такой способ ещё не видел.
Добавлено спустя 14 минут 31 секунду:
Ага, спасибо, именно оно!
Только начал изучать, и такой способ ещё не видел.
Добавлено спустя 14 минут 31 секунду:
Climber писал(а):Вы имеете ввиду это
Код: Выделить всё
if условие then
begin
тут несколько строк, которые выполнятся, только если ВЕРНО условие в if
end
else
begin
тут несколько строк, которые выполнятся, только если НЕ ВЕРНО условие в if
end;
Или что-то другое?
Ага, спасибо, именно оно!
wov2004
Переделайте Ваш код в две процедуры:
- преобразование метров в футы;
- преобразование футов в метры.
И при записи в переменную sel той или иной буквы просто вызываете ту или иную процедуру:
Переделайте Ваш код в две процедуры:
- преобразование метров в футы;
- преобразование футов в метры.
И при записи в переменную sel той или иной буквы просто вызываете ту или иную процедуру:
Код: Выделить всё
//В качестве параметра вводится количество футов
//Выходное значение - соответствующее им кол-во метров
Function FeetToMeter(f: double): Double;
Begin
//Код, который нужен для перевода футов в метры
End;
//В качестве параметра вводится количество метров
//Выходное значение - соответствующее им кол-во футов
Function MeterToFeet(m: double): Double;
Begin
//Код, который нужен для перевода футов в метры
End;
//Основная программа
...
If sel='f' Then
res:=FeetToMeter(Какое-то число);
If sel:='m' Then
res:=MeterToFeet(Какое-то число);
WriteLn('Получилось: ', res);
