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
|
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
//The structure that I need in both headers
struct Data
{
char sign[10]; //aut.txt and info.txt
char name[20]; //aut.txt
char author[20]; //info.txt
int pages; //info.txt
int year; //info.txt
};
void InsertData()
{
Data data;
cout << "Sign : ";
cin >> data.sign;
cout << "Name : ";
cin.get();
cin.getline(data.name, 20);
cout << "Author: ";
cin.getline(data.author, 20);
cout << "Pages : ";
cin >> data.pages;
cout << "Year : ";
cin >> data.year;
ofstream aut("aut.txt", ios::app);
aut << data.sign << endl;
aut << data.name << endl;
aut.close();
ofstream info("info.txt", ios::app);
info << data.sign << endl << data.author << endl << data.pages << endl << data.year << endl;
info.close();
}
void Create_Binary()
{
ifstream aut("aut.txt");
ifstream info("info.txt");
ofstream Binary("Bibl.bin", ios::out|ios::binary);
Data data;
while(aut.good())
{
aut.getline(data.sign, 20, '\n');
aut.getline(data.name, 20, '\n');
aut.get();
info >> data.sign;
info.get();
info.getline(data.author, 20, '\n');
info >> data.pages;
info.get();
info >> data.year;
info.get();
Binary.write((const char*)&data, sizeof(Data));
}
aut.close();
info.close();
Binary.close();
}
void Table_Comp()
{
cout << endl;
cout << setw(10) << setiosflags(ios::left) << "Sign" << setw(20) << "Name" << setw(20) << "Author"
<< setw(8) << "Pages" << setw(5) << resetiosflags(ios::left) << "Year" << endl;
}
void ShowBook(const Data &data)
{
cout << setw(10) << setiosflags(ios::left) << data.sign << setw(20) << data.name << setw(20) << data.author
<< setw(8) << data.pages << setw(5) << resetiosflags(ios::left) << data.year << endl;
}
void ShowBin()
{
Data data;
Table_Comp();
ifstream Binary("Bibl.bin", ios::in|ios::binary);
while(Binary.good())
{
Binary.read((char*)&data, sizeof(Data));
if(Binary.good()) ShowBook(data);
}
cout << endl;
Binary.close();
}
|