585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
|
10.12.2013, 08:18
|
2
|
Сообщение было отмечено Памирыч как решение
Решение
хы ну на мою детскую лабу, к аки не жалко
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
| // Формирование файла с записями типа struct
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <values.h>
typedef struct { //Определяем структуру как элемент типа item
unsigned int n; //Беззнаковое целое
char s; //Односимвольная номенклатура
} item;
int main (void) {
FILE *f;
item z[20];
int i;
clrscr();
f=fopen ("struct.dat","wb"); //Открытие файла для записи и проверка
if (f==NULL) {
printf ("\n Не могу открыть файл struct.dat для записи данных!"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); return 1;
}
printf ("\n Сейчас программа сгенерирует 20 записей типа struct"
"\n Информация будет записана в файл struct.dat"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); //Ждем нажатия клавиши
randomize(); //Сбрасываем генератор случайных чисел
for (i=0; i<20; i++) {
z[i].n=random (MAXINT); //Формируем 20 случайных элементов списка
z[i].s='A'+i;
fwrite (&z[i],sizeof(item),1,f); //Пишем элемент списка в файл
printf ("\n элемент %2d: (%u,%c)",i,z[i].n,z[i].s);
//Выводим элемент списка на экран
}
printf ("\n Закроем файл struct.dat и затем прочитаем его с диска"
"\n Нажмите любую клавишу...\n\n");
fflush (stdin); getchar();
fclose (f);
f=fopen ("struct.dat","rb"); //Открытие файла для чтения и проверка
if (f==NULL) {
printf ("\n Не могу открыть файл struct.dat для чтения данных!"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); return 2;
}
for (i=0; i<20; i++) { //Читаем из файла элементы списка
fread (&z[i],sizeof(item),1,f); //и выводим их на экран
printf ("\n элемент %2d: (%u,%c)",i,z[i].n,z[i].s);
}
printf ("\n Нажмите клавишу для выхода...");
fflush (stdin); getchar(); //Ждем нажатия клавиши
return 0;
} |
|
Добавлено через 41 секунду
хы ну на мою детскую лабу, к аки не жалко
// Формирование файла с записями типа struct
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
| #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <values.h>
typedef struct { //Определяем структуру как элемент типа item
unsigned int n; //Беззнаковое целое
char s; //Односимвольная номенклатура
} item;
int main (void) {
FILE *f;
item z[20];
int i;
clrscr();
f=fopen ("struct.dat","wb"); //Открытие файла для записи и проверка
if (f==NULL) {
printf ("\n Не могу открыть файл struct.dat для записи данных!"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); return 1;
}
printf ("\n Сейчас программа сгенерирует 20 записей типа struct"
"\n Информация будет записана в файл struct.dat"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); //Ждем нажатия клавиши
randomize(); //Сбрасываем генератор случайных чисел
for (i=0; i<20; i++) {
z[i].n=random (MAXINT); //Формируем 20 случайных элементов списка
z[i].s='A'+i;
fwrite (&z[i],sizeof(item),1,f); //Пишем элемент списка в файл
printf ("\n элемент %2d: (%u,%c)",i,z[i].n,z[i].s);
//Выводим элемент списка на экран
}
printf ("\n Закроем файл struct.dat и затем прочитаем его с диска"
"\n Нажмите любую клавишу...\n\n");
fflush (stdin); getchar();
fclose (f);
f=fopen ("struct.dat","rb"); //Открытие файла для чтения и проверка
if (f==NULL) {
printf ("\n Не могу открыть файл struct.dat для чтения данных!"
"\n Нажмите любую клавишу...");
fflush (stdin); getchar(); return 2;
}
for (i=0; i<20; i++) { //Читаем из файла элементы списка
fread (&z[i],sizeof(item),1,f); //и выводим их на экран
printf ("\n элемент %2d: (%u,%c)",i,z[i].n,z[i].s);
}
printf ("\n Нажмите клавишу для выхода...");
fflush (stdin); getchar(); //Ждем нажатия клавиши
return 0;
} |
|
0
|