c++图书管理系统_轻松学做C语言课程设计:图书管理系统-数组实现
时间: 2023-08-18 20:09:15 浏览: 98
这是一个基于数组实现的简单的C++图书管理系统,包括添加图书、删除图书、查找图书、修改图书信息、浏览全部图书等基本功能。
```c++
#include<iostream>
#include<cstring>
using namespace std;
#define MAXSIZE 100 //定义最大图书数
struct Book{
char name[20]; //书名
char author[20]; //作者
int price; //价格
char press[20]; //出版社
}book[MAXSIZE]; //定义图书结构体数组
int cnt=0; //定义图书数
void AddBook() //添加图书
{
cout<<"请输入书名、作者、价格、出版社:"<<endl;
cin>>book[cnt].name>>book[cnt].author>>book[cnt].price>>book[cnt].press;
cnt++;
cout<<"添加成功!"<<endl;
}
void DelBook() //删除图书
{
char name[20];
bool flag=false;
cout<<"请输入要删除的书名:"<<endl;
cin>>name;
for(int i=0;i<cnt;i++){
if(strcmp(book[i].name,name)==0){
for(int j=i;j<cnt-1;j++){
book[j]=book[j+1];
}
cnt--;
flag=true;
cout<<"删除成功!"<<endl;
break;
}
}
if(!flag){
cout<<"未找到该书!"<<endl;
}
}
void ModifyBook() //修改图书信息
{
char name[20];
bool flag=false;
cout<<"请输入要修改的书名:"<<endl;
cin>>name;
for(int i=0;i<cnt;i++){
if(strcmp(book[i].name,name)==0){
cout<<"请输入新的书名、作者、价格、出版社:"<<endl;
cin>>book[i].name>>book[i].author>>book[i].price>>book[i].press;
flag=true;
cout<<"修改成功!"<<endl;
break;
}
}
if(!flag){
cout<<"未找到该书!"<<endl;
}
}
void SearchBook() //查找图书
{
char name[20];
bool flag=false;
cout<<"请输入要查找的书名:"<<endl;
cin>>name;
for(int i=0;i<cnt;i++){
if(strcmp(book[i].name,name)==0){
cout<<"书名\t作者\t价格\t出版社"<<endl;
cout<<book[i].name<<"\t"<<book[i].author<<"\t"<<book[i].price<<"\t"<<book[i].press<<endl;
flag=true;
break;
}
}
if(!flag){
cout<<"未找到该书!"<<endl;
}
}
void BrowseBook() //浏览全部图书
{
cout<<"书名\t作者\t价格\t出版社"<<endl;
for(int i=0;i<cnt;i++){
cout<<book[i].name<<"\t"<<book[i].author<<"\t"<<book[i].price<<"\t"<<book[i].press<<endl;
}
}
int main()
{
int choice;
cout<<"欢迎使用图书管理系统!"<<endl;
while(1){
cout<<"1.添加图书"<<endl;
cout<<"2.删除图书"<<endl;
cout<<"3.修改图书信息"<<endl;
cout<<"4.查找图书"<<endl;
cout<<"5.浏览全部图书"<<endl;
cout<<"6.退出系统"<<endl;
cout<<"请输入您的选择:"<<endl;
cin>>choice;
switch(choice){
case 1:AddBook();break;
case 2:DelBook();break;
case 3:ModifyBook();break;
case 4:SearchBook();break;
case 5:BrowseBook();break;
case 6:return 0;
default:cout<<"输入有误,请重新输入!"<<endl;break;
}
}
return 0;
}
```
该程序使用了结构体数组来存储图书信息,通过不同的功能函数来实现不同的操作。每个功能函数都有相应的提示信息和操作结果输出,用户可以根据需要进行选择。
阅读全文