IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> практика по курсовой паскаль АВС
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Женский

Репутация: -  0  +


программа готова, нужно дописать проверку на ввод данных. если вдруг человек-дурак и вместо чисел пишет "перекпа" или "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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


незнаю, если ты не можешь гарантировать что пользователь введет числа, да еще и в нужном порядке, может принимать строку и разбирать посимовольно? например пока идут числа это "день" если встретили "не число" разделитель, потом опять числа это месяц, нашли "не число" разделитель


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Уж не знаю, есть ли в ABC-Паскале, но в TurboPascal имеется:

При преобразовании строки в число надо будет обрабатывать код возрата.

Цитата
Val (процедура)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Преобразовывает строковое значение в его числовое представление.

Объявление:
Procedure Val(S; Var V; Var Code : Integer);

Где:
S - переменная со строковым типом. Должна представлять
последовательность символов, формирующих знаковое целое число.
V - переменная типа Real или Integer
Code - переменная типа Integer

Режим:
Windows, Real, Protected

Замечания:
Преобразовывает строковое значение (S) в его числовое представление, как это
происходит при чтении из текстового файла с помощью Read. Code - позиция, в
которой произошла ошибка при преобразовании, или нуль, если ошибки не было.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 19:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name