图书管理系统(数据结构-C++)

来源:互联网 发布:服务网络占用硬盘 编辑:程序博客网 时间:2024/05/18 13:24
#include<iostream>//#include<string>using namespace std;struct book{char ch_num[3];       //图书编号char ch_name[100];    //图书名称 char ch_author[10];   //图书作者 char ch_publisher[50];//图书出版社 };int main(){    int number=10;  //初始化为10本图书book Book[50]={ {"01","C语言程序设计","谭浩强","清华大学出版社"},                {"02","Javay应用开发与实践","刘乃琦","人民邮电出版社"},{"03","数字电子技术及基础","严石","清华大学出版社"},{"04","大学物理实验","李成龙","上海交通大学出版社"},{"05","离散数学","刘爱民","北京邮电大学出版社"},{"06","视听阅读","李慧琴","上海外语教育出版社"},{"07","快速阅读","束定芳","北京外语教育出版社"}, {"08","形势与政策","吴照明","合肥工业大学出版社"}, {"09","Java上机实训指导","王薇","华中科技大学出版社"},{"10","office自学经典","孙志刚","电子工业出版社"}                  }; //最多能存50本图书       cout<<"----------------------图书管理系统-----------------------"<<endl;cout<<"现存图书有01-10本图书,图书内容有如下信息:"<<endl;cout<<"图书编号-------图书名称--------图书作者---------图书出版社\n"<<endl;for(int i=0;i<number;i++){cout<<"   "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;} //printf("%02d",1);//for(int i=0;i<5;i++)//{//cout<<Book[i].ch_num.ch_name.ch_author.ch_publisher<<endl//}int choice;       //选择功能int del_num;      //删除功能int modify_num;   //修改功能 int inspect_num;  //查询功能int inset_num;    //插入功能 cout<<"\n当前库存共有"<<number<<"本图书信息"<<endl;cout<<"请您选择将要完成的功能,对应功能按键显示如下:"<<endl;cout<<"0--退出系统"<<endl; cout<<"1--添加"<<endl;cout<<"2--删除"<<endl;cout<<"3--查询"<<endl;cout<<"4--修改"<<endl;cout<<"5--插入"<<endl;int flag=1;while(flag){/*cout<<"\n当前库存共有"<<number<<"本图书信息"<<endl;cout<<"请您选择将要完成的功能,对应功能按键显示如下:"<<endl;cout<<"0--退出系统"<<endl; cout<<"1--添加"<<endl;cout<<"2--删除"<<endl;cout<<"3--查询"<<endl;cout<<"4--修改"<<endl;cout<<"5--插入"<<endl;*/cin>>choice; switch(choice){case 0:                            //退出系统 cout<<"您已经成功退出系统,欢迎您的到来!"<<endl;flag=0;break;case 1:                            //添加功能 cout<<"请您按照以上的图书信息的顺序,添加新的图书:"<<endl;number++;cin>>Book[number].ch_num>>Book[number].ch_name>>Book[number].ch_author>>Book[number].ch_publisher;for(int i=0;i<number+1;i++){cout<<"   "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;}break;case 2:                            //删除功能 cout<<"请您输入要删除的第几本图书信息!"<<endl;cin>>del_num;//number--;if(del_num>number){ cout<<"没有该图书的信息当前库存共有"<<number<<"本图书信息,请您重新选择:"<<endl;cin>>del_num;number--;}     for(int i=del_num-1;i<number;i++)    {    Book[i]=Book[i+1];}for(int i=0;i<number;i++){cout<<"   "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;}break;case 3:                             //查询功能     cout<<"请您输入将要查询的第几本图书信息:"<<endl;    cin>>inspect_num;if(inspect_num>number){cout<<"您所查询的第"<<inspect_num<<"本图书信息不存在,请您重新输入:"<<endl;cin>>inspect_num;cout<<"您要查询的第"<<inspect_num<<"本图书信息如下:\n"<<endl;cout<<"   "<<Book[inspect_num-1].ch_num<<"\t"<<Book[inspect_num-1].ch_name<<"\t\t"<<Book[inspect_num-1].ch_author<<"\t\t"<<Book[inspect_num-1].ch_publisher<<endl;}else{    cout<<"您要查询的第"<<inspect_num<<"本图书信息如下:\n"<<endl;    cout<<"   "<<Book[inspect_num-1].ch_num<<"\t"<<Book[inspect_num-1].ch_name<<"\t\t"<<Book[inspect_num-1].ch_author<<"\t\t"<<Book[inspect_num-1].ch_publisher<<endl;}break;case 4:                            //修改功能cout<<"请您输入需要修改的第几本图书信息:"<<endl;cin>>modify_num;if(modify_num>number){cout<<"您所输入的第"<<modify_num<<"本书不存在,当前库存图书共有"<<number<<"本图书,请重新输入:"<<endl;cin>>modify_num;cout<<"依次输入新内容,如果部分修改,可将原信息原样输入:"<<endl;cin>>Book[modify_num-1].ch_num>>Book[modify_num-1].ch_name>>Book[modify_num-1].ch_author>>Book[modify_num-1].ch_publisher;}else{cout<<"依次输入新内容,如果部分修改,可将原信息原样输入:\n"<<endl;cin>>Book[modify_num-1].ch_num>>Book[modify_num-1].ch_name>>Book[modify_num-1].ch_author>>Book[modify_num-1].ch_publisher;}for(int i=0;i<number;i++)cout<<"\n"<<"   "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;break;case 5:                                   //插入功能 cout<<"请您选择要插入新图书的位置:"<<endl;cin>>inset_num;if(inset_num<1||inset_num>number){cout<<"输入的插入位置超出原有范围,当前可插入范围为 1 - "<<number<<"请重新输入"<<endl;cin>>inset_num;for(int i=number;i>=inset_num;i--){Book[i]=Book[i-1];    }cout<<"请您输入将要插入新位置的图书相关信息(编号、书名、作者、出版社):"<<endl;cin>>Book[inset_num-1].ch_num>>Book[inset_num-1].ch_name>>Book[inset_num].ch_author>>Book[inset_num].ch_publisher;for(int i=0;i<number+1;i++){cout<<"    "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;}    }else{for(int i=number;i>=inset_num;i--){Book[i]=Book[i-1];    }cout<<"请您输入将要插入新位置的图书相关信息(编号、书名、作者、出版社):"<<endl;cin>>Book[inset_num-1].ch_num>>Book[inset_num-1].ch_name>>Book[inset_num-1].ch_author>>Book[inset_num-1].ch_publisher;for(int i=0;i<number+1;i++){cout<<"    "<<Book[i].ch_num<<"\t"<<Book[i].ch_name<<"\t\t"<<Book[i].ch_author<<"\t\t"<<Book[i].ch_publisher<<endl;}}break;          }}return 0;}/*int BF(char a[],char b[])//BF算法 a为主串,b为被检验的串`返回b在a中的第一个下标 若无返回0    {                           int i=0,j=0;       while (a[i]&&b[j])      if (a[i++]==b[j]) ++j;   // 继续比较后继字      else  (i-=j)&&(j=0);    return b[j]?0:i-j+1;    } */

原创粉丝点击