Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/50: Рейтинг темы: голосов - 50, средняя оценка - 4.90
Liori
4 / 4 / 5
Регистрация: 30.08.2012
Сообщений: 155
1

Переход на новую строку при считывании из файла

28.03.2015, 20:14. Просмотров 10315. Ответов 2
Метки нет (Все метки)

Мне нужно прочитать из файла структуру Student, в которой указываются такие данные студента: фамилия, имя, отчество, пол, оценка по математике, физике, информатике, стипендия. Данные о каждом студенте указываются с новой строки. Нужно вывести в консоль фамилии всех особей мужского пола, у которых 5 по физике и математике.

Как сделать переход на новую строку? Т.е. в моем коде считываются данные с первой строки и, как я понимаю, не происходит переход на новую строку. Т.к. если информация правильна в первой строке (парень, 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
#include <iostream>
#include <fstream>
#include <string>
#include <clocale>
using namespace std;
 
struct Student
{
    string surname, name, lastname;
    char male;
    int maths, physics, inform;
    int schoolarship;
};
 
void Output(string surname)
{
    cout << surname << " ";
}
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "Russian");
    ifstream fin("data.txt");
    Student st[3];
    int count = 3;
    for (int i = 0; i < count; i++)
    {
        fin >> st[i].surname;
        fin >> st[i].name;
        fin >> st[i].lastname;
        fin >> st[i].male;
        fin >> st[i].maths;
        fin >> st[i].physics;
        fin >> st[i].inform;
        fin >> st[i].schoolarship;
        if (st[i].male == 'M' && st[i].maths == 5 && st[i].physics==5) Output(st[i].surname);
    }
 
    fin.close();
    system("pause");
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2015, 20:14
Ответы с готовыми решениями:

Переход на новую строку при чтении текстового файла
Здравствуйте! При чтении файла при помощи ReadLine не могу найти способ перейти на новую строку...

Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного...

Чтение сммволов из файла и переход на новую строку
Здравствуйте, уже час ломаю голову и ищу в инете Нужно: считать с файла 12 символов и перейти...

Переход на новую строку при записи в файл
Привет всем, я пишу такую программу.. С клавиатуры вводятся две матрицы, на выбор пользователя она...

2
nmcf
6594 / 5799 / 2641
Регистрация: 14.04.2014
Сообщений: 24,675
28.03.2015, 21:39 2
male сделай string.
0
lss
932 / 861 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
28.03.2015, 23:08 3
Вот этот оператор: >>, читает слова (не строки) до первого пробельного символа (к которому относится и символ новой строки), при этом первые пробельные символы пропускаются. Поэтому никаких дополнительных переходов на новую строку не нужно, он и так переходит. А для того, чтобы понять, почему у тебя не работает, нужно видеть содержимое файла, возможно поток ломается после четения первой строки.
0
28.03.2015, 23:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2015, 23:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Переход на новую строку при записи в файл.
Вот код: &lt;? @ $fin = fopen(&quot;menu.txt&quot;, &quot;r&quot;) or die(&quot;File Menu not found!&quot;); $fout =...

Переход каретки на новую строку при вставке
Как сделать чтобы при вставке из буфера обмена (ctrl+v или правой кнопкой мыши и вставить) в Memo,...

StarUML, переход на новую строку при вводе
Как перейти на новую строку, вводя имя объекта? Пробовал Shift+Enter, &quot;\n&quot; - не помогает.

Переход на новую строку при записи в файл
Подскажите как перейти на новую строку при записи в файл. Пробовал вот таким путем, не сработало:...


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

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

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