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

Создать файл и записать в него структурированные данные - C++

Восстановить пароль Регистрация
 
Настьона
 Аватар для Настьона
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 57
12.01.2011, 21:43     Создать файл и записать в него структурированные данные #1
Кто знает,помогите,пожалуйста, решить задачу:
Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные.
Структура "Человек":
- фамилия, имя, отчество;
- год рождения;
- рост;
- вес.
Вывести созданный файл на экран.
компилятор BC31.
Спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 21:43     Создать файл и записать в него структурированные данные
Посмотрите здесь:

C++ создать файл и записать в него структурированные данные
Создать бинарный файл f и записать в него целые числа C++
C++ Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные
создать текстовый файл и записать в него 6 различных текстовых сток C++
Как создать двоичный файл и записать в него n целых чисел? C++
C++ Создать файл,потом записать в него данные и вывести их на консоль
C++ Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
C++ Создать двоичный файл и записать в него n целых чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
12.01.2011, 21:44
  #2

Не по теме:

Цитата Сообщение от Настьона Посмотреть сообщение
компилятор BC31.
спасибо, нет)

Настьона
 Аватар для Настьона
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 57
12.01.2011, 23:39  [ТС]     Создать файл и записать в него структурированные данные #3
Почему?)

Добавлено через 1 час 49 минут
Эта ,вроде, та программа ,но не на моем компиляторе, помогите её переделать.
ПОЖАЛУЙСТА!!!
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
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#include <iostream>
#include <cstring>
#include <windows.h>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <cstring>
 
 
using namespace std;
 
char* Rus(const char* text);
 
char way[80];
char *file;
double x;
int p;
 
struct student
{
    char fio[50];
    char adr[50];
    int gr;
    double rat;
    void input();
};
 
void tabl()
{
    int z;
    for (z=0; z<80; z++)
    cout<<'-';
}
 
void print(student *s, int n)
{
        int i;
        tabl();
        cout.setf(ios::left);
        cout<<'|'<<' '<<setw(22)<<Rus("ФИО");
        cout<<'|'<<' '<<setw(34)<<Rus("Домашний адрес");
        cout<<'|'<<' '<<setw(7)<<Rus("Группа");
        cout<<'|'<<' '<<setw(8)<<Rus("Рейтинг");
        cout<<'|';
        tabl();
        for (i=0; i<n; i++)
        {
            cout.setf(ios::left);
            cout<<'|'<<' '<<setw(22)<<s[i].fio<<'|';
            cout<<' '<<setw(34)<<s[i].adr<<'|';
            cout<<' '<<setw(7)<<s[i].gr<<'|';
            cout<<' '<<setw(8)<<s[i].rat;
            cout<<'|';
            tabl();
        }
}
 
void student::input()
{   
    cout<<Rus("Введите фамилию, имя, отчество студента -> ");
        cin.clear();
        _flushall();
        cin.getline(fio, 79);
        cout<<Rus("Введите домашний адрес -> ");
        cin.clear();
        _flushall();
        cin.getline(adr, 79);
        cout<<Rus("Введите группу -> ");
        cin>>gr;
        cout<<Rus("Введите рейтинг -> ");
        cin>>rat;
}   
 
void main()
{
    student *s;
    int n, i, o=-1;
    for (; o ;)
    {
    cout<<Rus("1.Ввод с клавиатуры в консольном режиме\n2.Вывод на экран в консольном режиме\n3.Создать файл и записать в него структурированные данные\n");
    cout<<Rus("4.Вывести созданный файл на экран\n5.Удалить все элементы у которых рейтинг меньше заданного\n");
    cout<<Rus("6.Добавить элемент с заданным номером\n7.Выход\n");
    cout<<Rus("\nВыберите нужный вам пункт -> ");
    cin>>o;
    cout<<"\n";
    if(o==1)
    {
        cout<<Rus("Введите количество студентов -> ");
        cin>>n;
        s=new student[n];
        for (i=0; i<n; i++)
        {
            s[i].input();
        }
    }
    if(o==2)
    {
        cout<<Rus("\nВведенные данные:\n");
        print(s, n);
    }
    if(o==3)
    {
        cout<<Rus("Введите путь к файлу или название файла для записи в него данных -> \n");
        cin.clear();
        _flushall();
        cin.getline(way,80);
        ofstream output(way , ios::out | ios::trunc);
        output.setf(ios::left);
        if (!output.is_open())
        {
            cout<<Rus("/nОшибка!\n");
            return;
        }
        for (i=0;i<n;i++)
        {
            output.setf(ios::left);
            output<<setw(22)<<s[i].fio;
            output<<setw(34)<<s[i].adr;
            output<<setw(7)<<s[i].gr;
            output<<setw(8)<<s[i].rat<<"\n";
        }
        output.close();
    }
    if(o==4)
    {
    cout<<Rus("Введите путь к файлу или название файла для чтения из него данных -> \n");
    cin.clear();
    _flushall();
    cin.getline(way,80);
    ifstream input(way, ios::in);
    const int buffer = 4096; 
    file=new char[buffer];
    if (!input.is_open())
    {
        cout<<Rus("Ошибка\n");
        return;
    }
    cout<<Rus("\nПрочитанные данные из файла:\n");
    tabl();
    while(input.peek()!=EOF)
    {
        input.getline(file, buffer);
        cout<<file<<"\n";
    }
    tabl();
    input.close();
    }
    if(o==5)
    {
        cout<<Rus("Введите путь к файлу или название файла для чтения из него данных\n");
        cin.clear();
        _flushall();
        cin.getline(way,80);
        ofstream output(way , ios::out | ios::trunc);
        if (!output.is_open())
        {
            cout<<Rus("Ошибка\n");
            return;
        }
        cout<<Rus("Удалить из файла элементы рейтинг которых меньше -> ");
        cin>>x;
        for (i=0; i<n; i++)
        {
            if (x<s[i].rat)
            {
                output.setf(ios::left);
                output<<setw(22)<<s[i].fio;
                output<<setw(34)<<s[i].adr;
                output<<setw(7)<<s[i].gr;
                output<<setw(8)<<s[i].rat;
                output.put(13);
                output.put(10);
            }
        }
    }
    if (o==6)
    {
        cout<<Rus("Введите путь к файлу или название файла для чтения из него данных\n");
        cin.clear();
        _flushall();
        cin.getline(way,80);
        ofstream output(way, ios::app);
        if (!output.is_open())
        {
            cout<<Rus("Ошибка\n");
            return;
        }
        cout<<Rus("Введите номер элемента, который следует добавить -> ");
        cin>>p;
        student *r;
        r=new student[n];
        cout<<Rus("Введите фамилию, имя, отчество студента -> ");
        cin.clear();
        _flushall();
        cin.getline(r[p].fio, 79);
        cout<<Rus("Введите домашний адрес -> ");
        cin.clear();
        _flushall();
        cin.getline(r[p].adr, 79);
        cout<<Rus("Введите группу -> ");
        cin>>r[p].gr;
        cout<<Rus("Введите рейтинг -> ");
        cin>>r[p].rat;
        output.seekp(p * sizeof(s[0]), ios::beg);
        output.setf(ios::left);
                output<<setw(22)<<r[p].fio;
                output<<setw(34)<<r[p].adr;
                output<<setw(7)<<r[p].gr;
                output<<setw(8)<<r[p].rat;
        delete []r;
    }
    if(o==7)
        return;
    }
    delete[]s;
}
char bufRus[256];
char* Rus (const char* text) {
    CharToOem(text, bufRus);
    return bufRus;
}
Yandex
Объявления
12.01.2011, 23:39     Создать файл и записать в него структурированные данные
Ответ Создать тему
Опции темы

Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru