📄 libsystem.cpp
字号:
<<setw(43)<<"b. 增加图书"<<endl
<<setw(43)<<"c. 删除图书"<<endl
<<setw(47)<<"d. 修改图书信息"<<endl
<<setw(47)<<"e. 连续增加图书"<<endl
<<setw(43)<<"f. 书库列表"<<endl
<<setw(59)<<"g. 对图书按ISBN号排序并输出"<<endl
<<setw(45)<<"h. 返回主菜单"<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<"请输入相应的序号进行(a~h)选择:"<<endl;
select = getch();
switch(select)
{
case 'a': cout<<"请输入要查询的图书的ISBN号、作者、书名或出版社进行查询:"<<endl;
cin>>Search;
if(!bookList.search(Search))
//LIST类的search(CHAR [])接收一个CHAR []进行查询,找到返回TRUE,否则返回FALSE
cout<<"没有查到数据。"<<endl<<endl;
else
cout<<"查找的数据:"<<endl<<bookList.returnCurData()<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'b': BookData.set();//函数BookData.set()将设置一个全新的图书信息
bookList.insert(BookData);//LIST类的insert(T)将数据插入链表
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'c': cout<<"请输入要删除的图书的相关信息进行检索:"<<endl;
cin>>Search;
if(!bookList.deleteNode(Search))
//LIST类的deleteNode(CHAR [])接收一个CHAR []进行查询,找到后将数据在
//链表中删除,并返回TRUE,否则返回FALSE
cout<<"没有要删除的数据!"<<endl<<endl;
else
cout<<"已删除指定数据!"<<endl<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'd': cout<<"请输入要修改的图书的ISBN号、作者、书名或出版社进行查询:"<<endl;
cin>>Search;
if(!bookList.search(Search))
cout<<"没有查到要修改的图书。"<<endl<<endl;
else
{
cout<<"要修改的图书信息:"<<endl<<bookList.returnCurData()<<endl;
cout<<"输入新的图书信息:"<<endl;
curNodePtr = bookList.returnCurPtr();
(curNodePtr->data).setForSelect();
//BookData.setForSelect()函数将可供用户有选择的更改图书部分信息
}
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'e': while(select != 'n')//连续插入数据,按n退出
{
BookData.set();//函数BookData.set()将设置一个全新的图书信息
bookList.insert(BookData);//LIST类的insert(T)将数据插入链表
cout<<"退出按n,其余键继续"<<endl;
select = getch();
}
break;
case 'f': cout<<"显示所有数据:"<<"共条"<<bookList.getTotal()<<"数据。"<<endl;
bookList.displayAllData();
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'g': bookList.compositor(); ////LIST类的compositor()将对数据按找指定顺序排序
cout<<"显示排序后的所有数据:"<<endl;
cout<<"显示所有数据:"<<"共条"<<bookList.getTotal()<<"数据。"<<endl;
bookList.displayAllData();
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'h': cout<<endl<<endl<<endl; return;
default:cout<<"输入有误!请重新输入:"<<endl; break;
}
}
return;
}
//**********************************************************************************
void USERABOUT()
{
if(!POPEDOM(3))//权限验证,通过返回TRUE,否则返回FALSE,此处级别要求为3
return;
List<userInfo> userList;
userInfo userData;
dataNode<userInfo> * curNodePtr;//由来接受UserList.returnCurPtr()返回的当前数据的地址,
//以对该数据进行操作
char Search[30];//用来接受查询信息
char select;
USERFILE = true;
FILEOPEN(userList);
for(;;)
{
system("cls");
cout<<"********************************************************************************";
cout<<"**********************************"<<"图 书 馆 理 系 统"<<"*****************************";
cout<<"********************************************************************************"<<endl<<endl;
cout<<setw(47)<<"用 户 管 理"<<endl<<endl<<endl<<endl
<<setw(49)<<"a. 用户信息查询"<<endl
<<setw(45)<<"b. 增加用户"<<endl
<<setw(45)<<"c. 删除用户"<<endl
<<setw(49)<<"d. 修改用户信息"<<endl
<<setw(49)<<"e. 连续增加用户"<<endl
<<setw(45)<<"f. 用户列表"<<endl
<<setw(47)<<"g. 返回主菜单"<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<"请输入相应的序号进行(a~g)选择:"<<endl;
select = getch();
switch(select)
{
case 'a': cout<<"请输入要查询的用户信息:"<<endl;
cin>>Search;
if(!userList.search(Search))
cout<<"没有查到该用户。"<<endl<<endl;
else
cout<<"查找的用户:"<<endl<<userList.returnCurData()<<endl<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'b': userData.set();//userData.set()将设置一个全新的用户信息
userList.insert(userData);
cout<<endl<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'c': cout<<"请输入要删除的用户的相关信息进行检索:"<<endl;
cin>>Search;
if(!userList.deleteNode(Search))
cout<<"没有要删除的数据!"<<endl<<endl;
else
cout<<"已删除指定数据!"<<endl<<endl<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'd': cout<<"请输入要修改的用户的相关信息进行检索:"<<endl;
cin>>Search;
if(!userList.search(Search))
cout<<"没有查到要该用户的相关信息。"<<endl<<endl;
else
{
cout<<"要修改的用户信息:"<<endl<<userList.returnCurData()<<endl;
cout<<"输入新的用户信息:"<<endl;
curNodePtr = userList.returnCurPtr();
(curNodePtr->data).setForSelect();
//userData.setForSelect()将允许用户有选择的修改用户部分信息
}
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'e': while(select != 'n')
{
userData.set();//userData.set()将设置一个全新的用户信息
userList.insert(userData);
cout<<"退出按n,其余键继续"<<endl;
select = getch();
}
break;
case 'f': cout<<"显示所有数据:"<<"共条"<<userList.getTotal()<<"数据。"<<endl;
userList.displayAllData();
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'g': cout<<endl<<endl<<endl; return;
default:cout<<"输入有误!请重新输入:"<<endl; break;
}
}
return;
}
//**********************************************************************************
void READERABOUT()
{
if(!POPEDOM(2))//权限验证,通过返回TRUE,否则返回FALSE,此处级别要求为2
return;
List<readerInfo> ReaderList;
readerInfo readerData;
dataNode<readerInfo> * curNodePtr;//由来接受UserList.returnCurPtr()返回的当前数据的地址,
//以对该数据进行操作
char Search[30];
READERFILE = true;
FILEOPEN(ReaderList);
char select;
for(;;)
{
system("cls");
cout<<"********************************************************************************";
cout<<"**********************************"<<"图 书 馆 理 系 统"<<"*****************************";
cout<<"********************************************************************************"<<endl<<endl;
cout<<setw(47)<<"读 者 管 理"<<endl<<endl<<endl<<endl
<<setw(49)<<"a. 读者信息查询"<<endl
<<setw(45)<<"b. 增加读者"<<endl
<<setw(45)<<"c. 删除读者"<<endl
<<setw(49)<<"d. 修改读者信息"<<endl
<<setw(49)<<"e. 连续增加读者"<<endl
<<setw(49)<<"f. 读者信息列表"<<endl
<<setw(63)<<"g. 对读者信息按ID号排序并列表"<<endl
<<setw(47)<<"h. 返回主菜单"<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<"请输入相应的序号进行(a~h)选择:"<<endl;
select = getch();
switch(select)
{
case 'a': cout<<"请输入要查询的读者信息:"<<endl;
cin>>Search;
if(!ReaderList.search(Search))
cout<<"没有查到该读者。"<<endl<<endl;
else
cout<<"查找的读者:"<<endl<<ReaderList.returnCurData()<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'b': readerData.set();//readerData.set()将设置一个全新的读者信息
ReaderList.insert(readerData);
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'c': cout<<"请输入要删除的读者的相关信息进行检索:"<<endl;
cin>>Search;
if(!ReaderList.deleteNode(Search))
cout<<"没有要删除的数据!"<<endl<<endl;
else
cout<<"已删除指定数据!"<<endl<<endl<<endl;
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'd': cout<<"请输入要修改的读者的相关信息进行检索:"<<endl;
cin>>Search;
if(!ReaderList.search(Search))
cout<<"没有查到要该读者的相关信息。"<<endl<<endl;
else
{
cout<<"要修改的读者信息:"<<endl<<ReaderList.returnCurData()<<endl;
cout<<"输入新的读者信息:"<<endl;
curNodePtr = ReaderList.returnCurPtr();
(curNodePtr->data).setForSelect();
//readerData.setForSelect()将将允许用户有选择的修改读者部分信息
}
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'e': while(select != 'n')//连续插入,按n退出
{
readerData.set();//readerData.set()将设置一个全新的读者信息
ReaderList.insert(readerData);
cout<<"退出按n,其余键继续"<<endl;
select = getch();
}
break;
case 'f': cout<<"显示所有数据:"<<"共条"<<ReaderList.getTotal()<<"数据。"<<endl;
ReaderList.displayAllData();
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'g': ReaderList.compositor();
cout<<"显示排序后的所有数据:"<<endl;
cout<<"显示所有数据:"<<"共条"<<ReaderList.getTotal()<<"数据。"<<endl;
ReaderList.displayAllData();
cout<<"按任意键继续.........."<<endl<<endl;
getch();
break;
case 'h': cout<<endl<<endl<<endl; return;
default: cout<<"输入有误!请重新输入:"<<endl; break;
}
}
return;
}
//**********************************************************************************
void main()
{
ENTRYMENU();
MAINMENU();
}
//**********************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -