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

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

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

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

04.09.2013, 21:53. Просмотров 339. Ответов 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2013, 21:53     Файловый ввод-вывод в задаче
Посмотрите здесь:

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

Файловый ввод / вывод - C++
Здравствуйте, у меня такой вопрос: необходимо прочитать символы из файла и ввести их в символьный массив f построчно. Первая строка...

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

Файловый ввод-вывод. - C++
Пожалуйста,помогите решить..В субботу экзамен,а я физически не успеваю написать 6 программок..( Создать класс СПРАВОЧНИК со...

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

Файловый ввод-вывод? - C++
Записать в файл F действительные числа. Прочитать данные из файла и найти количество четных компонентов.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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");
}
А так?
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");
}
А так?
А где вывод информации из файла?
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
04.09.2013, 22:31     Файловый ввод-вывод в задаче #4
Непонял что тебе надо? Записать информацию в файл, или считать инфу из файла?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2013, 00:34     Файловый ввод-вывод в задаче
Еще ссылки по теме:

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

Файловый ввод/вывод - C++
Программа сортирует массив таким образом, чтобы сначала стояли нули, а затем все остальные элементы массива. Помогите переделать так, чтобы...

Файловый ввод и вывод - C++
Посмотрел примеры сложения двух чисел на С++. Никак не пойму: где нужно создавать этот текстовый файл? Создал в папке, где проект, так...

файловый ввод-вывод - C++
Требуется помощь Имеется исходный текстовый файл: 7 1 198 50 40.5 36.2 48 33.5 2 190 48.5 47 60 39.3 28 3 196 46.4 51 39.8 36.5...

файловый ввод-вывод - C++
посоветуйте пожалуйста какие нужно использавать функции для файлового ввода-вывода блоками данных (не строками а то строковые функции сами...

Файловый ввод/вывод в С++ - C++
Здравствуйте не подскажите как организовать файловый ввод вывод в С++ Скажем есть файл 1 из него надо прочитать 2 переменные и записать...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2013, 00:34     Файловый ввод-вывод в задаче #5
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Если cout (ostream) выводит текст, почему тогда объект fout (ofstream fout) наоборот вводит текстовую информацию? Эти же оба объекта созданы для вывода информации. Почему все наоборот? Так и должно быть?
cout выводит данные из кода на консоль, fout выводит (записывает) данные из кода в файл. Вывод (запись) - это помещение данных из кода в поток (консольный, файловый). Ввод (чтение) - это извлечение данных из потока (консольного, файлового) в код.
Yandex
Объявления
05.09.2013, 00:34     Файловый ввод-вывод в задаче
Ответ Создать тему
Опции темы

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