Написал простой код. создание БД:
Код:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string.h>
#include <iomanip>
#include <conio.h>
#include <windows.h>
char str[256]; //глобальная констатна
const int L=20; //глобальная констатна
using namespace std;
struct filest
{
char catalog[40];
char name[20];
char rasherenie[7];
};
struct filestnode
{
filest d;
filestnode *next;
};
struct data
{
int year;
int month;
int day;
};
struct datanode
{
data d;
datanode *next;
};
struct time
{
int hour;
int minute;
};
struct timenode
{
time d;
timenode *next;
};
struct recordst
{
data dat;
time tim;
char atrib[14];
};
struct recordstnode
{
recordst d;
recordstnode *next;
};
class FILE
{
private:
void clearFile();
public:
filestnode *beg1;
FILE():beg1(NULL){};
FILE(FILE & Z);
~FILE(){clearFile();}
};
class RECORD: public FILE
{
private:
void clearRecord();
public:
recordstnode *beg2;
RECORD():beg2(NULL){};
RECORD(RECORD & z);
~RECORD(){clearRecord();}
void create();
};
void FILE::clearFile()
{
filestnode *p;
while(beg1!=NULL){
p=beg1;
beg1=beg1->next;
delete p;
}
}
void RECORD::clearRecord()
{
recordstnode *p;
while(beg2!=NULL){
p=beg2;
beg2=beg2->next;
delete p;
}
}
void RECORD::create()
{
int i,n=0;
ifstream fin;
char file[21];
filestnode *p1;
recordstnode *p2;
CharToOem("Задайте имя выходного файла: \n", str);
cout<<str;
cin>>file;
fin.open(file);
if(fin.fail()){
cout<<file<<" "<<"not create";
getch();
return;
}
p1=new filestnode;
p2=new recordstnode;
if((p1==NULL)&&(p2==NULL)){
cout<<"not create";
getch();
fin.close();
return;
}
//запись в переменные
CharToOem("Сколько строк вы хотели бы ввести:\n", str);
cout<<str;
cin>>n;
for(i=0;i<n;i++)
{
p1=beg1;
p2=beg2;
CharToOem("Каталог:\n", str);
cout<<str;
cin>>p1->d.catalog;
ChatToOem("Имя файла:\n", str);
cout<<str;
cin>>p1->d.name;
ChatToOem("Расширение:\n", str);
cout<<str;
cin>>p1->d.rasherenie;
ChatToOem("Дата и время создания в формате (dd mm yyyy hh mi:\n", str);
cout<<str;
cin>>p2->d.dat.day>>p2->d.dat.month>>p2->d.dat.year>>p2->d.tim.hour>>p2->d.tim.minute;
p1=p1->next;
p2=p2->next;
}
//запись в файл
while(1)
{
fin>>p1->d.catalog>>p1->d.name>>p1->d.rasherenie>>p2->d.dat.day>>p2->d.dat.month>>p2->d.dat.year>>p2->d.tim.hour>>p2->d.tim.minute;
if(fin.fail()) break;
p1->next=beg1;
p2->next=beg2;
beg1=p1;
beg2=p2;
}
cout<<"OK";
getch();
fin.close();
}
int main(int argc, char *argv[])
{
FILE a;
RECORD c;
int i;
while(1)
{
system("CLS");
CharToOem("1. Создание\n", str);
cout<<str;
CharToOem("Ваш выбор: \n", str);
cout<<str;
cin>>i;
switch(i){
case 1: c.create(); getch(); system("CLS"); break;
case 21: CharToOem(" Выход\n", str);
cout<<str; getch(); exit(1);
default: CharToOem("нет такого пункта\n", str);
cout<<str;
getch();
break;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
[/QUOTE]
Выдаются вот такие ошибки. Что не так? помогите пожалуйста: