Помощь - Поиск - Пользователи - Календарь
Полная версия: Проблема с Val
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
RAPON
Как он работает..
Код
var
f:text;
s,model,scor,mosh:string;
I,,v,maxscor,maxmosh:integer;
begin
assign(f,’c:avto.txt’);
reset(f);
while not eof(f) do
begin
readln(f,s);
for i:=1 to length(s)+1 do
begin
    if s[i]<>’ ‘ then
    begin
        while s[i]<>’ ‘ do
        begin
        model:=concat(model,s[i]);
        inc(i);
        end;
        while s[i]=’ ‘ do
        inc(i);
        while s[i]<>’ ’ do
        begin
        scor:=concat(scor,s[i]);
        inc(i);
        end;
        while s[i]=’ ‘ do
        inc(i);
        while i<=length(s) do
        begin
        mosh:=concat(mosh,s[i]);
        inc(i);
        end;
    end;
end;
writeln(mosh);
val(scor,maxscor,v); (два числа из первой и тртьей строки он преобразовывает как надо)
val(mosh,maxmosh,v); (а вот второе число второй стоки преобразовывает в 0 хотя там 200,почему же так?)
model:=’’;
scor:=’’;
mosh:=’’;
end;
end.

volvo
Или приводи код, который компилируется, и содержимое текстового файла, или в отладчике проверяй, чему перед вызовом Val равняется строка, которую конвертируешь, и чему после вызова Val равняется переменная V (это все-таки код ошибки, вот и проверь, чему он равен)
RAPON
Строка как и требуется равна 200
её преобразование в integer с помощью оператора val равно 0
а код ошибки, v выводит равен 3...
volvo
Цитата
а код ошибки, v выводит равен 3...
Значит, третий символ строки - не число... Проверь, может, это заглавная буква О у тебя затесалась?
RAPON
перепчатал число.и всё вышло.спасибо за помощь.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.