Решите пожалуйста задачу:
Надо узнать дату след. дня. Формат даты д/м/г. К примеру я ввожу 30.04.2000 Ответ: 1.05.2000.
Я почти сделал, но надо ещё чтоб если ввели неверную дату к примеру 80.04.2000 Ответ был "Такого дня не существует" или если месяц неправильно, то "Такого месяца не существует"
Делается все при помощи оператора "case".
Я прикрепил файл с тем, что я делал.
Прикрепленные файлы
PROGA.PAS ( 947 байт )
Кол-во скачиваний: 218
Жуть.
Обычно это делается с помощью массива, в котором указываются длины месяцев: LenMonth : array[1..12]of integer = (31,28,31,30...
Ну и, само собой, в феврале надо проверять на високосный год.
Проверка делается при помощи того же массива.
Чего же тут длинного?
(без проверки на високосный год)
const month : array[1..12]of integer = (31,28,31,30,31,30,31,31,30,31,30,31);
var x,y,z:integer;
begin
writeln ('Napishite chislo');
readln (x);
writeln ('Napishite mesyac');
readln (y);
writeln ('Napishite year');
readln (z);
if not (y in [1..12]) then begin
writeln('Wrong Month');
halt;
end;
if (x < 1) or (x > month[y]) then begin
writeln('Wrong Data');
halt;
end;
if x = month[y] then begin
x := 0;
inc(y);
end;
inc(x);
if y = 13 then begin
y := 1;
inc(z);
end;
write (x);
write ('.',y);
writeln ('.',z);
writeln('Press Enter');
readln;
end.