|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.04.2015, 16:01 | #1 |
Регистрация: 27.04.2015
Сообщений: 4
|
Не считывает float из файла
Доброго времени суток форумчане! Это второй форум на котором я ищу решение на такую проблему:Суть проблемы : программа работала раньше -как часы, потом в структуре поменял поле с int на doublle. также везде поменял scanf(чтобы считывало не int , а float). И всё теперь не хочет считывать. bc 3.1++.
это старая рабочая с int: copy KURSOV~1.txt это новая -нерабочая KURSOV~1 — копия.txt Повторяю проблема в том что :записывает в файл совсем не то (0.00), пропускает поле ввода price в bc 3.1++ В отладчике работает HD 1.0 : HexDump for file 'struct.dat' [00000000:0000001C] 00000000: 31 0D 0A 31 0D 0A 32 0D 0A 33 0D 0A 34 0D 0A 35 1..1..2..3..4..5 00000010: 0D 0A 36 2E 30 30 30 30 30 30 0D 0A ..6.000000.. но мне нужно её запустить в bc3.1++. Если есть идеи, пожалуйста помогите! |
27.04.2015, 16:23 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
%f для float %lf для double
I'm learning to live...
|
|
27.04.2015, 17:11 | #3 |
Регистрация: 27.04.2015
Сообщений: 4
|
Так всё же стоит!
fscanf(f,"%f",&(tmp->price)); ошибся здесь правильно-с int на float! просто уже по всякому менял нечего не помогает(, а курсовой сдать нужно Есть набор данных в файле Код:
Nazvanie lekarstva - 1 Profil primeneniya -1 Proizvoditel-1 Pokazaniya k primeneniyu-1 Dozirovki-1 Stoimost'-1.1 вторая запись: Nazvanie lekarstva - 2 Profil primeneniya -2 Proizvoditel-2 Pokazaniya k primeneniyu-2 Dozirovki-2 Stoimost'-2.2 Получено: Безымянный111.jpg Запускаю программу в bc 3.1++ нажимаю 4(вывод данных )получаю такой результат. Хочу ещё раз повторить : что с int price -всё работает отлично! Последний раз редактировалось Stilet; 27.04.2015 в 17:39. |
27.04.2015, 17:53 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
27.04.2015, 18:12 | #5 |
Регистрация: 27.04.2015
Сообщений: 4
|
Ну предыдущие поля же яв-ся массивом типа-char[] , а к ним доступ происходит без взятия адреса. Если я правильно Вас понял.
Просто я уже сижу очень долго над этой задачей и нечего не получается. Если я неправильно понял , то пожалуйста укажите поподробнее что вы имеете ввиду! |
27.04.2015, 18:38 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
К сожалению твой код протестировать не могу, ибо там смесь Си и Си++, которую мой GCC отказывается переваривать.
I'm learning to live...
|
27.04.2015, 18:46 | #7 | |
Регистрация: 27.04.2015
Сообщений: 4
|
Цитата:
это чистый си , запускаю на стареньком borlandc для dos, под dosbox'ом с ос windows 8.1 . Вариант с int прикреплённый первым файлом -прекрасно работает, но вот с float -не корректно записывает в поток float. Если есть идеи как сделать с float , что бы считывало правильно - пишите. Ну всё равно ,благодарен за внимание! Последний раз редактировалось Stilet; 27.04.2015 в 19:39. |
|
27.04.2015, 19:39 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Вот такие вот пирожки. Просто Борланду как и Микрософту на жесткость стандартов побоку. P.S. Если оч. хочешь могу попробовать набросать скетч того как я вижу со своей колокольни решение твоей задачи. Так то есть вот такое: http://www.programmersforum.ru/showthread.php?t=105501 Это я частенько рекомендую на форуме, но можно и под твой текстовый вариант адаптировать или написать наново.
I'm learning to live...
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не считывает из файла.Disk read error | yzen | Помощь студентам | 3 | 11.06.2013 15:31 |
Написать программу которая считывает текст из файла. | Rinat777 | Общие вопросы C/C++ | 1 | 18.04.2013 21:23 |
Exception когда считывает с файла | Natok | Помощь студентам | 1 | 22.04.2011 11:25 |