Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Файловый ввод-вывод в задаче - C++

04.09.2013, 21:53. Просмотров 360. Ответов 4
Метки нет (Все метки)

Не понимаю как составить вывод данных из файла в задаче (см.ниже), я вообще запутался с вводом выводом, помогите растолковать.
Если cout (ostream) выводит текст, почему тогда объект fout (ofstream fout) наоборот вводит текстовую информацию? Эти же оба объекта созданы для вывода информации. Почему все наоборот? Так и должно быть?

А насчет задачи, вот мой текст:

Кликните здесь для просмотра всего текста
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
69
70
71
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus setlocale(LC_ALL,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
struct donation
{
    string name; 
    int amount;
};
 
void main()
{
    rus;
    ofstream fout;
    ifstream fin;
 
    fout.open("text.txt");
    fin.open("text.txt");
 
    short number_patrons; 
    short i = 0;
    short j = 0;
    short a = 0;
 
    cout << "Введите количество меценатов: ";
 
    cin >> number_patrons;
 
    fout << number_patrons << endl;
 
    donation* patrons = new donation[number_patrons];
 
    for (i; i < number_patrons; i++)
    {
        cout << "\nВведите имя мецената: ";
        cin.get();
        getline(cin,patrons[i].name);
        fout << patrons[i].name << endl;
        cout << "\nВведите сумму пожертвования: ";
        cin >> patrons[i].amount;
        fout << patrons[i].amount << endl;
    }
    
    cout << "\nGrand Patrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount > 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            j++;
    }
    if (j == number_patrons)
        cout << "none\n";
    
    cout << "\nPatrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount < 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            a++;
    }
    if (a == number_patrons)
        cout << "none\n";
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2013, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файловый ввод-вывод в задаче (C++):

Найти ошибку в задаче на файловый ввод/вывод (задача про МКАД) - C++
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с первого километра МКАД и едет со скоростью V...

Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод - C++
Добрый день! Помогите, пожалуйста, с программой. Программа считывает строку с клавиатуры и переводит её в двоичный код. затем наоборот...

Поменять консольный ввод-вывод на файловый ввод-вывод - C++
вот у меня калькулятор как мне сделать что б числа вводились из файла и результат записывался в новый файл ? // ОБРАТНАЯ...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод) - C++
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Поиск в массиве структур по заданному полю и вывод в алфавитном порядке (файловый ввод/вывод) - C++
Помогите с функцией void runFile() что бы с файла брал и выводил в алфавитном порядке список товаров, хранящихся больше месяца, стоимость...

4
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
04.09.2013, 22:05 #2
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
69
70
71
72
73
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus setlocale(LC_ALL,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
struct donation
{
    string name; 
    int amount;
};
 
void main()
{
    rus;
    ofstream fout;
    ifstream fin;
 
    fout.open("text1.txt", ios_base::app);
    fin.open("text.txt");
 
    short number_patrons; 
    short i = 0;
    short j = 0;
    short a = 0;
 
    cout << "Введите количество меценатов: ";
 
    cin >> number_patrons;
 
    fout << number_patrons << endl;
 
    donation* patrons = new donation[number_patrons];
 
    for (i; i < number_patrons; i++)
    {
        cout << "\nВведите имя мецената: ";
        cin.get();
        getline(cin,patrons[i].name);
        fout << patrons[i].name << endl;
        cout << "\nВведите сумму пожертвования: ";
        cin >> patrons[i].amount;
        fout << patrons[i].amount << endl;
    }
    
    cout << "\nGrand Patrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount > 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            j++;
    }
    if (j == number_patrons)
        cout << "none\n";
    
    cout << "\nPatrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount < 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            a++;
    }
    if (a == number_patrons)
        cout << "none\n";
    fout.close();
    fin.close();
    system("pause");
}
А так?
0
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
04.09.2013, 22:29  [ТС] #3
Цитата Сообщение от ovner Посмотреть сообщение
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
69
70
71
72
73
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus setlocale(LC_ALL,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
struct donation
{
    string name; 
    int amount;
};
 
void main()
{
    rus;
    ofstream fout;
    ifstream fin;
 
    fout.open("text1.txt", ios_base::app);
    fin.open("text.txt");
 
    short number_patrons; 
    short i = 0;
    short j = 0;
    short a = 0;
 
    cout << "Введите количество меценатов: ";
 
    cin >> number_patrons;
 
    fout << number_patrons << endl;
 
    donation* patrons = new donation[number_patrons];
 
    for (i; i < number_patrons; i++)
    {
        cout << "\nВведите имя мецената: ";
        cin.get();
        getline(cin,patrons[i].name);
        fout << patrons[i].name << endl;
        cout << "\nВведите сумму пожертвования: ";
        cin >> patrons[i].amount;
        fout << patrons[i].amount << endl;
    }
    
    cout << "\nGrand Patrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount > 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            j++;
    }
    if (j == number_patrons)
        cout << "none\n";
    
    cout << "\nPatrons:\n\n";
    for (i = 0; i < number_patrons; i++)
    {
        if (patrons[i].amount < 10000)
            cout << patrons[i].name << " " << patrons[i].amount << endl;
        else
            a++;
    }
    if (a == number_patrons)
        cout << "none\n";
    fout.close();
    fin.close();
    system("pause");
}
А так?
А где вывод информации из файла?
0
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
04.09.2013, 22:31 #4
Непонял что тебе надо? Записать информацию в файл, или считать инфу из файла?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2013, 00:34 #5
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Если cout (ostream) выводит текст, почему тогда объект fout (ofstream fout) наоборот вводит текстовую информацию? Эти же оба объекта созданы для вывода информации. Почему все наоборот? Так и должно быть?
cout выводит данные из кода на консоль, fout выводит (записывает) данные из кода в файл. Вывод (запись) - это помещение данных из кода в поток (консольный, файловый). Ввод (чтение) - это извлечение данных из потока (консольного, файлового) в код.
1
05.09.2013, 00:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2013, 00:34
Привет! Вот еще темы с ответами:

Вывод суммы в файл (файловый ввод/вывод) - C++
Добрый день! Я пытался написать программу, которая должна вводить данные из файла №1, потом вычислять их сумму и полученное значение...

Файловый ввод/вывод - C++
Ребят, помогите решить один вопросик, пожалуйста. Вот есть потоковые объекты классов ifstream и ofstream, которые работают с файлами....

файловый ввод/вывод - C++
Здравствуйте! Ест файл такого типа: 09.01.1975 0: 23-49-30.50; k=11.000; h= 6.000; f=43.000;...

Файловый ввод / вывод - C++
Помогите пожалуйста с задачей: Записать в файл F последовательного доступа n натуральных чисел. Получить в другом файле последовательного...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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