Помощь - Поиск - Пользователи - Календарь
Полная версия: задача на типы данных
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Hunt666
мне необоходимо написать такую прогу:в диалоговом режиме вводится число ,если оно относится к целому типу данных то в результате тоже должно быть целое число ,точно также с вещественным,сивольным и логическим типом данных (все в одной проге)реализовать надо на паскале .
P.S.
сам толком задание не понял и как делать не представляю,памажите кто чем может
klem4
Так как таких вещей как шаблоны в Паскале нету, то вводи строку и анализируй ее.

Если только числа [и знак числа в первом сисмволе] - то целое
Если то что и выше + 1 десятичный разделитель - то вещественное

ну и так далее ....





ps Вот тут Volvo лучше вариант предложил smile.gif
volvo
Читаешь строку, и пробуешь преобразовать ее к целому числу (через Val)... Если ошибка, то введено не целое - пробуй преобразовать к вешественному. Если и здесь ошибка - то анализируй длину введенной строки... При длине = 1 был введен символ.

Если длина отлична от 1, то переводить введенную строку в верхний регистр и проверять на 'TRUE' или 'FALSE'... Есть совпадение - введена логическая переменная, нет - была введена строка, не являющаяся ничем из выше перечисленного...

Цитата
Так как таких вещей как шаблоны в Паскале нету
rolleyes.gif 100% ?
-Hunt666-
а на примере можно а то я не совсем понял
volvo
function UpStr(s: string): string;
var i: integer;
begin
for i := 1 to length(s) do
s[i] := UpCase(s[i]);
UpStr := s;
end;

var
s: string;
code: integer;
i: longint;
r: real;
b: boolean;

begin
write('> '); readln(s);
val(s, i, code);
if code > 0 then begin
val(s, r, code);
if code > 0 then begin

if length(s) > 1 then begin

if (UpStr(s) = 'TRUE') or (UpStr(s) = 'FALSE') then begin
b := UpStr(s) = 'TRUE';
writeln('Boolean type. B = ', b);
end
else writeln('None of these types... Just a string: ', s);

end
else writeln('Char type. Ch = ', s);

end
else writeln('Real type. R = ', r:10:5);
end
else writeln('Integer type. I = ', i:10);

end.
-Hunt666-
спаибо огромное теперь я все вроде бы понял!!!!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.