Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AGOUTI
1 / 1 / 1
Регистрация: 11.11.2016
Сообщений: 61
#1

Ввести данные в файл, и записать данные с файла в массив структур - C++

17.01.2017, 20:55. Просмотров 270. Ответов 2
Метки c++ (Все метки)

Ввести все данные в файл, и записать данные с файла в структуру.
Помогите ввести и вывести структуру из файла. Допускается - и желательно - создание структуры уже при выводе.

Есть следующая программа для записи структуры в файл:
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
int main()
{   
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    //1)Объявление
    Students group[3];
    int i = 0;
    bool flag;
    //2)Присвоение значений
    for (; i < 3; i++)
    {
        cout << "\tФИО ["<< i+1 <<"] -> ";
        getline(cin, group[i].fio);
        cout << "Математика, Физика, Химия -> ";
        cin >> group[i].math >> group[i].phys >> group[i].chem;
        cin.get();
        group[i].aver = (group[i].math + group[i].phys + group[i].chem) / 3.0;
    }
    cout << '\n';
    //3)Сортировка
    do
    {
        flag = false;
        for (i = 0;i<2;i++)
            if (group[i].aver > group[i + 1].aver)
            {
                swap(group[i], group[i + 1]);
                flag = true;
            }
    } while (flag);
 
        fstream fout("C:/Users/AGOUTI/Documents/Visual Studio 2015/Projects/In/FILE!!/1.dat", ios::out);
 
    if (!fout)
    {
        cout << "Can't open file for writing!\n";
        return 0;
    }
    //4)Вывод
    cout << "\n_________________________________________\n\n";
    for (i = 0; i < 3; i++)
        fout << group[i].fio << "\tAver=" << group[i].aver << '\n';
    return 0;
    
    fout.close();
 
    return 0;
}
Также есть недоработанная программа для вывода этой структуры:
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
int main()
{   
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    //1)Объявление
    Students group[3];
    int i = 0;
 
    fstream fin("C:/Users/AGOUTI/Documents/Visual Studio 2015/Projects/In/FILE!!/1.dat", ios::in);
    if (!fin)
    {
        cout << "\n\tCan't open file for reading!\n";
        return 0;
    }
 
    //4)Вывод
    /*
    for (i = 0; i < 3; i++)
        cout << group[i].fio << "\tСредняя оценка: " << group[i].aver << '\n';
    return 0;
 
    fin.close();
 
    return 0;
}
*/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2017, 20:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввести данные в файл, и записать данные с файла в массив структур (C++):

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

Как ввести данные в динамический массив структур?
Подскажите пожалуйста, можно ли вводить данные в динамический массив структур c...

Прочитать из текстового файла данные в массив структур
Структура типа: Фамилия,логин,пароль,роль(администратор, модератор, простой...

Как ввести данные из файла в массив?
Доброго времени суток. Как ввести из файла данные в массив? Сейчас они уже...

Есть файл с данными . Как переписать эти данные в массив структур?
Допустим есть файл 1.txt с данными: 123 789 456 733 Нужно из файла...

Как из файла записать данные в другой файл?
странная задача, но все же надо открыть файл, прочитать и переписать их в...

2
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,225
Записей в блоге: 23
17.01.2017, 21:03 #2
 Комментарий модератора 
AGOUTI, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).

.
0
AGOUTI
1 / 1 / 1
Регистрация: 11.11.2016
Сообщений: 61
17.01.2017, 21:32  [ТС] #3
Обновление информации.
Есть вроде-бы работающий записывающий код:
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
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    //1)Объявление
    Students group[3];
    int i = 0;
    bool flag;
 
    fstream fout("C:/Users/AGOUTI/Documents/Visual Studio 2015/Projects/In/FILE!!/1.dat", ios::out);
 
    if (!fout)
    {
        cout << "Can't open file for writing!\n";
        return 0;
    }
 
    //2)Присвоение значений
    for (; i < 3; i++)
    {
        cout << "\tФИО [" << i + 1 << "] -> ";
        getline(cin, group[i].fio);
        fout << group[i].fio << '\t';
        cout << "Математика, Физика, Химия -> ";
        cin >> group[i].math >> group[i].phys >> group[i].chem;
        fout << group[i].math << ' ' << group[i].phys << ' ' << group[i].chem << '\n';
        cin.get();
        group[i].aver = (group[i].math + group[i].phys + group[i].chem) / 3.0;
        fout << group[i].aver << "\n\n";
    }
    cout << '\n';
 
    fout.close();
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2017, 21:32
Привет! Вот еще темы с решениями:

Данные из текстового файла записать в бинарный файл
пытаюсь считать данные из текстового файла, записать их в бинарный файл. ...

Прочитать данные из xlsx файла и записать в другой файл
Всем бодрой пятнички!:) Соскучилась я за вами, потому обращаюсь с...

Как считать данные с файла и записать результат в файл?
Как считать данные с файла и записать результат в файл? #include &lt;iostream&gt;...

Как считать данные с файла и записать в массив?
В файле данные расположены следующим образом : Radius: 1 Coord point:...


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

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

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