⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tushuguanli .txt

📁 图书信息查询
💻 TXT
字号:
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include <iomanip.h>
#define   b  0
#define   N "0" 
#define   F -1
class   Book 
{ 
            public: 
                    char   BookName[41]; 
                    char   Author[21]; 
                    char   shuhao[16]; 
					char   publish[20];
                    int   nState; 
                          Book()   
                          { 
                         strcpy(shuhao,N); 
                          nState=b; 
                          } 
                          void getInfo() 
                          { 
                          cout<<"请输入书名: "; 
                          cin>>BookName; 
                          cout<<"请输入作者: "; 
                          cin>>Author; 
                          cout<<"请输入编号: "; 
                          cin>>shuhao;
						  cout<<"请输入出版社: ";
						  cin>>publish;
                          } 
                          char   *getBookName() 
                          { 
                                    return   BookName; 
                                    } 
                          char   *getsAuthor() 
                          { 
                                    return   Author; 
                                    } 
                          char   *getshuhao() 
                          { 
                                    return   shuhao; 
                                    } 
                        int  setState(int state) 
                          { 
                                return    nState=state; 
                                    } 
                          void   displayInfo() 
                          { 
                                    cout<<setw(15); 
                                    cout<<BookName; 
                                    cout<<setw(15); 
                                    cout<<Author; 
                                    cout<<setw(15); 
                                    cout<<shuhao; 
                                    cout<<setw(15);
									cout<<publish;
									cout<<setw(15);
                                    if(nState==1) 
                                      cout<< "已借出 "<<endl; 
                                      else                                 
                                      cout<< "在馆 "<<endl; 
                          } 
}; 
class   User:public   Book//继承Book基类   
{ 
        public: 
			 
                char   RClass[9]; 
                char   RName[21]; 
                char   RAge[21]; 
                char   RNom[6]; 
                void   getInfo()
                { 
					cout<<"请输入姓名: "; 
                    cin>>RName;
                    cout<<"请输入年龄: "; 
                    cin>>RAge; 
                    cout<<"请输入班级: "; 
                    cin>>RClass; 
                    cout<<"请输入学号: "; 
                    cin>>RNom; 
                }     
                char   *getsClass() 
                { 
                        return   RClass; 
                } 
                  char   *getsName() 
                { 
                        return   RName; 
                }   
                  char   *getsAge() 
                { 
                        return   RAge; 
                }   
                  char   *getsNob() 
                { 
                        return   RNom; 
                }     
                void   displayInfo()//显示菜单   
                { 
                        cout.width(17); 
                        cout<<RName; 
                        cout.width(21); 
                        cout<<RAge; 
                        cout.width(21); 
                        cout<<RClass; 
                        cout.width(15); 
                        cout<<RNom<<endl; 
                }             
};     
void  main()//   
{ 
        void   listBook();//声明涵数   
        void   addBook(); 
        void   modifyBook(); 
        void   listUser(); 
        void   addUser(); 
        int   choice; 
		cout<<"                   ************欢迎来到图书管理系统*************"<<endl;
        while(choice!=0) 
        { 
          cout<< "\n\n\n "; 
          cout<< "                      *******************************\n "; 
          cout<< "                      **        数据查寻           **\n "; 
          cout<< "                      *******************************\n "; 
          cout<< "                      **      1.图书查询           **\n "; 
          cout<< "                      **      2.图书入库           **\n "; 
          cout<< "                      **      3.借书/还书          **\n "; 
          cout<< "                      **      4.新增读者资料       **\n "; 
          cout<< "                      **      5.查看所有读者       **\n "; 
          cout<< "                      **      0.退出               **\n "; 
          cout<< "                      *******************************\n "; 
          cout<< "                      **                           **\n "; 
          cout<< "                      *******************************\n "; 
          cout<< "                                请选择(0-5): "; 
          cin>>choice; 
          switch(choice) 
          { 
              case   1: 
                        listBook();//   列出图书菜单函数   
                        break; 
              case   2: 
                        addBook();//增加图书涵数   
                        break; 
              case   3: 
                        modifyBook();//修改图书涵数   
                        break; 
              case   4: 
                        addUser();//调用增加读者涵数   
                        break;
              case   5: 
                        listUser();//调用列出读者涵数   
                        break; 
              case   0: 
                        return; 
              default: 
                        cout<< "\n                         选择错误! "; 
                        break; 
              } 
          } 
          return; 
} 
void   listBook()//定义各涵数   
{ 
          Book   book; 
          fstream   file( "E:\\library.txt ",ios::in); 
          if(!file) 
          { 
              cout<< "文件打开失败!!! "<<endl; 
              return   ; 
              } 
          cout<<setw(17); 
          cout<<"书名: ";   
          cout<<setw(15); 
          cout<<"作者: ";     
          cout<<setw(15); 
          cout<<"书号: ";     
          cout<<setw(15); 
		  cout<<"出版社: ";
          cout<<setw(14);
          cout<<"状态: "<<endl; 
          while(file.read((char   *)&book,sizeof(book))) 
          { 
                      book.displayInfo(); 
                      } 
            file.close(); 
            return; 
} 
void   addBook() 
{ 
          Book   book; 
          fstream   file( "E:\\library.txt ",ios::out|ios::app); 
          if(!file) 
          { 
                    cout<<"文件打开失败!!! "<<endl; 
                    return; 
                    } 
       book.getInfo(); 
        file.write((char   *)&book,sizeof(book)); 
        file.close(); 
        return; 
}                 
void   modifyBook()
{ 
        Book   book; 
		User   user;
        char bname[15];char Rname[15];
        int   state; 
        bool   finded=false; 
		cout<<"请输入你的姓名: ";
		cin>>Rname;
		fstream  file("E:\\Nlibrary.txt",ios::in|ios::out);
        while(file.read((char   *)&user,sizeof(user)))
	   {if(strcmp(user.getsName(),Rname)==0)
		{
			finded=true;
        cout<<"请输入要修改图书的书名: "; 
        cin>>bname; 
        fstream  file( "E:\\library.txt ",ios::in|ios::out); 
        while(file.read((char   *)&book,sizeof(book)))
		{ 
                if(strcmp(book.getBookName(),bname)==0)
				{ 
                        finded=true; 
                        cout<<"请选择图书状态:   1.借书         2.还书 "<<endl; 
                        cin>>state; 
                        
                        if(state!=1&&state!=2) 
                              cout<< "选择错误!   "<<endl; 
                        else 
                              if(state==1) 
                                    book.setState(1); 
                              else 
                                    book.setState(b); 
                        file.seekp(-sizeof(book),ios::cur); 
                        file.write((char   *)&book,sizeof(book)); 
                        break; 
                } 
        } 
        if(!finded) 
              cout<<"您输入的书号有误,未能查找到相应图书"<<endl; 
        file.close(); 
        }
        
		}
		file.close();
}                                                                                                                                                                                                   
void   listUser() 
{ 
        User   user;
		Book book;
        fstream   file( "E:\\Nlibrary.txt ",ios::in); 
        if(!file) 
        { 
                cout<<"文件打开失败!! "<<endl; 
                return; 
        } 
        cout<<setw(19); 
        cout<<"姓名: "; 
        cout<<setw(21);  
        cout<<"年龄: "; 
        cout<<setw(21);  
        cout<<"班级: "; 
        cout<<setw(15);  
        cout<<"学号: "<<endl; 
        while(file.read((char   *)&user,sizeof(user))) 
        {
			user.displayInfo(); 
           
		}
        file.close(); 
        return;
        
}   
void   addUser() 
{ 
        User   user; 
        fstream   file( "E:\\Nlibrary.txt ",ios::out|ios::app); 
        if(!file) 
        { 
                cout<<"文件打开失败!! "<<endl; 
                return; 
        } 
        user.getInfo(); 
        file.write((char *)&user,sizeof(user)); 
        file.close(); 
        return; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -