Программа не прерывается после выполнения оператора If
 Добавлено: 02.10.2008 22:35:46
Добавлено: 02.10.2008 22:35:46Есть код, который определяет, есть пользователю 16 лет или еще нету.
В коде программы задается текущий год, номер месяца и число. Пользователь вводит год, номер месяца и число своего рождения с клавиатуры.
Мне не нравится, что программа запрашивает год рождения до тех пор, пока не закончится переменная year. Я хочу чтобы она один раз проверила, действительно ли year-user_year_birthday=16, year-user_year_birthday<16 или year-user_year_birthday>16, и после этого закончила свою работу, то есть вышла из черного экрана, и снова был показан код программы, или пошла дальше выполнять оператор If.
Можно было бы поставить после Writeln('Вам больше 16 лет') оператор Readln, но тогда надо ставить две точки с запятой, что оператор If сделать не позволяет. Как быть?
			- Код: Выделить всё
- Program n17_izvestna_tekushaja_data;
 Var year,month,day,user_year_birthday,user_month_birthday,user_day_birthday:Integer;
 Begin
 year:=2008;
 month:=10;
 day:=2;
 Writeln('Введите год своего рождения');
 Readln(user_year_birthday);
 If (year-user_year_birthday<16)
 Then Writeln('Вам меньше 16 лет')
 Else If (year-user_year_birthday>16) Then Writeln('Вам больше 16 лет')
 Else If (year-user_year_birthday=16) Then
 Writeln('Введите цифру месяца своего рождения (январь - 1)');
 Readln(user_month_birthday);
 If (month<user_month_birthday) Then Writeln('Вам меньше 16 лет')
 Else If (month>user_month_birthday) Then Writeln('Вам больше 16 лет')
 Else If (month=user_month_birthday) Then
 Writeln('Введите число дня своего рождения');
 Readln(user_day_birthday);
 If (day<user_day_birthday) Then Writeln('Вам меньше 16 лет')
 Else If (day>=user_day_birthday) Then Writeln('Вам больше 16 лет');
 Readln;
 End.
В коде программы задается текущий год, номер месяца и число. Пользователь вводит год, номер месяца и число своего рождения с клавиатуры.
Мне не нравится, что программа запрашивает год рождения до тех пор, пока не закончится переменная year. Я хочу чтобы она один раз проверила, действительно ли year-user_year_birthday=16, year-user_year_birthday<16 или year-user_year_birthday>16, и после этого закончила свою работу, то есть вышла из черного экрана, и снова был показан код программы, или пошла дальше выполнять оператор If.
Можно было бы поставить после Writeln('Вам больше 16 лет') оператор Readln, но тогда надо ставить две точки с запятой, что оператор If сделать не позволяет. Как быть?
