#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<iomanip>
using namespace std;
class Book{
public:
char name[20];
char author[6];
char publisher[20];
char ptime[5];
int price;
int number;
Book(){}
friend istream &operator>>(istream &sm,Book &b)
{
sm>>b.name>>b.author>>b.publisher>>b.ptime>>b.price>>b.number;
return sm;
}
friend ostream &operator<<(ostream &sm,Book &b)
{
sm<<setiosflags(ios_base::left)<<setw(20)<<b.name;
sm<<setiosflags(ios_base::left)<<setw(20)<<b.author;
sm<<setiosflags(ios_base::left)<<setw(30)<<b.publisher;
sm<<setiosflags(ios_base::left)<<setw(20)<<b.ptime;
sm<<setiosflags(ios_base::left)<<setw(10)<<b.price;
sm<<setiosflags(ios_base::left)<<setw(10)<<b.number;
cout<<endl;
return sm;
}
};
class BookStore{
private:
int number;
Book* list;
public:
BookStore()
{
fstream file;
file.open("books.txt",ios::in);
file>>number;
list=new Book[number];
for(int i=0;i<number;i++)
{
file>>list[i].name>>list[i].author>>list[i].publisher>>list[i].ptime>>list[i].price>>list[i].number;
}
file.close();
}
~BookStore(){}
错误清单
最新推荐文章于 2023-04-17 16:47:32 发布
这篇博客列举了两个编程中遇到的问题及其解决方法。第一个问题是关于编译错误86.10,错误原因在于将BookStore b()误解为函数,修正方法是将它改为BookStore b。第二个问题是文件在构造函数中打开不完整,可能是由于char类型不足导致,调整后程序已调试完成。
摘要由CSDN通过智能技术生成