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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> Проблема с Val
сообщение
Сообщение #1


Новичок
*

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

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


Как он работает..
Код
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.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Или приводи код, который компилируется, и содержимое текстового файла, или в отладчике проверяй, чему перед вызовом Val равняется строка, которую конвертируешь, и чему после вызова Val равняется переменная V (это все-таки код ошибки, вот и проверь, чему он равен)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Строка как и требуется равна 200
её преобразование в integer с помощью оператора val равно 0
а код ошибки, v выводит равен 3...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
а код ошибки, v выводит равен 3...
Значит, третий символ строки - не число... Проверь, может, это заглавная буква О у тебя затесалась?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


перепчатал число.и всё вышло.спасибо за помощь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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