Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 14.12.2014
Сообщений: 123
1

Считать из бинарного файла в массив структур фамилию, имя, оценку по математике, оценку по информатике

23.01.2015, 23:56. Просмотров 4604. Ответов 9
Метки нет (Все метки)

необходимо считать из бинарного файла в массив структур фамилию, имя, оценку по математике, оценку по информатике, оценку по физике
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2015, 23:56
Ответы с готовыми решениями:

Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей математике.
15. Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей...

Известны данные о 30-ти учениках: фамилия, класс и оценка по информатике. Определить фамилию учеников 9-х классов, имеющих оценку «5»
помогите доработать программу в Делфи....я впринципе её сделал, но мне нужно через записи ее...

Найти максимальную оценку студента и вывести его ID потом фамилию и максимальную оценку
Здравствуйте! Мне нужно найти максимальную оценку студента и вывести его ID потом фамилию и макс...

Ввести данные о 5-ти студентах: фамилию, его оценку за экзамен. Сформировать два файла, в один записать всех
Тема: Файлы Ввести данные о 5-ти студентах: фамилию, его оценку за экзамен. Сформировать два...

9
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
24.01.2015, 14:01 2
И что не получается? Структуру хотя бы описал?
0
1 / 1 / 0
Регистрация: 14.12.2014
Сообщений: 123
24.01.2015, 14:03  [ТС] 3
нет, в том и дело, что не могу разобраться, как ее правильно описать и далее считать
0
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
24.01.2015, 14:07 4
C++
1
2
3
4
5
struct S
{
    char fm[20], im[20];
    int omath, oinf, ophys;
};
Считывать с помощью read() из ifstream.
0
1 / 1 / 0
Регистрация: 14.12.2014
Сообщений: 123
24.01.2015, 14:10  [ТС] 5
а можно поподробнее?
0
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
24.01.2015, 14:19 6
Сначала файл создать нужно. Потом уже считывать. Сделай сначала ввод с клавиатуры в массив.
0
1 / 1 / 0
Регистрация: 14.12.2014
Сообщений: 123
24.01.2015, 14:24  [ТС] 7
C++
1
2
3
4
5
6
7
8
9
10
11
    f.open("list.dat", ios::in | ios::binary);
    struct S
    {
        char lastname[15], firstname[15];
        unsigned int math,inf,phys;
    };
    S rat[100];
    for (i = 0; !f.peek() != EOF; i++)
    {
        f.read((char*)&rat[i], sizeof(rat[i]));
    }
ну вот у меня, но считывает неправильно
0
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
24.01.2015, 14:59 8
Файл как ты создал? Где фрагмент записи в файл?
0
1 / 1 / 0
Регистрация: 14.12.2014
Сообщений: 123
24.01.2015, 15:00  [ТС] 9
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>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int N = 20;
    ifstream text;
    fstream f;
    int n, i = 0;
    char temp[30];
    text.open("list.txt");
    f.open("list.dat", ios::out | ios::binary);
    cout << "Данные, содержащиеся в бинарном файле:" << endl << endl;
    while (!text.eof())
    {
        text >> temp;
        f.write((char*)&temp, sizeof(temp));
        cout << temp << " ";
        i++;
        if (i == 5)
        {
            i = 0;
            cout << endl;
        }
    }
    text.close();
    f.close();
    f.open("list.dat", ios::in | ios::binary);
    struct S
    {
        char lastname[15], firstname[15];
        unsigned int math,inf,phys;
    };
    S rat[100];
    for (i = 0; !f.peek() != EOF; i++)
    {
        f.read((char*)&rat[i], sizeof(rat[i]));
    }
}
вот, сначала требовалось переписать данные из текстового в бинарный, а затем в массив структур занести данные из бинарного
0
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
24.01.2015, 15:04 10
Лучший ответ Сообщение было отмечено igor_m как решение

Решение

Суть в том, что бинарный файл нужно записывать и считывать одинаково, т. е. структурами. Исправляй.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2015, 15:04

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

Найти среднюю оценку ученика и вывести его оценку в буквенном виде
Помогите сделать Даётся массив чисел, найти среднюю оценку ученика и вывести его оценку в...

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

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

Определить, сколько учеников имеют по информатике оценку «5»
Помогите сделать блок схемы: 1. Известны оценки по информатике каждого из 20 учеников класса....


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

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

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