Составители:
Рубрика:
79
{for(int i=0;i<n;i++)
delete []str[i]; //освобождаем память
delete [] str;
}
void File::display()
{ clrscr();
int k=ReadFile(); //считываем информацию из файла в буфер
for(int i=0;i<k;i++)
cout<<str[i]; // построчно выводим содержимое буфера на экран
getch();
}
struct info //тип информации, хранящейся в файле
{char name[20];
char numb[10];
float value;
};
class InfoFile:public File //класс «файл с базой данных»
{ int ReadFile(); //переопределяем функцию чтения информации из файла
public:
InfoFile(char* st,int k):File(st,k) {} //конструктор вызывает конструктор базового класса
void WriteFile(int ); //метод записи информации в файл
};
int InfoFile::ReadFile()
{ FILE *fp;
int i=0;
info x;
if((fp=fopen(Name,"r"))!=NULL) //открываем файл
{ while(!feof(fp)) //пока не конец файла
{ fread(&x,sizeof(info),1,fp); //считываем очередную запись из файла
sprintf(str[i],”Запись N %d %s %s %f\n",i+1,x.name,x.numb,x.value);
//заносим очередную запись в буфер файла
i++;
}
fclose(fp);
return i-1; //функция возвращает количество считанных из файла записей
}
return 0;}
void InfoFile::WriteFile(int k)
{ info x;
FILE *fp;
if((fp=fopen(Name,"w+"))!=NULL)
{ for(int i=0;i<k;i++)
{cout<<”Введите "<<i+1<<" -ю запись";
cin>>x.name>>x.numb>>x.value; //вводим с клавиатуры очередную запись
fwrite(&x,sizeof(info),1,fp); //записываем ее в файл
}
fclose(fp);
}}
class HelpFile:public File //класс «файл
с помощью»
{for(int i=0;i>x.name>>x.numb>>x.value; //вводим с клавиатуры очередную запись fwrite(&x,sizeof(info),1,fp); //записываем ее в файл } fclose(fp); }} class HelpFile:public File //класс «файл с помощью» 79
Страницы
- « первая
- ‹ предыдущая
- …
- 77
- 78
- 79
- 80
- 81
- …
- следующая ›
- последняя »