Допишите программу за меня что бы она работала (в идеале написать новую что бы была похожа на эту или это дописать что бы она работала) (турбо паскаль)
program sutki;
var j,i:integer;
begin
writeln('Введите время');
readln(j);real;
readln(i);
case j of
0..5,21..23: writeln('Спокойной ночи ');
6..11: writeln('Доброе утро ');
12..17: writeln('Добрый день ');
18..20: writeln('Доброый вечер ');
else writeln('Время введено не верно');
end;
end.
Ответы
program sutki;
var
j,i: integer;
begin
writeln('Введите время');
readln(j); // убрала real, так как не нужно
readln(i);
if (j >= 0) and (j <= 5) or (j >= 21) and (j <= 23) then
writeln('Спокойной ночи')
else if (j >= 6) and (j <= 11) then
writeln('Доброе утро')
else if (j >= 12) and (j <= 17) then
writeln('Добрый день')
else if (j >= 18) and (j <= 20) then
writeln('Добрый вечер')
else
writeln('Время введено не верно');
readln; // добавила, чтобы программа не закрывалась сразу
end.
Ответ:
Вот исправленный код, который будет работать:
program time_of_day;
var
hours, minutes: integer;
begin
writeln('Введите время (часы и минуты)');
readln(hours);
readln(minutes);
if (hours >= 0) and (hours <= 23) and (minutes >= 0) and (minutes <= 59) then
begin
if (hours >= 0) and (hours <= 5) or (hours >= 21) and (hours <= 23) then
writeln('Спокойной ночи')
else if (hours >= 6) and (hours <= 11) then
writeln('Доброе утро')
else if (hours >= 12) and (hours <= 17) then
writeln('Добрый день')
else
writeln('Добрый вечер');
end
else
writeln('Время введено не верно');
readln;
end.
В данной программе добавлена проверка на корректность введенного времени, а также изменен формат ввода времени на "часы и минуты", что делает программу более удобной в использовании.