![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Бинарные файлы могут использоваться для организации баз данных, состоящих, как правило, из объектов структурного типа.
Пример программы работы с файлом структур:
Программа обеспечивает ввод, дополнение, сохранение и просмотр информации о студентах. Для каждого студента указывается его фамилия и средний балл.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
struct Sved {
char Fam[30];
float S_Bal;
} zap,zapt;
char Spis[]="Sp.dat";
FILE *F_zap;
FILE* Open_file(char *, char *);
void main (void) {
int i, j, kodR, nom, size = sizeof(Sved);
while(1) {
puts("Sozdanie - 1\nProsmotr - 2\nDobavlenie - 3\nVyhod - 0");
switch(kodR = getch())
{
case '1': case '3':
if(kodR==1) F_zap = Open_file (Spis,"w+");
else F_zap = Open_file (Spis,"a+");
while(2) {
cout << "\n Fam "; cin >> zap.Fam;
if((zap.Fam[0])=='0') break;
cout << "\n Srednij ball: ";
cin >> zap.S_Bal;
fwrite(&zap,size,1,F_zap);
}
fclose(F_zap);
break;
case '2': F_zap = Open_file (Spis,"r+"); nom=1;
while(2) {
if(!fread(&zap,size, 1, F_zap)) break;
printf(" %2d: %20s %5.2f\n", nom++, zap.Fam, zap.S_Bal);
}
fclose(F_zap);
break;
case '0': return; // exit(0);
} // Конец While(1)
} // Конец switch
} // Конец программы
// Нижеприведенная функция служит для того же, что и fopen(), но при
// неудаче выдает на экран ошибку
FILE* Open_file(char *file, char *kod)
{
FILE *f;
if(!(f = fopen(file, kod)))
{
puts("File isn\'t created!");
getch();
exit(1);
}
else return f;
}
Дата публикования: 2014-11-04; Прочитано: 269 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!