Определить дату следующего дня + квартал (с использованием перечисляемого типа) - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, все выводит, кроме кварталов, вот код:

Решение задачи: «Определить дату следующего дня + квартал (с использованием перечисляемого типа)»

textual
Листинг программы
var d,m,g,k:integer;
    b:boolean;
begin
write('Введите день ');
readln(d);
write('Введите месяц ');
readln(m);
write('Введите год ');
readln(g);
b:=true;
case m of
 1,3,5,7,8,10,12: if d<31 then d:=d+1 else
                   if d=31 then
                    begin
                    d:=1;
                    if m<12 then m:=m+1 else
                     begin
                     m:=1;
                     g:=g+1;
                     end;
                    end
                   else
                   b:=false;
 4,6,9,11: if d<30 then d:=d+1 else
            if d=30 then
             begin
             d:=1;
             m:=m+1;
             end
            else
            b:=false;
 2:if g mod 4=0 then
    if d<29 then d:=d+1 else
     if d=29 then
      begin
      d:=1;
      m:=m+1;
      end
     else
     b:=false
   else
    if d<28 then d:=d+1 else
     if d=28 then
      begin
      d:=1;
      m:=m+1;
      end
     else
     b:=false;
 else
 b:=false;
 end;
 case m of
 1,2,3: k:=1;
 4,5,6: k:=2;
 7,8,9: k:=3;
 else k:=4;
 end;
if b then writeln('Следующая дата ',d,'.',m,'.',g,' квартал ',k)
else writeln('Неверно введена дата');
end.

Объяснение кода листинга программы

  1. Переменные d, m, g, k объявлены как целочисленные типы данных.
  2. В блоке case m of выполняется проверка значения переменной m.
  3. Если значение m соответствует одному из указанных в case значений (1, 3, 5, 7, 8, 10, 12), то выполняется соответствующий блок кода.
  4. Если значение m не соответствует ни одному из указанных значений, то выполняется блок else.
  5. В блоке else выполняется проверка значения переменной b.
  6. Если значение b равно true, то выводится сообщение о следующей дате с использованием переменной d, переменной m, переменной g и переменной k.
  7. Если значение b равно false, то выводится сообщение о неверно введенной дате.
  8. Код использует вложенные структуры данных и условные операторы для определения даты следующего дня и квартала на основе введенных пользователем данных.

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы