2015-10-09 3 views
-3

Я создал функцию, которая создает ряд Maclaurin для vaule x до N условий. Он отлично работает, но теперь я хочу, чтобы это значение выводилось в .txt-файл. Извините, если это откровенно очевидно, но я очень новичок в C++ и трачу часы, пытаясь заставить эту чертову работать!Как отключить функцию?

Вот мой сценарий;

#include<iostream> 
#include<fstream> 
#include<string> 

using namespace std; 


void Expseries(double x, int N) 
{ 
    int i; // i is loop counter 
    double M = 1; // M is individual term in Maclaurin series 
    double A = 0; // A is sum of each M terms 

    for (i = 1; i <= N; i++) 
    { 
     M = M*(x/i); 

     A = A + M; 

    } 
    cout << A +1 << endl; 
} 
int main() 
{ 
    ofstream jackFile; 
    jackFile.open("macout.txt"); 
    if (jackFile.bad()) { 
     cerr << "Error accessing file."; 
    } 


     jackFile << Expseries(3, 3); 


    jackFile.close(); 
    return 0; 

} 

Может кто-нибудь, пожалуйста, просветит меня и скажите, что я делаю неправильно. Большое спасибо!

+0

(1) Не проверить 'bad', проверить общий отказ,' jackfile.fail() ', и (2), если есть сбой,' return' , Кроме того, (3) вы уверены, что ищете файл в нужном месте. –

+0

Примечание: запись только 'if (! Jackfile)' эквивалентна записи 'if (jackfile.fail())' –

+0

Вы отправляете вывод функции в файл. Это не перенаправляет cout в функцию. – stark

ответ

0

Ваша функция не возвращает ничего, что она просто печатает на экране. редактировать ваши функции на что-то вроде:

double Expseries(double x, int N) 
{ 
    int i; // i is loop counter 
    double M = 1; // M is individual term in Maclaurin series 
    double A = 0; // A is sum of each M terms 

    for (i = 1; i <= N; i++) 
    { 
     M = M*(x/i); 

     A = A + M; 

    } 
    return A+1; 
} 
Смежные вопросы