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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Azael
1 / 1 / 0
Регистрация: 18.09.2011
Сообщений: 12
#1

Binary File Struct - C++

29.11.2011, 16:54. Просмотров 522. Ответов 0
Метки нет (Все метки)

Подскажите как быть вот условие:
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел. Найти багаж, средний вес вещи в котором меньше общего среднего веса вещи по данным всего файла. Полученные сведения записать в файл g.
//
В этом коде заношу в файл f содержащий информацию о багаже нескольких у меня2 пассажира,
как сделать Найти багаж, средний вес вещи в котором меньше общего среднего веса вещи по данным всего файла. Полученные сведения записать в файл g.

Заранее спасибо !
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
struct passenger                //пассажир
{
    char name[20];
    int ofThings;               // Количество вещей 
    int totalWeight;            // Обший вес 
};
 
    passenger p1;           //пассажир 1
    passenger p2;           //пассажир 2
    ifstream fin;
 
    char namefaile[20];
 
    // вывести начальное содержимое файла
    fin.open("passenger1.dat", ios::in | ios::binary);
    if(fin.is_open())
    {
        cout << "The current contents of the " << "passenger1.dat" << "file:\n";
        while(fin.read((char *) &p1, sizeof p1))
        {
            cout << p1.name << " : " << p1.ofThings << " : " << p1.totalWeight << "\n";
            //cout << p2.name << " : " << p2.ofThings << " : " << p2.totalWeight << "\n";
        }
    }
    fin.close();
 
 
    //добавление новых данных
    ofstream fout;
    fout.open("passenger1.dat", ios::out|ios::app|ios::binary);
 
    if (! fout.is_open())
    {
        cerr << "Cant open " << "passenger1.dat" << " faile for output:\n";
        exit (1);
    }
 
    cout << "Enter the name of the passenger  (enter a blank line to quit):\n";
    cin.getline(p1.name,20);
    cin.getline(p2.name,20);
        
    while(p1.name[0] != '\0')
    {
        while(cin.get() != '\n')
            continue;
        cout << "Enter passenger1 Things: ";
        cin >> p1.ofThings;
        cout << "Enter passenger1 total Weight: ";
        cin >> p1.totalWeight;
        cout << endl;
 
        cout << "Enter passenger2 Things: ";
        cin >> p2.ofThings;
        cout << "Enter passenger2 total Weight: ";
        cin >> p2.totalWeight;
        cout << endl;
 
        fout.write((char *) &p1, sizeof p1 );
        fout.write((char *) &p2, sizeof p2 );
        cout << "Enter the name of the passenger  (enter a blank line to quit):\n";
        cin.get(p1.name, 20);
        cin.get(p2.name, 20);
    }
 
 
    fout.close();
 
    // вывести измененный файл
    fin.open("passenger1.dat", ios::in | ios::binary);
    
    if(fin.is_open())
    {
        cout<<"The new contents of the "<<"pessenger1.dat "<<"file:\n";
        while(fin.read((char *) &p1, sizeof p1))
        {
            
            cout << p1.name << " : " << p1.ofThings << " : " << p1.totalWeight << "\n";
        }
    }
    fin.close();
 
    
 
    cin.get();
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 16:54     Binary File Struct
Посмотрите здесь:

ofstream & ifstream :: binary read-write struct - C++
Не пойму в чем дело... но я не могу считать всю структуру FNTBINARY из файла, файл - это она и есть в бинарном виде, одна структура...

EOF и char (-1) binary file - C++
есть бинарный файл в котором есть байты, в том числе (-1)dec как я могу понять, что цикл достиг EOF , а не рядового значения (-1) ? как...

Read and write binary file - C++
Ребята, срочно нужна помощь. Записываю класс Message с сообщениями в файл. struct Head { public: int who; int to; ...

Binary Search - C++
нужно отобразить значения first, last, middle на каждой стадии цикла и кол-во сравнений. кол-во сравнений неправильно отображает....

error C2679: binary '=' - C++
Здравствуйте! Во время сборки проекта вылезают ошибки вида: MyCode.cpp(1234): tmp_bit=*((DWORD*)buf); (&quot;=&quot; подчеркнут красным) ...

ofstream std::ios::binary - C++
почему не сохраняет в бинарном виде? std::ofstream out_m(str_m, std::ios::binary); for(int i = 0; i &lt; counter_m; i++) { tmp_m =...

Dfs Binary Tree, поиск элемента - C++
Employee* depthFirstSearch(string firstName, Employee* root) { if (root) { if (root-&gt;getFirstName() == firstName) { ...

Суть работы флага ios::binary - C++
Открываю файл для записи: -&gt; ofstream ofile; ofile.open(&quot;qwe.dat&quot;, ios::app | ios::binary); // Первый аргумент имя...

invalid operands of types 'double' and 'int' to binary 'operator%' - C++
В строке где If выдает вот эту ошибку 2 раза: invalid operands of types 'double' and 'int' to binary 'operator%' #include...

Существует ли функция, которая из Decimal формата переводила бы в Binary - C++
Существует ли функция . которая из Decimal формата переводила бы в Binary ?)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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