1、include
2、define BLUE "\033[0;32;34m" #define YELLOW "\033[1;33m" #define LIGHT_RED "\033[1;31m" #define LIGHT_GREEN "\033[1;32m" #define LIGHT_BLUE "\033[1;34m" /* 在编译程序之前,请先开启mysql服务器(命令为 sudo mysqld_safe &),然后再登录mysql客户端(命令为 mysql -u root -p)建立数据库 stu;建立数据表reader,book;具体操作语句如下: create database
3、 stu; create table reader(stu_name varchar(20),stu_phone varchar(15),stu_password varchar(10),stu_num int,debt float,lend_time double,back_time double,count int); create table book(book_name varchar(40),book_aut varchar(40),book_pre varchar(40),book_num int,book_mux int,book_con int); 编译
4、时用如下命令: g++ $(mysql_config --cflags) 110.cpp -o t $(mysql_config --libs) */ //定义mysql数据库变量 MYSQL mysql; MYSQL_RES * results; MYSQL_FIELD *fileds; MYSQL_ROW rows; char strHost[] = "localhost"; char strUser[] = "root"; char strPasswd[] = "3335599"; c
5、har strDb[] = "stu"; char strSQL[200]; unsigned int num_fields; /* 程序导读: 1.程序中对书的操作,可通过书名,编号来进行,flag=0按书名来操作,flag=1按书编号来操作 2.程序中对用户的操作,也可通过姓名,用户ID号或编号两种方式来进行,flag=0按姓名来操作, flag=1按用户ID号或编号来操作 3.本程序分5个部分,具体已标识如(1)图书管理... 4.本程序即可实现将数据保存至本地即stu.txt,book.txt,又可将数据保存至mysql数据库,只 需
6、稍加修改,具体如何修改,在此就不做说明 */ using namespace std; class Book { public: string book_name; string book_num;//编号 string book_pre;//出版社 string book_aut;//作者 int book_con;//这样的书还有几本 int book_mux;//这样的书总共有几本 public: Book(){book_con=0;book_mux=0;} void show_book(); }; /**********
7、1)图书管理*******************************************/
void Book::show_book()
{
cout<<"书名:"< 8、n<<"本书未借出!"< 9、id addbook();
void delbook(string s,int num,int flag);
void findbook(string s,int flag);//查询图书
};
void BookManage::addbook()
{
string h;
cout<<"添加输入0,退出输入-1"< 10、g na,nu,p1,aut;int con;
BookNode *p=new BookNode;
cout<<"请输入书名:"< 11、>book.book_aut=aut;
cout<<"请输入此书共有几本:"< 12、E< 13、book_con-=num;headbook->book.book_mux-=num;}
else
{
headbook=p->next;
totolbook-=num;
del_sql_book(p);//从数据库中删除
//delete p;
}
}
else if(p->next)
{
for(p=headbook;p->next!=NULL&&p!=NULL;p=p->next)
{
if(p->next->b 14、ook.book_name==s)
{
if(p->next->book.book_con>1)
{
p->next->book.book_con-=num;headbook->book.book_mux-=num;
break;
}
else
{
p->next=p->next->next;
totolbook-=num;
del_sql_book(p->next);//从数据库中删除
// 15、delete p->next;
break;
}
}
}
if(p->next==NULL)
cout< 16、num;}
else
{
headbook=p->next;
totolbook-=num;
del_sql_book(p);//从数据库中删除
//delete p;
}
}
else if(p->next)
{
for(p=headbook;p->next!=NULL&&p!=NULL;p=p->next)
{
if(p->next->book.book_num==s)
{
if(p-> 17、next->book.book_con>1)
{
p->next->book.book_con-=num;headbook->book.book_mux-=num;
break;
}
else
{
p->next=p->next->next;
totolbook-=num;
del_sql_book(p->next);//从数据库中删除
//delete p->next;
break;
}
18、
}
}
if(p->next==NULL)
cout< 19、k;p!=NULL;p=p->next)//先查看是否有此书
{
if(p->book.book_name==s)
break;
}
if(NULL==p)
cout< 20、
for(p=headbook;p!=NULL;p=p->next)//查看图书,把所有名为s的图书的信息都打印出来
{
if(p->book.book_name==s)
{
p->book.show_book();//显示出图书的基本信息
if(p->book.book_con==0)
cout< 21、headbook;p!=NULL;p=p->next)
{
if(p->book.book_num==s)
{
p->book.show_book();
if(p->book.book_con==0)
cout< 22、ndl;break;
}
}
/****************************************(2)用户管理*******************************************/
class Admin//管理员
{
public:
string adm_name;//帐号
string adm_passw;//密码
public:
Admin()
{
adm_name="adm";
adm_passw="123";
}
};
class LendBook
{
pu 23、blic:
string bookname[3];
int count;//借多少本数
time_t lend_time;
time_t back_time;
LendBook(){count=0;}
};
class Stu
{
public:
string stu_name;
string stu_phone;//联系方式
string stu_num;//学号(登录帐号)
string password;//密码
float debt;//欠费额
LendBook lendbook;//用户借书信息
public:
24、void show_stu();//把此人所有信息(包括借书)显示出来
};
void Stu::show_stu()
{
cout<<"姓名:"< 25、
};
StuNode *headstu=NULL;
void savestu(StuNode *p);//保存读者信息到数据库
void del_sql_stu(StuNode *p);//将读者信息从数据库中删除
class StuManage:public BookManage
{
private:
int totolstu;//用户总数
public:
StuManage(){totolstu=0;}
void addstu();//增加用户
void delstu(string s,int flag);//删除用户
void find 26、stu(string s,int flag);//查找用户
void lendbook(string ss,string s,int flag);//借书
void backbook(string ss,string s,int flag);//还书
void paydebt(string s);//还款
void mux_stu_book();//查询图书管总的图书量与总的用户量
};
void StuManage::addstu()
{
string h;
cout<<"添加输入0,退出输入-1"< 27、1")return;
else if(h=="0")
while(1)
{
if(h=="-1")break;
else if(h=="0")
{
string na,num,p1,pa,pa1,pa2;
StuNode *p=new StuNode;
cout<<"请输入姓名:"< 28、< 29、
}
else
cout< 30、 31、中删除
delete p;
}
else if(p->next)//非头结点位置
{
for(p=headstu;p->next!=NULL&&p!=NULL;p=p->next)
{
if(p->next->stu.stu_name==s)
{
p->next=p->next->next;
totolstu--;
del_sql_stu(p->next);//从数据库中删除
//delete p->next;
32、 break;
}
}
if(p->next==NULL)
cout< 33、 for(p=headstu;p->next!=NULL&&p!=NULL;p=p->next)
{
if(p->next->stu.stu_name==s)
{
p->next=p->next->next;
totolstu--;
del_sql_stu(p->next);//从数据库中删除
//delete p->next;
break;
}
}
if(p->next==NULL)
cout< 34、LOW"此用户不存在!"NONE< 35、ak;
}
if(p==NULL)
cout< 36、>stu.show_stu();
if(p->stu.lendbook.count>=3)
{
cout< 37、ndl;i--;
}
cout< 38、ok.count<<"本书!"< 39、 cout< 40、 int i=p->stu.lendbook.count;
cout<<"所借书的名字为:"< 41、"本书!"NONE< 42、ULL;p=p->next)
i++;
cout<<"当前图书馆注册用户数为:"<next)
{
h+=q->book.book_mux;
j+=q->book.book_con;
}
cout<<"当前图书馆库存的总书数为:"< 43、Node *q;
for(q=headstu;q!=NULL;q=q->next)
{
if(q->stu.stu_num==ss)
{del_sql_stu(q);break;}//丛数据库中删除
}
if(q==NULL)
{cout< 44、ook(p);//从数据库中删除
int i=q->stu.lendbook.count;
if(i>=3||q->stu.debt>0)
{
if((i>=3)&&(q->stu.debt==0))
{cout< 45、debt>0))
{cout< 46、t++;//所借书数目加一
p->book.book_con--;//同样的书的个数减一
}
break;
}
}
if(p==NULL)
cout< 47、ndbook.count;
if(i>=3||q->stu.debt>0)
{
if((i>=3)&&(q->stu.debt==0))
{cout< 48、超过3本且有欠费,不能再借!"NONE< 49、
}
}
if(p==NULL)
cout< 50、{
if(q->stu.stu_num==ss)
{del_sql_stu(q);break;}//丛数据库中删除
}
if(q==NULL)
{cout<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818