0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 6
1

Считать структуры из массива и вывести на экран

19.12.2012, 18:43. Показов 1032. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Проблема, как я посмотрел, популярная, но, увы, так и не нашёл решения, подходящего мне.

Есть структура.

C++
1
2
3
4
5
6
7
8
9
struct STUDENT
{
    char name[15];
    char surname[15];
    bool gender;
    int age;
    int nsb;
    int index;
};
Есть функция записи структур в файл.
Оператор "<<" перегружен.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void input (STUDENT &s)
{
    system("cls");
 
    cout << "\n\n[ Input information to the DB. ]" << endl;
 
    cout << "\nName: ";                  cin >> s.name;
    cout << "Surname: ";                 cin >> s.surname;
    cout << "Gender (1-M, 0-F): ";    cin >> s.gender; 
    cout << "Age: ";                        cin >> s.age;
 
    ofstream fout ("D:\\database1.txt", ios_base::app);
    fout << s << endl;
}
Как должна выглядеть функция считывания из файла и вывода на экран в этом случае?

Если просто взять ifstream и вывести, он выводит только последнюю введённую структуру.
Как быть?
fopen не предлагать, только fstream.

Cпасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2012, 18:43
Ответы с готовыми решениями:

Считать из файла и вывести на экран элементы массива
Вот само задание:&quot;Разработана программа, которая считывает из файла и выводит на экран элементы...

Считать пары одинаковых элементов массива и вывести на экран количество пар
Можете написать под функции, которые будут считать пары одинаковых элементов и вывод на экран...

Считать строку из чисел, вывести на экран Все четные числа - элементы массива Входные данные вводятся через пробел, ввод
Считать строку из чисел, вывести на экран Все четные числа - элементы массива Входные данные...

Считать из файла и вывести на экран
Доброго времени суток. У меня проблема следующая, я не знаю, как вывести на экран инфу из файла....

4
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
19.12.2012, 18:52 2
Цитата Сообщение от some_vlad Посмотреть сообщение
Доброго времени суток!
Проблема, как я посмотрел, популярная, но, увы, так и не нашёл решения, подходящего мне.

Как должна выглядеть функция считывания из файла и вывода на экран в этом случае?

Если просто взять ifstream и вывести, он выводит только последнюю введённую структуру.
Как быть?
fopen не предлагать, только fstream.

Cпасибо!
А в цикле не пробовали в файл выводить?
0
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 6
19.12.2012, 18:59  [ТС] 3
Цитата Сообщение от vua72 Посмотреть сообщение
А в цикле не пробовали в файл выводить?
Почти сутки у монитора дают о себе знать: не совсем понимаю вашу идею.
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
19.12.2012, 19:01 4
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
using namespace std;
string stroka;
fstream fin ("filename", ios_base::in)
..
// проверяем, что открыли файл
if (fin.is_open()==false)
{
    cerr<< "Can't open file. Bye.\n"; // не удается открыть файл
    exit(EXIT_FAILURE);
} else
{
    while (!fin.eof()) {
        ///////////////////////////
        1) getline(fin, stroka); //читаем строку с разделителями и потом ее преобразуем в нужный тип
        cout << stroka
        или
        2) fin >> s.a и т.д.
        cout << s.a ...
        /////////////////////////// 
         .....
         
    }
    fin.clear(); // закрываем
  fin.close(); // закрываем
}
А вообще структуры как правило сохранеяют в binary файл.
1
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 6
19.12.2012, 19:35  [ТС] 5
Цитата Сообщение от vua72 Посмотреть сообщение
C++
1
2
1) getline(fin, stroka); //читаем строку с разделителями и потом ее преобразуем в нужный тип
cout << stroka
Вот этим методом выводится только первая строка файла.
Суть, первая введённая структура.

Добавлено через 17 минут
vua72, зациклил, всё работает.
Спасибо!
0
19.12.2012, 19:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2012, 19:35
Помогаю со студенческими работами здесь

Считать POST и вывести на экран
Поднял Apache + Python Отправляем post из файла №1 &lt;form action=&quot;http://python.loc/test.py“...

Считать данные из файла и вывести на экран
Данная программа работает правильно, а вот считать с файла данные и вывести, не получается. Задания...

Считать текст из файла и вывести на экран
Как в C# считать текст из файла? и потом его вывести на экран?

Считать информацию из файла и вывести на экран
Можете дать простой пример в Си. 1) Надо открыть файл с записями в .txt файле и вывести на экран...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru