• 大小: 970KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: C/C++
  • 标签:

资源简介

数据结构课程设计(c++)图书管理系统源码数据结构课程设计(c++)图书管理系统源码数据结构课程设计(c++)图书管理系统源码数据结构课程设计(c++)图书管理系统源码

资源截图

代码片段和文件信息

#include  
#include  
#include  
#include //输入/输出文件流类 
using namespace std; 
const int Maxr=100;//最多的读者 
const int Maxb=100;//最多的图书 
const int Maxbor=5;//每位读者最多借五本书 
//读者类实现对读者的信息的描述 


class Reader 

private: 
int tag; //删除标记 1:已删 0:未删 
int no; //读者编号 
char name[10]; //读者姓名 
int borbook[Maxbor];//所借图书 
public: 
Reader() {} 
char *getname() {return name;} //获取姓名 
int gettag() {return tag;} //获取删除标记 
int getno() {return no;} //获取读者编号 
void setname(char na[]) //设置姓名 

     strcpy(namena); 


void delbook(){ tag=1; }//设置删除标记 1:已删 0:未删 
void addreader(int nchar *na)//增加读者 

tag=0; 
no=n; 
strcpy(namena); 
for(int i=0;i   borbook[i]=0; 

void borrowbook(int bookid)//借书操作  

for(int i=0;i
if (borbook[i]==0) 

borbook[i]=bookid; 
return; 





int retbook(int bookid)//还书操作 

for(int i=0;i
if(borbook[i]==bookid) 

borbook[i]=0; 
return 1; 



return 0; 

void disp()//读出读者信息 

cout << setw(5) << no < for(int i=0;i if(borbook[i]!=0) 
cout << borbook[i] << “|“; 
cout << “]“<

}; 



//读者类库,实现建立读者的个人资料 
class RDatabase 

private: 
int top; //读者记录指针 
Reader read[Maxr];//读者记录 
public: 
RDatabase() //构造函数,将reader.txt读到read[]中 

Reader s; 
top=-1; 
fstream file(“reader.txt“ios::in);//打开一个输入文件 
while (1) 

file.read((char *)&ssizeof(s)); 
if (!file)break; 
top++; 
read[top]=s; 

file.close(); //关闭 reader.txt 

void clear()//删除所有读者信息 

top=-1; 

int addreader(int nchar *na)//添加读者时先查找是否存在 

Reader *p=query(n); 
if (p==NULL) 

top++; 
read[top].addreader(nna); 
return 1; 

return 0; 


Reader *query(int readerid)//按编号查找 

for (int i=0;i<=top;i++) 
if (read[i].getno()==readerid && 
read[i].gettag()==0) 

return &read[i]; 

return NULL; 

void disp() //输出所有读者信息 

for (int i=0;i<=top;i++) 
read[i].disp(); 

void readerdata();//读者库维护 
~RDatabase() //析构函数,将read[]写到reader.txt文件中 

fstream file(“reader.txt“ios::out); 
for (int i=0;i<=top;i++) 
if (read[i].gettag()==0) 
file.write((char *)&read[i]sizeof(read[i])); 
file.close(); 


}; 
void RDatabase::readerdata() 


char choice; 
char rname[20]; 
int readerid; 
Reader *r; 
while (choice!=‘0‘) 

cout <<“\n\n\t\t\t读 者 维 护\n\n\n\t\t\t 1 新 增\n\n\t\t\t 2 更 改\n\n\t\t\t 3 删 除\n\n\t\t\t 4 查 找\n\n\t\t\t 5 显 示\n\n\t\t\t 6 全 删\n\n\t\t\t 0 退 出“< cin >> choice; 
switch (choice) 

case ‘1‘: 
cout << “输入读者编号:“; 
cin >> readerid; 
cout << “输入读者姓名:“; 
cin >> rname; 
addreader (readeridrname); 
     break; 
case 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4274  2010-06-29 16:34  books\books.dsp

     文件        535  2010-06-29 15:51  books\books.dsw

     文件      33792  2010-06-29 16:34  books\books.ncb

     文件      48640  2010-06-29 16:34  books\books.opt

     文件        893  2010-06-29 16:31  books\books.plg

     文件     589939  2010-06-29 16:31  books\Debug\books.exe

     文件     839232  2010-06-29 16:31  books\Debug\books.ilk

    I.A....   2206284  2010-06-29 15:54  books\Debug\books.pch

     文件    1156096  2010-06-29 16:31  books\Debug\books.pdb

     文件     398919  2010-06-29 16:31  books\Debug\manager.obj

     文件      74752  2010-06-29 16:31  books\Debug\vc60.idb

     文件     118784  2010-06-29 16:31  books\Debug\vc60.pdb

     文件       9298  2010-06-29 16:31  books\manager.cpp

     目录          0  2010-06-29 16:31  books\Debug

     目录          0  2010-06-29 16:34  books

----------- ---------  ---------- -----  ----

              5481438                    15


评论

共有 条评论