Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2013, 22:49   #1
Шорох Анастасия
 
Регистрация: 22.05.2013
Сообщений: 7
По умолчанию добить программу паскаль авс

программа готова, нужно дописать проверку на ввод данных. если вдруг человек-дурак и вместо чисел пишет "перекпа" или "12.34.8787". что-то, а это даже не представляю как делать.
Код:
uses crt;
var d,m,z,c,y,a,day: integer;
    e: integer;
    den: string;
begin
writeln('Введите дату в формате dd mm yyyy, где d - день, m - месяц, y - год');
writeln('Пример: 19 01 2012');
read(d,m,z);
c:=z div 100;
y:=z mod 100;
day:=abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c);
a:= day mod 7;
case a of
1: den:='пн';
2: den:='вт';
3: den:='ср';
4: den:='чт';
5: den:='пт';
6: den:='сб';
0: den:='вс';
end;
Case m of
1: If d>=21 Then Writeln('водолей') Else
   Writeln('козерог');
2: If d>=21 Then Writeln('рыбы') Else
   Writeln('водолей');
3: If d>=21 Then Writeln('овен) Else
   Writeln('рыбы');
4: If d>=21 Then Writeln('телец') Else
   Writeln('овен');
5: If d>=21 Then Writeln('близнецы') Else
   Writeln('телец');
6: If d>=22 Then Writeln('рак') Else
   Writeln('близнецы');
7: If d>=23 Then Writeln('лев') Else
   Writeln('рак');
8: If d>=24 Then Writeln('дева') Else
   Writeln('лев');
9: If d>=24 Then Writeln('весы') Else
   Writeln('дева');
10:If d>=24 Then Writeln('скорпион') Else
   Writeln('весы');
11:If d>=23 Then Writeln('стрелец') Else
   Writeln('скорпион');
12:If d>=22 Then Writeln('козерог') Else
   Writeln('стрелец');
end;
Writeln('день недели в указанной дате - ',den);
end.

Последний раз редактировалось Шорох Анастасия; 28.05.2013 в 22:57. Причина: неверные символы
Шорох Анастасия вне форума Ответить с цитированием
Старый 29.05.2013, 07:05   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Считывать не 3 числа, а строку, либо обернуть считывание в try (при неверных данных программа сразу вылетит).
После считывания строки проверить, что в ней содержаться только числа и пробелы. Если да - разбить на три строки, выделив числа. Если нет - выдать ошибку и вернуться ко вводу.
Проверить длины строк, должны быть 2,2,4. Если нет - ошибка и вернуться ко вводу.
StrToInt для каждой строки. Усе.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы. Написать программу на языке Паскаль АВС. Helen1 Помощь студентам 9 13.12.2012 12:25
Как можно в Паскаль АВС (Паскаль-Турбо) вставлять в результаты печати программы графики, таблицы, схемы, набранные формулы, выраже IZOPGRAM Паскаль, Turbo Pascal, PascalABC.NET 0 11.06.2012 10:54
добить программу с массивами seven123 Помощь студентам 2 07.05.2012 13:14
добить программу..... РАСУЛл Общие вопросы C/C++ 0 16.03.2012 21:57
Написать программу, преобразующую файл АВС.ТХТ в файл 123.ТХТ [Паскаль] Djoker Помощь студентам 1 12.12.2010 19:45