Я только что начал изучать паскаль. И вот столкнулся с такой проблемой: написал простенький калькулятор, но он почему-то результат выводит в 16-тиричной системе. Вот собственно программа:
program DemoCalc;
var
X, Y, Rezult : real;
Ope, Ans : char;
begin
repeat
write('X = ');
Readln(X);
write('Y = ');
Readln(Y);
Writeln('Операция (+,-,/,*) >');
Readln(Ope);
case Ope of
'+' : Rezult := X+Y;
'-' : Rezult := X-Y;
'*' : Rezult := X*Y;
'/' : Rezult := X/Y;
else
writeln('Error nah...');
end;
Writeln(X, Ope, Y, '=' , Rezult);
Writeln('Продолжить Y\N');
Readln(Ans);
Until (Ans='N') or (Ans='n');
end.
Нету тут 16-тиричной системы...
Просто надо ограничивать число знаков за запятой при выводе на печать.
Это просто число, с большим кол-вом знаков. Ограничивать как-то вроде
Rezult:какое-то число:какое-то число
Человек увидел в числе символ "E" и утверждает, что это 16-ая система Перевел бы в 16-ую, посмотрел бы.
Это экспоненциальная запись действительного числа. Замени соотв. строку, например, на Writeln(X:0:2, Ope, Y:0:2, '=' , Rezult:0:2); где, 2 параметр - кол-во цифр после запятой. Это есть форматирование числа.
ну так и чего хочешь-то,автор? это раздел "Задачи на заказ".
СПС, все вроде понял.
з.ы. "задачи на заказ" значит платно штоли?
program DemoCalc;
var
X, Y, A,B,C,D: real;
begin
WRITELN('VVEDITE DVA CHISLA');
READLN(X,Y);
A:=X+Y;
B:=X*Y;
C=X/Y;
D:=X-Y;
WRITELN('SUMMA',A:6:3);
WRITELN;
WRITELN('RAZNICA',D:6:3);
WRITELN;
WRITELN('DELENIE',C:6:3);
WRITELN;
WRITELN('UMNOJENIE',B:6:3);
READLN;
end.
ВОТ И ВСЁ, ВВОДИШЬ ДВА ЧИСЛА И СРАЗУ ПОЛУЧАЕШЬ СУММУ, ДЕЛЕНИЕ, УМНОЖЕНИЕ И ОТНИМАНИЕ, ИЗВИНИ ЕСЛИ ЧТО НЕ ТАК.... ТОЛЬКО ЧТО НАБРАЛ.