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

Способ вывода данных на экран - C++

Восстановить пароль Регистрация
 
Sviatospam
 Аватар для Sviatospam
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 25
22.12.2012, 01:05     Способ вывода данных на экран #1
Как выбрать способ вывода данных (в файл или на консоль), чтобы при последующих вычислениях оставался только один способ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
22.12.2012, 01:10     Способ вывода данных на экран #2
можно чуть подробней
Sviatospam
 Аватар для Sviatospam
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 25
22.12.2012, 01:20  [ТС]     Способ вывода данных на экран #3
Например нам надо вывести x, у пользователя запрашивается способ вывода данных: "В файл или на консоль". Дальше над x проводятся различные вычисления. Каждое вычисление выводится в зависимости от выбранного способа. Как сделать так, чтобы не пришлось каждый раз в коде указывать тип вывода?
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
22.12.2012, 01:24     Способ вывода данных на экран #4
используйте идентификатор. например логического типа.

если в первом случае пользователь указал одно, сохраните определенное значение в идентификатор. а потом после вычислений сравните идентификатор.
Sviatospam
 Аватар для Sviatospam
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 25
22.12.2012, 01:49  [ТС]     Способ вывода данных на экран #5
Имеются две функции: в одной выбирается способ вывода, в другой произодятся вычисления с выводом. Но проблема в том, что вторая функция не открывает файл а лишь получает ссылку на открытый поток. Как реализовать? Не понимаю.

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout<<"\nSelect how to output data: file(f)/console(c) ";
        cin>>select;
        if (select="F"|| "f")  select=0;
        if (select="C" || "c") select=1;
        double h=(b-a)/step;
        for (x=a; x<=b; x+=h) {
            y=F(x);
            if (select = 0)
            out<<x<<'\t'<<y<<'\n';
            else if (select = 1)
                cout<<x<<'\t'<<y<<'\n';
        }
Вот что у меня получилось, но в пределах одной функции.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
22.12.2012, 01:52     Способ вывода данных на экран #6
Код не оптимизирован.
Писал сразу в форму.

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
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
 
int f_entering()
{
int i_1;
//Например выдаете сообщение
//Если в консоль то нажмите 1 в противном случае ноль
 
cin>>i_1;
}
 
void f_additional_1(ofstream &of_1, int i_flag_1)
{
//Ваши вычисления
 
if(i_falg_1)
cout<< //Ваши результаты
else
 
of_1<< //Ваши результаты
}
 
int main()
{
ofstream of_1("file.txt", ios::out);
 
if(!(of_1))
exit(1); //В случае ошибки при открытии файла
 
f_additional_1(of_1, f_entering());
 
getch();
return 0;
}
Добавлено через 2 минуты
да и в конце не забудьте закрыть поток.
методом

C++
1
of_1.close();
Yandex
Объявления
22.12.2012, 01:52     Способ вывода данных на экран
Ответ Создать тему
Опции темы

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