Форум программистов, компьютерный форум CyberForum.ru

Запись в файл - C++

Войти
Регистрация
Восстановить пароль
 
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
16.03.2014, 11:39     Запись в файл #1
Здравствуйте. Такая вот проблема: Есть функция, вычисляющая на встроенном ассемблере уравнение. Значения должны браться из файла input.txt и ответ выдаваться в output.txt
Реализовал это так:
C++
1
2
3
4
5
6
7
8
9
10
fstream file;
file.open("input.txt",ios::in);
if(!file)
    return 1;
 
file>>a>>b>>c>>d;
file.close();
file.open("output.txt",ios::out);
file<<func(a,b,c,d);
file.close();
В чем ошибка? Все работает, считывает, но в файл ответ не выдает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 11:39     Запись в файл
Посмотрите здесь:

запись в файл C++
C++ запись в файл
Запись в файл C++
Запись в файл C++
C++ Запись в файл на си++
C++ Запись в файл
Запись в файл C++
C++ Запись в файл
Запись в файл C++
Запись в файл C++
C++ Запись в файл
запись в файл C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6056 / 5659 / 1830
Регистрация: 18.12.2011
Сообщений: 14,457
Завершенные тесты: 1
16.03.2014, 11:40     Запись в файл #2
Цитата Сообщение от Alex163 Посмотреть сообщение
func(a,b,c,d);
Проверьте в отладчике, что она делает
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
16.03.2014, 12:11  [ТС]     Запись в файл #3
zss, должна передавать числа из файла и выполнять эту функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double func(int a,int b,int c,int d)
{   const int one = 1,two = 2, twentyfive = 25; // Числа константы из формулы.
double res;
    _asm{
    fild    twentyfive  // st(0) = 25 fild - загрузка целого.   
    fidiv   c   // st(0) = 25/c   деление целых чисел      
    fisub   d   // st(0) = 25/c-d  целочисленное вычитание
    fiadd   two // st(0) = 25/c-d+2 сложение
    fild    a   // st(0)->st(1), st(0) = a 
    fmul    st(0), st(0) // st(0) = a*a Умножение вещественных чисел
    fisub   one // st(0) = a*a-1 ST - Вершина стека; регистр, находящийся  в данный момент в вершине стека.
    fiadd   b   // st(0) = a*a-1+b
    fdivp   st(1), st(0) // st(0) = (25/c–d+2)/(b + a*a-1) Деление вещественных чисел и извлечение из стека.
    fstp    res //Сохранение вещественного значения и извлечение из стека
}
return res;
zss
Модератор
Эксперт С++
 Аватар для zss
6056 / 5659 / 1830
Регистрация: 18.12.2011
Сообщений: 14,457
Завершенные тесты: 1
16.03.2014, 12:22     Запись в файл #4
Все таки, посмотрите отладчиком, что она возвращает.
Yandex
Объявления
16.03.2014, 12:22     Запись в файл
Ответ Создать тему
Опции темы

Текущее время: 15:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru