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

Как записать результат в файл - C++

Восстановить пароль Регистрация
 
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
07.04.2014, 21:59     Как записать результат в файл #1
здравствуйте! имеется код на С++, все работает, результат выводит на экран.. но нужно чтоб выводил результат в файл.txt... помогите пожалуйста переделать, СПАСИБО!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream.h>
#include <math.h>
using namespace std;
int A,B,n,N;
double f, fi, R1, R2,R3,R4, R5,R6,t0,t1,t2, L,C,h,E0,w,pi,D1, D2,D3,FI, FU, T1, T2, Int, S1, S2;
double I[400],U[400],t[400];
double E(double tl)
{if(tl>t1) {return 0;} else{return E0+E0*sin(w*tl+fi);}}
 
double fI(double tl,double Il,double Ul)
{return (-1*Il*(R4+R3*D1+R1*D3)-Ul*D1+ E(tl)*D3)/L;}
 
double fU(double tl,double Il,double Ul)
{return (1/C)*(-1*Ul*D2+Il*D1);}
int main()
{
int i;
 
pi=acos(-1.0);
f=60; 
fi=4*pi/5;
R1=30;
R2=25;
R3=50;
R4=1.88;
R5=15;
R6=50;
t0=0;
t1=0.008;
t2=0.012;
E0=15; 
L=5.57*pow(10.0,-3); 
C=20*pow(10.0,-6);
w=2*pi*f; n=200;
 
h=(t2-t0)/n;
cout<<endl;
cout<<"h= "<<h<<endl;
cout<<endl;
 
cout<<"i=      t=       I=        U="<<endl;
U[1]=0; I[1]=0; t[1]=0;
 
D1=(R5+R6)/(R3+R5+R6);
D2=1/(R3+R5+R6);
D3=R2/(R1+R2);
for(i=0;i<=n;i++)
{
t[i+1]=t[i]+h;
FI=fI(t[i],I[i],U[i]);
FU=fU(t[i],I[i],U[i]);
 
I[i+1]=I[i]+(h/2)*(FI+fI(t[i]+h,I[i]+FI*h,U[i]+FU*h));
U[i+1]=U[i]+(h/2)*(FU+fU(t[i]+h,I[i]+FI*h,U[i]+FU*h));
cout<<i<<"   "<<t[i]<<"   "<<I[i]<<"   "<<U[i]<<endl;
 }
 
cin>>D1;
return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
07.04.2014, 22:30     Как записать результат в файл #2
C++
1
2
3
4
#include <fstream>
//объявление
ofstream out("Путь к файлу (косые строчки разделители двумя \\)")
out << ...
через ofstream выводите так же как и через cout, только используя имя которое вы присвоили объекту ofstream.
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
07.04.2014, 22:57  [ТС]     Как записать результат в файл #3
спасибо, но не понял..
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
07.04.2014, 23:12     Как записать результат в файл #4
Ну например вывести в файл (D:\test.txt) результат.

Вначале подключите хедер.
C++
1
#include <fstream>
Потом создаем объект ofstream (output file stream), который инициализируем строковым литералом - путем к файлу.
C++
1
ofstream out("D:\\test.txt");
И выводим результат учитывая форматирование так, как будто вы выводите на экран с помощью объекта cout. Только в данном случае используем объект ofstream (у меня он имеет имя "out").

Если перефразировать вашу 55ю строчку для вывода в файл, то она будет выглядеть так:
C++
1
out<<i<<"   "<<t[i]<<"   "<<I[i]<<"   "<<U[i]<<endl;
(Обьявляем объект ofstream один раз, а пишем в файл сколько угодно)
После завершения работы с файлом:
C++
1
out.close()
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
07.04.2014, 23:33  [ТС]     Как записать результат в файл #5
не работает(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream.h>
#include <math.h>
#include <fstream>
 
ofstream out("C:\\gh1.txt");
 
using namespace std;
 
int A,B,n,N;
double f, fi, R1, R2,R3,R4, R5,R6,t0,t1,t2, L,C,h,E0,w,pi,D1, D2,D3,FI, FU, T1, T2, Int, S1, S2;
double I[400],U[400],t[400];
double E(double tl)
{if(tl>t1) {return 0;} else{return E0+E0*sin(w*tl+fi);}}
 
double fI(double tl,double Il,double Ul)
{return (-1*Il*(R4+R3*D1+R1*D3)-Ul*D1+ E(tl)*D3)/L;}
 
double fU(double tl,double Il,double Ul)
{return (1/C)*(-1*Ul*D2+Il*D1);}
 
 
int main()
{
int i;
 
pi=acos(-1.0);
f=60; 
fi=4*pi/5;
R1=30;
R2=25;
R3=50;
R4=1.88;
R5=15;
R6=50;
t0=0;
t1=0.008;
t2=0.012;
E0=15; 
L=5.57*pow(10.0,-3); 
C=20*pow(10.0,-6);
w=2*pi*f; n=200;
 
h=(t2-t0)/n;
cout<<endl;
cout<<"h= "<<h<<endl;
cout<<endl;
 
cout<<"i=      t=       I=        U="<<endl;
U[1]=0; I[1]=0; t[1]=0;
 
D1=(R5+R6)/(R3+R5+R6);
D2=1/(R3+R5+R6);
D3=R2/(R1+R2);
for(i=0;i<=n;i++)
{
t[i+1]=t[i]+h;
FI=fI(t[i],I[i],U[i]);
FU=fU(t[i],I[i],U[i]);
 
I[i+1]=I[i]+(h/2)*(FI+fI(t[i]+h,I[i]+FI*h,U[i]+FU*h));
U[i+1]=U[i]+(h/2)*(FU+fU(t[i]+h,I[i]+FI*h,U[i]+FU*h));
out<<i<<"   "<<t[i]<<"   "<<I[i]<<"   "<<U[i]<<endl; 
 }
 
cin>>D1;
out.close()
return 0;
}
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
07.04.2014, 23:56     Как записать результат в файл #6
Извиняюсь. Его сначала надо просто создать, а потом открыть файл через метод open();
C++
1
2
ofstream out;
out.open("D:\\test.txt");
вместо вашей 5й строки.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 01:56     Как записать результат в файл #7
Цитата Сообщение от Wlk Посмотреть сообщение
Извиняюсь. Его сначала надо просто создать, а потом открыть файл через метод open();
Извиняться не нужно - вот это и создаёт, и открывает:
C++
1
ofstream out("D:\\test.txt");
anonymous_
6 / 6 / 1
Регистрация: 21.11.2013
Сообщений: 22
08.04.2014, 23:17     Как записать результат в файл #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
если у тебя выводит результат на экран ты можешь перенаправить поток в файл
добавь в начале мейна
C++
1
freopen("out.txt", "w", stdout);
считай все вызовы cout будут записанны в файл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2014, 23:03     Как записать результат в файл
Еще ссылки по теме:

Записать в файл результат работы функции C++
Не могу записать результат в файл C++
Найти произведение компонентов файла F и записать результат в файл G C++

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

Или воспользуйтесь поиском по форуму:
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
13.04.2014, 23:03  [ТС]     Как записать результат в файл #9
спасибо огромное!) все работает.
Yandex
Объявления
13.04.2014, 23:03     Как записать результат в файл
Ответ Создать тему
Опции темы

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