logo资料库

图书馆管理系统C++源代码.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
#include #include using namespace std; const int MAX_READER_NUM=30; const int MAX_BOOKS_NUM=50; const INFINITY=0; enum {ERROR=12345}; //借阅者 typedef struct { ID; int char Name[15]; char Sex[7]; char Birthday[11]; char PhoneNumber[12]; char Password[20]; }Reader; //图书信息 typedef struct { int Number; char Name[30]; char Author[15]; int Price; }Book; //图书馆类 typedef struct { Reader Readers[MAX_READER_NUM]; Book Books[MAX_BOOKS_NUM]; int Links[MAX_READER_NUM][MAX_BOOKS_NUM]; int Readernum,Booknum,Linknum; }library; //全局变量初始化 Reader R[10]= { {20081101,"zhangyi","man","1992-01-01","15191810001","20111101abc"},
{20081102,"zhanger","woman","1992-01-02","15191810002","20111102abc"}, {20081103,"zhangsan","man","1992-01-03","15191810003","20111103abc"}, {20081104,"zhangsi","woman","1992-01-04","15191810004","20111104abc"}, {20081105,"zhangwu","man","1992-01-05","15191810005","20111105abc"}, {20081106,"zhangliu","woman","1992-01-06","15191810006","20111106abc"}, {20081107,"zhangqi","man","1992-01-07","15191810007","20111107abc"}, {20081108,"zhangba","woman","1992-01-08","15191810008","20111108abc"}, {20081109,"zhangjiu","man","1992-01-09","15191810009","20111109abc"}, {20081110,"zhangshi","woman","1992-01-10","15191810010","20111110abc"} }; Book B[10]= { {10001,"book1","jack1",10001}, {10002,"book2","jack2",10002}, {10003,"book3","jack3",10003}, {10004,"book4","jack4",10004}, {10005,"book5","jack5",10005}, {10006,"book6","jack6",10006}, {10007,"book7","jack7",10007}, {10008,"book8","jack8",10008}, {10009,"book9","jack9",10009}, {10010,"book10","jack10",10010} }; //*********************************************************************** 定 位 读 者 ***************************************************************************** int LocateReader(library *L,char name[]) { int k=0,i,flag=0; for(i=0;iReadernum;i++) if(strcmp(L->Readers[i].Name,name)==0) {k=i;flag=1;} if(flag==1) return k; if(flag==0) return ERROR; } //********************************************************************* 书 名 定 位 图 书 **************************************************************************** int LocateBook(library *L,char name[])
{ } int k=0,i,flag=0; for(i=0;iBooknum;i++) if(strcmp(L->Books[i].Name,name)==0) {k=i;flag=1;} if(flag==1) return k; if(flag==0) return ERROR; //******************************************************************** 作 者 定 位 图 书 ***************************************************************************** int LocateBookA(library *L,char name[]) { int k=0,i,flag=0; for(i=0;iBooknum;i++) if(strcmp(L->Books[i].Author,name)==0) {k=i;flag=1;} if(flag==1) return k; if(flag==0) return ERROR; } //********************************************************************* 初 始 化 图 书馆*************************************************************************** void Initialization(library *L) { int i,j,k; char TempReader[15],TempBook[30]; void PrintBook(library *L); void PrintReader(library *L); for(i=0;i<10;i++) { L->Readers[i]=R[i]; L->Books[i]=B[i]; } L->Readernum=10; L->Booknum=10; for(i=0;iReadernum;i++)
for(j=0;jBooknum;j++) L->Links[i][j]=INFINITY; cout<<"************************************************************************ *******"<>L->Linknum;fflush(stdin); for(k=0;kLinknum;k++) { 下 面 请 你 完 成 初 始 化 工 作 while(1) { cout<<"请输入第"<>TempBook;fflush(stdin); j=LocateBook(L,TempBook); if(j==ERROR) { PrintBook(L); cout<<"\n!!!!!无此记录!!!!!"<>TempReader;fflush(stdin); i=LocateReader(L,TempReader); if(i!=ERROR)break; else {PrintReader(L);cout<<"!!!!!无此记录!!!!!"<Links[i][j]=1; } cout<<"*********************************** **************************************"<
//***************************************************************管理员增加读者 ****************************************************************************** void AddReader(library *L) { int k; cout<<"请输入要增加的人的卡号(即学号):"; cin>>L->Readers[L->Readernum].ID; cout<<"请输入借阅者的名字:"; cin>>L->Readers[L->Readernum].Name; cout<<"请输入借阅者的性别:('man'or'woman')"; cin>>L->Readers[L->Readernum].Sex; cout<<"请输入借阅者的生日(****-**-**):"; cin>>L->Readers[L->Readernum].Birthday; cout<<"请输入借阅者的电话:"; cin>>L->Readers[L->Readernum].PhoneNumber; cout<<"请输入借阅者的登录密码:"; cin>>L->Readers[L->Readernum].Password; for(k=0;kBooknum;k++) L->Links[L->Readernum][k]=INFINITY; L->Readernum++; cout<<"*********************************** **************************************"<>tempname;fflush(stdin); Pos=LocateReader(L,tempname); if(Pos==ERROR)
PrintReader(L); cout<>choice; fflush(stdin); if(choice=='y'||choice=='Y') { for(i=Pos;i<=L->Readernum;i++) { L->Readers[i]=L->Readers[i+1]; for(j=0;jBooknum;j++) L->Links[i][j]=L->Links[i+1][j]; } L->Readernum--; cout<
cout<<"请输入你想加入的书的编号:"; cin>>L->Books[L->Booknum].Number; cout<<"请输入这本书的书名:"; cin>>L->Books[L->Booknum].Name; cout<<"请输入这本书的作者:"; cin>>L->Books[L->Booknum].Author; cout<<"请输入这本书的价钱:"; cin>>L->Books[L->Booknum].Price; L->Booknum++; for(k=0;kReadernum;k++) L->Links[k][L->Readernum]=INFINITY; cout<<"*********************************** **************************************"<>tempname; cout<<"你确定要删除"<>choice; fflush(stdin); fflush(stdin); //确认输入 if(choice=='y'||choice=='Y') { Pos=LocateBook(L,tempname); for(i=Pos;i<=L->Booknum;i++) { L->Books[i]=L->Books[i+1]; for(j=0;jReadernum;j++) L->Links[i][j]=L->Links[i][j+1]; } L->Booknum--; cout<
} //否定输入 if(choice=='n'||choice=='N') { cout<>choice; //按书名检索 if(choice==1) { cout<<"请输入你要检索的书目名称:"; cin>>TempName; k=LocateBook(L,TempName); for(i=0;iReadernum;i++)
分享到:
收藏