Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Алгоритм работы функции qsort Всем добрый день, у меня тут небольшая просьба. Кому не трудно, выложите пожалуйста простой алгоритм функции qsort, а то я ее немного не догоняю. В интернете инфы много нашла, но там нет ничего тривиального, а мне бы попроще. Заранее спасибо) https://www.cyberforum.ru/ cpp-beginners/ thread130390.html Справочник: данные из ячейки не выводятся на экран C++
проблема в чём: данные из ячейки не выводятся на экран. Как это исправить? #include <iostream.h> #include <stdlib.h> #include <string.h> using namespace std; struct record { char surname ;
C++ Сдача курсовой Динамическая обработка информация о наличии автобусов в парке. Справочные сведения: Указание:Сведения о каждом автобусе содержат: 1. № автобуса; 2. фамилию и инициалы водителя; 3. номер маршрута. Программа должна обеспечивать: а) формирование данных о всех автобусах в виде списка; б) при выезде каждого автобуса из парка вводится номер автобуса, и про-грамма удаляет данные об этом... https://www.cyberforum.ru/ cpp-beginners/ thread130378.html C++ Сформировать список, состоящий из чисел входящих в последовательность n!! Сформировать список, состоящий из чисел входящих в последовательность n!! (факториал чётных чисел) n заданно пользователем. n!!=2*4*6…*n кто то осилит??? https://www.cyberforum.ru/ cpp-beginners/ thread130366.html
C++ Опишите структуру с именем STUDENT
Задание звучит так: "Описать структуру студенты, содержащую информацию о студентах группы: фамилия, имя, отчество, год рождения, курс, форма обучения. Создать массив таких структур и заполнить его. По запросу пользователя вывести на экран всех студентов контрактной формы обучения." Вот, что я набросал в Вижуале. Делал так, как я представляю себе эту программу, но выдает кучу ошибок \: ...
C++ Ввод переменных в одну строчку Всем привет, я запрашиваю переменную с помощью функции scanf, но после этого нужно нажимать клавишу Enter. Скажите, есть ли такая функция в Си, где после запроса можно клавишу Enter не нажимать, а то я хочу ввести все переменные в одну строчку, очень надо))) подскажите пожалуйста))) https://www.cyberforum.ru/ cpp-beginners/ thread130344.html
C++ Нахождение 3ей точки по первым двум лежащей на одной прямой с ними найти координаты (XYZ) 3ей точки исходя из первых двух. 3 точки лежат на одной прямой. Даны: координаты 1ой и 2ой тчк, расстояние от 1ой до 3ей тчк Подскажи пожалуйста алгоритм нахождения 3ей тчк! Замучился уже :wall: Есть формула: растояние между двумя точками в пространстве d=((x2-x1)^2 +(y2-y1)^2+(z2-z1)^2)^0.5 Как через нее вычислить? https://www.cyberforum.ru/ cpp-beginners/ thread130338.html За названием месяца определить сезон C++
Помогите написать программу на С++ .За названием месяца определить сезон (время года). Буду очень благодарен !
C++ Расположить в массиве R[10] сночала положительные, а затем отрицательные элелементы массива Z[10] https://www.cyberforum.ru/ cpp-beginners/ thread130325.html
Помогите пожалуйста .Расположить в массиве R сночала положительные, а затем отрицательные элелементы массива Z
C++ Подсчитать, сколько доплачивается всем студентам за детей за год https://www.cyberforum.ru/ cpp-beginners/ thread130311.html
Добрый день всем. у меня задание "На одного студента, имеющего детей, доплачивается в ме сяц 120 грн. Подсчитать, сколько доплачивается всем студентам за детей за год. " Может кто-то помочь в написании? Мне не...
считывание с файла C++
помогите, пожалуйста, нужно считать с файла ряд целых чисел и переписать его куда-то чтобы потом можно было сделать с ним операции
C++ Структуры Помогите пожалуйста написать программу на Си: Описать структурный шаблон в имени STUDENT, содержащий следующие элементы: -NAME - фамилия и инициалы (символьный массив) -GROOP - номер группы (тип INT) -GES - успеваемость - массив из 5ти элементов (тип INT) Ввод с клавиатуры данных в массив STUD1, состоящий из элементов типа STUDENT Вывод на экран всей информации, размещенной по убыванию... https://www.cyberforum.ru/ cpp-beginners/ thread130308.html
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 31
0

Чтение структуры из бинарного файла - C++ - Ответ 729821

16.05.2010, 14:07. Показов 1487. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include "fstream"
#include "iostream"
#include "windows.h"
using namespace std;
 
struct scan_info{
    char model[25]; // наименование модели
    int price; // цена
    double x_size; // горизонтальный размер области сканирования
    double y_size; // вертикальный размер области сканирования
    int optr; // оптическое разрешение
    int grey; // число градаций серого
};
 
void write_file(const char *file_name, const unsigned short num_w);
int working_file(const char *file_name, const unsigned short num_w);
 
int main(){
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    cout << "Создать новый файл? y/n ";
    char choice;
    unsigned short num_w;
    char file_name[15];
    do{
    cin >> choice;
    if (choice=='y'){
        cout << "Введите имя файла для записи:";
        cin.ignore(1);
        cin.getline(file_name,14);
        cout << "Введите число записей:";
        cin >> num_w;
        cin.ignore(1);
        write_file(file_name, num_w);
        break;
    }
    if (choice=='n') break;
    }
    while (choice!='y' || choice!='n');
    system("cls");
    cout << "Введите имя файла для чтения или q:";
    cin.ignore(1);
    cin.getline(file_name, 14);
    if (*file_name=='q') exit(1);
    cout << "Введите номер замещаемой записи:";
    cin >> num_w;
    working_file(file_name, num_w);
    system("pause");
    return 0;
}
 
void write_file(const char *file_name, const unsigned short num_w){
    scan_info *Scaners = new scan_info[num_w];
 
    /*Ввод структуры*/
    for(int i=0; i<num_w; i++){
        cout << "\nЗапись №"<<i+1;
        cout << "\nВведите модель:";
        cin.getline(Scaners[i].model, 24);
        Scaners[i].model[25]='\0';
        cout << "Введите цену:";
        cin >> Scaners[i].price;
        cout << "Введите горизонтальный размер области сканирования:";
        cin >> Scaners[i].x_size;
        cout << "Введите вертикальный размер области сканирования:";
        cin >> Scaners[i].y_size;
        cout << "Введите оптическое разрешение:";
        cin >> Scaners[i].optr;
        cout << "Введите число градаций серого:";
        cin >> Scaners[i].grey;
        cin.ignore(1);
    }
 
    /*Создание файла и запись в него*/
    ofstream fout(file_name, ios::out | ios::binary);
    if(fout.fail()){
        cerr << "Ошибка открытия выходного файл\n";
        system("pause");
        exit(1);
    }
    fout.write(reinterpret_cast<const char*>(&num_w), sizeof(short));
    for (int i=0; i<num_w; i++){
    fout.write(Scaners[i].model, sizeof Scaners->model);
    fout.write(reinterpret_cast<const char*>(&Scaners[i].price), sizeof Scaners->price);
    fout.write(reinterpret_cast<const char*>(&Scaners[i].x_size), sizeof Scaners->x_size);
    fout.write(reinterpret_cast<const char*>(&Scaners[i].y_size), sizeof Scaners->y_size);
    fout.write(reinterpret_cast<const char*>(&Scaners[i].optr), sizeof Scaners->optr);
    fout.write(reinterpret_cast<const char*>(&Scaners[i].grey), sizeof Scaners->grey);
    }
    fout.close();
}
 
int working_file(const char *file_name, const unsigned short num_w){
    fstream fin(file_name, ios::binary | ios::_Nocreate |ios::in | ios::out);
    fin.seekg(ios::beg);
    if(fin.fail()){
        cerr << "Ошибка открытия выходного файла\n";
        return -1;
    }
    unsigned short num;
    fin.read(reinterpret_cast<char*>(&num),sizeof (short));
    if (num_w>num){
        cerr << "Такой записи не существуе!\n";
        return -1;
    }
    scan_info Scaners_p;
    fin.seekg((num_w-1)*sizeof Scaners_p, ios::cur);
    fin.read(Scaners_p.model,sizeof Scaners_p.model);
    fin.read(reinterpret_cast<char*>(&Scaners_p.price), sizeof Scaners_p.price);
    fin.read(reinterpret_cast<char*>(&Scaners_p.x_size), sizeof Scaners_p.x_size);
    fin.read(reinterpret_cast<char*>(&Scaners_p.y_size), sizeof Scaners_p.y_size);
    fin.read(reinterpret_cast<char*>(&Scaners_p.optr), sizeof Scaners_p.optr);
    fin.read(reinterpret_cast<char*>(&Scaners_p.grey), sizeof Scaners_p.grey);
 
    cout << "\nЗапись №"<<num_w;
    cout << "\nМодель:";
    cout << Scaners_p.model;
    cout << "\nЦена:";
    cout << Scaners_p.price;
    cout << "\nГоризонтальный размер области сканирования:";
    cout << Scaners_p.x_size;
    cout << "\nВертикальный размер области сканирования:";
    cout << Scaners_p.y_size;
    cout << "\nОптическое разрешение:";
    cout << Scaners_p.optr;
    cout << "\nЧисло градаций серого:";
    cout << Scaners_p.grey << endl;
    cin.ignore(1);
    fin.close();
    return 0;
}
Программа записывает все введённые данные, но вывести может только 1ю запись, на всех остальных считывание по байтам как бы "уезжает". Помогите.

Вернуться к обсуждению:
Чтение структуры из бинарного файла C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2010, 14:07
Готовые ответы и решения:

Чтение 10-ой структуры из бинарного файла
Здравствуйте как это реализовать, не перебирая все структуры.

Чтение структуры из бинарного файла
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; int main(void)...

Чтение структуры из бинарного файла
Не работает, вроде все верно. #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt;...

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

0
16.05.2010, 14:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2010, 14:07
Помогаю со студенческими работами здесь

Чтение элементов структуры из бинарного файла
Могу прочитать только первый объект структуры в функции, а дальше почему-то не считывает, прошу,...

Чтение структуры из бинарного файла в массив
Структура выглядит так: struct StandardBook { char ISBN; //регистрационный номер книги...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении,...

Чтение бинарного файла
Подскажите пожалуйста как можно правильно открыть бинарный файл не зная структуры? С чего мне...

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