Форум программистов, компьютерный форум CyberForum.ru

Чтение из бинарного файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ посчитать макс и мин элемент массива ,сумма между 1-ым и 2-ым положит элементом и упорядочить по определённому принципу http://www.cyberforum.ru/cpp-beginners/thread894099.html
В одномерном массиве состоящем из n вещественных элементов вычислить :1)минимальный и максимальный по модулю элемент массива;2)сумма элеентов,расположенных между первым и вторым положительным элементов.преобразовать массив так,чтобы в первой его половине располагались элементы,состоящие в нечётных позициях,а во второй половине - элементы,состоящие в чётных позициях Сегодня последний день сдачи,...
C++ Работа цикла типа while. Найти ошибку в коде Добрый день. Ребята, помогите, пожалуйста. Не могу понять, что не так. В итоге результат выходит: "Vashe chislo = 0". Само задание в комментарии в коде. Спасибо! // Решения задачи методом подбора. Какое число нужно умножить на 17, // чтобы получить число в интервале . #include <stdio.h> #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread894098.html
Дата в текст , не могу доделать C++
Дали тему курсового...преобразование каленарных дат различных форматов в текст ..тоесть нужно чтоб и число,и месяц,и год были записаны словами... пока что разобрался только с месяцами. помогите с числами и годами пожалуйста#include <iostream> #include <iomanip> #include <conio.h> #include <string.h> #include <stdlib.h> #include <windows.h> using namespace std; void main( void ) {
C++ Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y.
Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия. Добавлено через 12 минут не знаю как её написать в C++ напишите нужно очень
C++ True или False http://www.cyberforum.ru/cpp-beginners/thread894089.html
Дорогие, форумчаны! Помогите, пожалуйста, написать программу. Написать программу, которая печатает True или False в зависимости от того, выполняются или нет заданные условия: - квадрат заданного трехзначного числа равен кубу суммы цифр этого числа; - сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр; - среди цифр заданного трехзначного числа есть...
C++ Нужна блок-схема ! двухмерный массив Помогите с блок-схемой !! Двухмерный массив:help: #include <iostream> #include <stdlib.h> #include <time.h> #include <math.h> #include <conio.h> using namespace std; подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.06.2013, 21:15     Чтение из бинарного файла
Если так переписать, то будет так выводить (добавлять то же самое, и выводить с добавленным):
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
// 53y636.cpp: определяет точку входа для консольного приложения.
//
 
 
#include <iostream>
#include <fstream>
using namespace std;
fstream writ;    // чтение
ofstream out;    //  запись
ifstream prov;
int vsego=0;
const int X=3;
const int N = 30; 
struct NOTEBOOK {
     
    int x;          //разрешающая способность дисплея по горизонтали
    int y;        //  по вертикали
    float massa;        // масса
    float ix,iy,is;        // габаритные размеры ноутбука в дюймах ВЫСОТАхДЛИНАхШИРИНА
    int mb;        //   максимальный объем ОЗУ в мегабайтах
    int sv;        //   размер видеопамяти в мегабайтах
    float mg;    //   частота процессора в МГц
    float ggb;        // объем HDD в гигабайтах
    int f;                              //  частота регенерации
    float d;                          //  размер диагонали дисплея
    int price;                        //  цена
    char model[N];            //  наименование
}not[X],n[X],y[X];
NOTEBOOK inStruct (NOTEBOOK not[], int i )
{    // Функция чтения данных из файла в структуру
    
    char c;
    
    writ.getline(not[i].model, N);
    
    writ>>not[i].price;
    writ>>not[i].massa;
    writ>>not[i].ix;
    writ>>c;
    writ>>not[i].iy;
    writ>>c;
    writ>>not[i].is;
    writ>>not[i].mg;
    writ>>not[i].mb;
    writ>>not[i].d;
    writ>>not[i].sv;
    writ>>not[i].x;
    writ>>c;
    writ>>not[i].y;
    writ>>not[i].f;
    writ>>not[i].ggb;
    writ.get(); 
    
    return not[i];
}
void fprint(NOTEBOOK n[], int i)
{    //  функция записи в файл "note.dat"
out.write(reinterpret_cast<char*>(&n[i]),sizeof(NOTEBOOK));
};
 
void main()
{int select=0;
int a=0,b=0;
    writ.open("note.txt");
    for (int i=0; i<X; i++ )
        inStruct( not,i );
    writ.close();
 
    ifstream in("note.dat", ios_base::binary);
    if (!in)
    {b++;}
    else{a++;}
    in.close();
 
    if (b==1){
        out.open("note.dat", ios_base::binary|ios_base::out);
        out.write(reinterpret_cast<char*>(&vsego),sizeof(int));
        out.close();
    }
    if (a==1){
        writ.open("note.dat", ios_base::binary|ios_base::in );
        writ.read(reinterpret_cast<char*>(&vsego),sizeof(int));
        writ.close();
    }
 
 
cout<<"M E N U\n-------------------\n";
cout<<"1. Perevod dannih v note.dat\n";
cout<<"2. Vivod dannih iz note.dat na ekran\n";
cout<<"3. Vihod";
while (1)
    {
        cout<<"\nVash vibor? ";
        cin>>select;
 
   switch (select)
        {
        case 1:         
            //vsego = 0;
            for ( int i=0; i<X; i++ )
            {
                if ( not[i].massa < 7 )
                {
                    vsego++;
                }
            }
 
            out.open("note.dat", ios_base::binary|ios_base::out|ios_base::in);
            out.write(reinterpret_cast<char*>(&vsego),sizeof(int));
            out.close();
 
            out.open("note.dat", ios_base::binary|ios_base::out|ios_base::app);
            for ( int i=0; i<X; i++ ){
                if ( not[i].massa < 7 ){
                    fprint( not, i );
                }
            }
            out.close();
            break;
        
        case 2:
            writ.open("note.dat", ios_base::binary|ios_base::in);
            writ.read(reinterpret_cast<char*>(&vsego),sizeof(int));
            
            NOTEBOOK temp;
            for (int i=0;i<vsego;i++)
            {
                writ.read(reinterpret_cast<char*>(&temp),sizeof(NOTEBOOK));
            
                cout<<temp.x<<"x";
                cout<<temp.y<<" ";
                cout<<temp.massa<<" ";
                cout<<temp.ix<<"x";
                cout<<temp.iy<<"x";
                cout<<temp.is<<" ";
                cout<<temp.mb<<" ";
                cout<<temp.sv<<" ";
                cout<<temp.mg<<" ";
                cout<<temp.ggb<<" ";  
                cout<<temp.f<<" ";
                cout<<temp.d<<" ";        
                cout<<temp.price<<" ";
                cout<<temp.model<<" \n";
            }
            writ.close();
            break;
        case 3:
            exit(0);
            break; 
        }
}
 
}
Миниатюры
Чтение из бинарного файла  
 
Текущее время: 08:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru