| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Чтение из файла |
| Автор: lisushka 1.6.2007, 13:03 | ||
| Есть текстовый документ "1.txt" . В нем числа - значения переменных. То есть, например, первое значение - количество переменных, второе - количество ограничений. Три(первое, второе и предпоследнее) значения типа int, остальные - double. Вот, например, его содержание : 5 10 -0.01 0.01 -1000 1000 10 20 0.005 В приложении на С++ я считываю эти значения(в нужные мне переменные считываются). А вот когда я их, получившиеся переменные, использую для вызова функции Gen_task(), они( типа double) не срабатывают. Причем, если передавать сразу значениями все работает(занесено в комментарии).В чем тут может быть дело и как это исправить? Часть кода на С++:
|
| Автор: DigitSphinx 1.6.2007, 13:23 | ||||
А зачем ?? У тебя в переменные считываются значения ? Если да то может проблема в функции Gen_task() . Если нет попробуй считывать в char;
|
| Автор: lisushka 1.6.2007, 13:55 | ||
| Нет, не получается так тоже. Отвечаю на вопрос "Зачем?": может несовпадение типов. С функцией все нормально, потому что, если напрямую задавать значения, она работает. Это проверялось и не раз. Но я сразу при ее вызове вручную значения задавала. Один из таких вызовов закомментирован.
|
| Автор: DigitSphinx 1.6.2007, 14:14 | ||||||
Долго думал в чем же дело ?!?!?!
Ты их сама обнуляешь ! Надо “==” вместо “=” И еще лучше
тогда эта ошибка не появится ! а если опечатаешься "=" вместо "==" то компилятор начнет ругаться
|
| Автор: nickless 1.6.2007, 16:54 | ||
Кстати, проверять переменные типа float и double на равенство не рекомендуется, они могут быть "почти" равны или нужное число может вообще не иметь точного представления в двоичном виде (0.1 например). Лучше писать так:
|