初学求解
#include<iostream>
#include<string>
#include<vector>
#include<cstdio>
using namespace std;
class book
{
public:
book()
{
borrow_flag=false;
}
book(string name,string number,string author)
:name(name),number(number),author(author)
{
borrow_flag=false;
}
void setreader(string reader,int id,string date);
void setinfo(string name,string number,string author);
void setborrow(bool b)
{
borrow_flag=b;
}
bool isborrow()
{
return borrow_flag;
}
string getnumber()
{
return number;
}
string getname()
{
return name;
}
int getID()
{
return ID;
}
string getdate()
{
return date;
}
string getauthor()
{
return author;
}
string getreader()
{
return reader;
}
void showinfo()
{
cout<<"图书名称:" <<name<<endl ;
cout<<"图书编号:"<<number<<endl;
cout<<"图书作者:"<<author<<endl;
if(borrow_flag)
{
cout<<"图书已借出"<<endl;
cout<<"读者姓名:"<<reader<<endl;
cout<<"借书证号:"<<ID<<endl;
cout<<"借书日期:"<<date<<endl;
}
else
{
cout<<"图书未被借出"<<endl;
}
}
private:
string name;
string number;
string author;
bool borrow_flag;
string reader;
int ID;
string date;
} ;
void book::setreader(string reader,int ID,string date)
{
this->reader.assign(reader);
this->ID=ID;
this->date.assign(date);
this->borrow_flag=true;
}
void book::setinfo(string name,string number,string author)
{
this->name.assign(name);
this->number.assign(number);
this->author.assign(author);
}
class library
{
public:
void addbook();
void addbook(string name,string number,string author);
void deletebook();
void borrowbook();
void returnbook();
int indexofnumber(string number);
private:
vector<book>books;
int currentquantity;
int borrowquantity;
};
int library::indexofnumber(string number)
{
}
void library::addbook()
{
book b;
string name,number,author;
int temp;
cout<<"***********增加界面**********"<<endl;
do
{
cout<<"请输入图书名称,编号,作者"<<endl;
cin>>name>>number>>author;
b.setinfo(name,number,author);
if(indexofnumber(number)==-1)
{
books.push_back(b);
currentquantity++;
cout<<"添加成功"<<endl;
cout<<"输入1继续重新添加,输入2返回上一层"<<endl;
cin>>temp;
}else
{
cout<<"已存在该编号的图书,添加失败"<<endl;
cout<<"输入1继续重新添加,输入2返回上一层"<<endl;
cin>>temp;
}
} while(temp==1);
}
void library::addbook(string name,string number,string author)
{
book b;
b.setinfo(name,number,author);
books.push_back(b);
}
void library::deletebook()
{
cout<<"**********删除界面**********"<<endl;
string number;
int temp;
int index;
do
{
cout<<"输入要删除的图书编号"<<endl;
cin>>number;
index=indexofnumber(number);
if(index!=-1)
{
if(books[index].getborrow_flag()==0)
{
cout<<"删除图书的信息"<<endl;
books[index]. showinfo();
books.erase(books.begin()+index);
currentquantity--;
cout<<"删除成功"<<endl;
cout<<"输入1继续删除,输入2返回上一层"<<endl;
cin>>temp;
}else
{
cout<<"删除失败,该图书已被借出"<<endl;
cout<<"输入1继续重新删除,输入2返回上一层"<<endl;
cin>>temp;
}
} else
{
cout<<"删除失败,未找到编号为"<<number<<"的图书"<<endl;
cout<<"输入1继续删除,输入2返回上一层"<<endl;
cin>>temp;
}
}
while (temp==1);
}
int main()
{
return 0;
}
154行报错,找不到哪里出错了,求解。
getborrow_flag()
getborrow_flag()改成isborrow()
常用运算符:
问题:我想求解有关C++图书馆管理系统的问题,因为我是初学者。
解决方案: 1. 首先,根据参考资料中的示例代码,你可以创建一个包含图书信息的结构体,其中包含图书名称、作者和出版日期等信息。然后,你可以使用链表或数组等数据结构来存储图书馆中的图书信息。
struct Book {
string name;
string author;
string publicationDate;
};
// 创建一个数组来存储图书信息
Book library[100];
int numBooks = 0; // 记录图书馆中图书的数量
```cpp void addBook() { if (numBooks >= 100) { cout << "图书馆已满,无法添加新的图书。" << endl; return; }
Book newBook;
cout << "请输入图书信息:" << endl;
cout << "图书名称:";
cin >> newBook.name;
cout << "作者:";
cin >> newBook.author;
cout << "出版日期:";
cin >> newBook.publicationDate;
library[numBooks] = newBook;
numBooks++;
cout << "图书已成功添加到图书馆。" << endl;
} ```
b. 删除图书:根据用户输入的图书名称,从图书馆中删除相应的图书。
```cpp void removeBook() { string bookName; cout << "请输入要删除的图书名称:"; cin >> bookName;
bool found = false;
for (int i = 0; i < numBooks; i++) {
if (library[i].name == bookName) {
// 将最后一个图书覆盖要删除的图书
library[i] = library[numBooks - 1];
numBooks--;
found = true;
break;
}
}
if (found) {
cout << "图书已成功删除。" << endl;
} else {
cout << "未找到该图书。" << endl;
}
} ```
c. 查找图书:根据用户输入的图书名称,从图书馆中查找相应的图书。
```cpp void searchBook() { string bookName; cout << "请输入要查找的图书名称:"; cin >> bookName;
bool found = false;
for (int i = 0; i < numBooks; i++) {
if (library[i].name == bookName) {
cout << "找到图书:" << endl;
cout << "图书名称:" << library[i].name << endl;
cout << "作者:" << library[i].author << endl;
cout << "出版日期:" << library[i].publicationDate << endl;
found = true;
break;
}
}
if (!found) {
cout << "未找到该图书。" << endl;
}
} ```
int main() {
int choice;
do {
cout << "欢迎使用图书馆管理系统!" << endl;
cout << "1. 添加图书" << endl;
cout << "2. 删除图书" << endl;
cout << "3. 查找图书" << endl;
cout << "0. 退出系统" << endl;
cout << "请输入你的选择:";
cin >> choice;
switch (choice) {
case 1:
addBook();
break;
case 2:
removeBook();
break;
case 3:
searchBook();
break;
case 0:
cout << "感谢使用图书馆管理系统,再见!" << endl;
break;
default:
cout << "无效的选择,请重新输入。" << endl;
}
} while (choice != 0);
return 0;
}
这样,你就可以根据需要在图书馆管理系统中添加、删除和查找图书了。请注意,以上代码仅为示例,你可以根据自己的需求进行相应的修改和扩展。例如,你可以给图书添加更多的属性,如ISBN、价格等。同时,你也可以考虑使用更高级的数据结构来实现图书馆管理系统,以提高效率和功能性。
你没有定义这个函数getborrow_flag()