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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
#1

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

07.04.2014, 21:59. Просмотров 749. Ответов 8
Метки нет (Все метки)

здравствуйте! имеется код на С++, все работает, результат выводит на экран.. но нужно чтоб выводил результат в файл.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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать результат в файл (C++):

Программка готова,как записать результат в файл.. - C++
/* Задание 6.3 Есть четыре функции: 1.заполняет массив A10 случайными числами; 2.распечатывает массив A10; 3.находит максимальное...

Программа на Си.Как корректно записать результат в текстовый файл - C++
Не получается красиво записать результат в текстовый файлик. Желательно записать в файл вот так : Summa elementov 1 stolbca = ? Summa...

Не могу записать результат в файл - C++
в 37 строке ругается на ofstream пишет неизвестная функция #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include...

Записать результат в текстовый файл - C++
Программа считает количество предложений в текстовом файле и количество слов в каждом предложении #include &lt;iostream.h&gt; #include...

Записать в файл результат работы функции - C++
Можно ли вообще след. программу записать в файл ? Для этой проги ничего на форуме не нашел, а что нашел, не подходит особо ( ...

В файл записать результат вычисления функции - C++
Написать программу для с++: Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для создания нового...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
5417 / 4813 / 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 будут записанны в файл
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
13.04.2014, 23:03  [ТС] #9
спасибо огромное!) все работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2014, 23:03
Привет! Вот еще темы с ответами:

Вычислить определитель матрицы и записать результат в файл - C++
У меня есть написанный мною код на С++. Эта программа вычисляет определитель матрицы. Что нужно добавить в мой код чтобы матрица была...

Программа на Си.Вывести результат на экран и записать в текстовый файл - C++
Программа выводит на экран правильный ответ, а вот при записи в текстовый файл происходит фиговая запись.Записывает совсем не...

Найти произведение компонентов файла F и записать результат в файл G - C++
Помогите кто чем сможет 95. Создать файл F, компонентами которого являются действительные числа. Найти произведение компонентов файла F и...

Из файла прочесть массив, а результат работы программы записать в файл - C++
На практике дали задание, в котором надо из файла прочесть массив, а результат работы программы записать в файл. Как это сделать? В...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.04.2014, 23:03
Ответ Создать тему
Опции темы

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