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

Запись вектора в бинарный файл. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы http://www.cyberforum.ru/cpp-beginners/thread1195381.html
Здравствуйте, помогите с программой Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы Программа должна быть написана с использованием стандартных функций библиотеки <string.h> . Вот код без string.h, нужно его изменить Не знаю как переделать #include<stdio.h> #include<conio.h> int main() {clrscr(); char s; int i,n,k=0; printf("vvedite stroky\n");
C++ Одномерный массив строк в двумерный Нужна помощь, надо изменить код так чтобы программа работала. Нужно выполнить задачу для двумерного массива. У меня получилось сделать для одномерного массива, не получается переделать под двумерный.... #include <iostream> #include <string.h> using namespace std; int main() { int i, j, n,m; char text = {0}; char find = {0}; http://www.cyberforum.ru/cpp-beginners/thread1195374.html
Передача массива в функцию C++
В общем задание такое Превратить этот код в другой код, что-то поменять, я не врубаюсь что и как. Тема называется передача массива в функцию Как мне пытались объяснить "только ты сначала пишешь пользовательскую функцию void а потом в инт маин надо просто обратится к тому что ты писал в воиде, тоесть в воиде пишешь все действия и циклы, а в маин просто вызовешь ее" Помогите пожалуйста. Вот...
C++ Восстановление путей в ориентированном графе с++
Нужно вывести кратчайший путь между двумя заданными вершинами Код для поиска кратчайшего пути между всеми вершинами for(int k=0;k<kil_ver;k++) for(int i=0;i<kil_ver;i++) for(int j=0;j<kil_ver;j++) if ( matr_in > matr_in + matr_in ) { matr_in = matr_in + matr_in; matr_pred=k; //здесь записываем как мы попали из вершины i в j
C++ Неправильно выдает ответ при некоторых числах, например -2,4.2 http://www.cyberforum.ru/cpp-beginners/thread1195359.html
Помогите, что не так? Не правильно выдает ответ при некоторых числа, например -2,4.2. static double f2(double x) { if (x <= -7 || x >= 4) return 0; else { if (x >= -7 || x <= -3) return x + 7; else { if (x < -3 || x < -2) return 4;
C++ Структуры Описать структуру " Комплексные числа" (действительная часть (re), мнимая часть (im). Определить функцию, выполняющую произведение двух комплексных чисел. Не могу понять саму суть задания. Нужно описать умножение двух чисел по формуле (a+bi)·(a′+b′i)=(a·a′−b·b′)+(a·b′+b·a′)i? подробнее

Показать сообщение отдельно
Mayson_D
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 6
01.06.2014, 13:43     Запись вектора в бинарный файл.
Ребят помогите кто сделать запись в бинарный файл ,а не в текстовый(как в данном коде ) , а то не выходит как то !
заранее спасибо !

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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include <string>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
#include <vector>
#include <conio.h>
#include <windows.h>
using namespace std;
 
 
 
void SetColor(int text, int background) // устанавливаем цвет
{
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
int menu()
{
    int key = 0;
    int code;
    do {
        system("cls");
        key = (key + 5) % 5;
 
        if (key == 0) { SetColor(12, 0); cout << "Просмотр содержимого файла (в виде таблицы) "<< endl; SetColor(15, 0); }
        else cout << " Просмотр содержимого файла (в виде таблицы) "<< endl;
        cout<< endl;        
        if (key == 1) { SetColor(12, 0); cout << "Добавление записи в файл"<< endl; SetColor(15, 0); }
        else cout << " Добавление записи в файл  "<< endl;
        cout<< endl;
        if (key == 2) { SetColor(12, 0); cout << "Удаление записи из файла" << endl; SetColor(15, 0); }
        else cout << " Удаление записи из файла" << endl;
        cout << endl;
        if (key == 3) { SetColor(12, 0); cout << "Корректировка записи файла " << endl; SetColor(15, 0); }
        else cout << " Корректировка записи файла" << endl;
        cout << endl;
        if (key == 4) { SetColor(12, 0); cout << "Создание файла с фамилиями которые начинаются на введенный символ" << endl; SetColor(15, 0); }
        else cout << " Создание файла с фамилиями которые начинаются на введенный символ " << endl;
        cout << endl;
        code = _getch();
        if (code == 224)
        {
            code = _getch();
            if (code == 80) key++;
            if (code == 72) key--;
        }
 
    } while (code != 13);
    system("cls");
    return key;
}
 
class students
{
public:
 
    void output(vector <students> s, int n);
    void record(vector<students>s);
    
    void setinput();
    
    string fullname;
    double age;
    string sex;
    int progress;
 
};
void sort(vector<students>s)
{
    string b;
    cin >> b;
    ofstream in;
    in.open("1.txt");
    for (int i = 0; i <s.size(); i++)
    {
 
        if (b[0]==s[i].fullname[0])
        in << s[i].fullname << endl;
        else cout << "Symbol you entered does not match" << endl;
    }
    in.close();
}
void adding_a_record(vector<students>s)
{
    students a;
    a.setinput();
    s.push_back(a);
    a.record(s);
}
void deleting_a_record(vector<students>s)
{
    int d;
    cin >> d;
    for (int i = d-1; i < s.size()-1; i++)
    {
        s[i] = s[i + 1];
    }
    s.pop_back();
    students a;
    a.record(s);
}
void correction_of_records(vector<students>s)
{
    int d;
    cin >> d;
    for (int i = d; i < d + 1; i++)
    {
        s[i].setinput();
    }
    students a;
    a.record(s);
 
}
void students::setinput()
{
    
    cout << "Fullname : ";cin >> fullname;
    cout << "Age : "; cin >> age;
    cout << "Sex : "; cin >> sex;
    cout << "Progress : ";cin >> progress;
    
        
}
void  students::record(vector<students>s)
{
 
    ofstream input;
    input.open("students.txt");
 
    for (int i = 0; i < s.size(); i++)
    {
      input << s[i].fullname<<"  "<<s[i].age <<"  "<< s[i].sex <<"  "<< s[i].progress ;
    }
    input.close();
}
void  output()
{
    cout<< "|________Fullname__________|_Age_|_Sex |_Progress| " << endl;
    fstream F;
    string f,s;
    int a,p;
    F.open("students.txt");
    while (!F.eof())
    {
        F >> f >> a>>s>>p;
        cout << f << "  " << a << "  " << s<<"  "<<p;
        cout << endl;
    }
 
 
    F.close();
}
 
void main()
{
    setlocale(0, "");
    int n;
    cin >> n;
    vector <students> s(n);
 
    for (int i = 0; i < n; i++)
    {
        s[i].setinput();
        s[i].record(s);
    }
 
    int answer = menu();
    switch (answer)
    {
    case 0:
        output();
        
        break;
    case 1:
        adding_a_record(s);
        break;
    case 2:
        deleting_a_record(s);
        break;
 
    case 3:
        correction_of_records(s);
 
        break;
    case 4:
        sort(s);
        break;
    }
    
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru