c++连接sqlsever汽车租赁系统项目设计报告大学毕设论文.docx
《c++连接sqlsever汽车租赁系统项目设计报告大学毕设论文.docx》由会员分享,可在线阅读,更多相关《c++连接sqlsever汽车租赁系统项目设计报告大学毕设论文.docx(34页珍藏版)》请在冰豆网上搜索。
c++连接sqlsever汽车租赁系统项目设计报告大学毕设论文
《C++与SQLsever》项目设计报告
题目:
汽车租赁系统
专业:
网络工程
团队名称:
123~
学号:
149100317、149100326、149100308
设计者:
王尊兵、蒋祯果、舒清清
专业班级:
1491003
指导老师:
钟璐
2016年6月20日
运用C++与SQLsever设计分析
近年来,计算机技术日趋成熟,数据库技术不断发展,管理信息的应用已伸延到社会的各个领域。
结合管理系统的开发及步骤,以此为理论基础,开发出一个小型的信息管理系统—汽车租赁管理系统,论文主要阐述了汽车租赁管理系统后台的设计思想及实现过程。
系统后台主要采用了MicrosoftSQLsever2008开发,实现了汽车租赁综合信息的查询、租赁公司车辆管理信息的管理、用户的管理日常业务的处理等主要功能。
✧第一章项目功能需求
(一)系统总体功能需求
汽车租赁系统借阅者每次最多能借5本书。
借书员主要负责借还及新增更改书目读者,查询等工作,图书管理员负责图书信息的增减及读者信息的维护。
所有人员都可以浏览和查询图书信息。
经过初步分析,图书馆管理系统应该具有以下几个模块:
1)管理员用户登录
2)图书维护
3)读者维护
4)查询图书信息
5)借书模块
6)还书模块
7)离开
(二)图书借书模块功能分析
借书量只能借5本。
当系统识别到借书数量已满就不能借书。
借书模块需求
(三)图书还书模块功能分析
图书还书模块功能实现图书归还。
还书模块需求
(四)图书维护模块功能的需求
实现对图书的描述,图书的编号,书名,借出,还入等,需要实现的功能为:
图书编目,图书注册,更新书目,图书删除。
1)登记新书:
将图书的特征信息(书名、图书编号等)存储在数
据库中,图书的借阅、图书信息的查询都是以其作为基础的。
2)更新书目:
当发现图书信息错误时,可以进行图书信息的修改。
3)图书查找:
对图书馆新引进的书进行编制唯一的号码(图书编
号),以便于图书的管理和查找。
4)图书删除:
将废旧的或丢失的图书信息删除,以减少数据库中
的无用信息,也会减少图书查询中的错误信息。
图书维护功能需求
(五)读者维护模块功能的需求
对读者信息描述,建立读者个人资料,借阅者管理需要实现的功能包括:
借阅者注册,借阅者信息更新,借阅者注销,借阅者信息的查询。
1)读者新增:
借阅者作为图书馆流通的主体,其信息的注册(将读者的特征信息存储在数据库中)也是图书馆自动化必须完成的任务。
2)读者信息更改:
当发现借阅者信息错误或者当借阅者的某些信息发生变动时,可以对读者信息进行修改。
3)读者删除:
由于某些原因需要对该借阅者注销,只有满足条件的借阅者才能进行注销。
4)读者查找:
借阅者借阅书籍的历史查询。
读者维护模块需求
(六)提示功能
当系统查出无此书的时候,给予提示。
(七)离开功能
实现管理后的系统退出。
(八)项目进度安排表
序号
项目任务
进度
责任人
完成情况
149100328
编写程序
20日构造程序大体框架、分析出本系统的E-R图
22日完成登录界面和借书模块
23日完成还书模块和读者维护
24日完成图书维护和离开模块
刘滔
√
149100305
项目报告
20日完成本系统的E-R图大体构造及项目报告的总体思路。
21日—22日完成项目功能需求(系统总体功能需求,借书,还书,维护的方法)
23日—24日完成环境搭建及设计
28日完成程序模块代码与运行结果截图
29日完成项目心得
梁小凤
√
149100329
PPT
20日完成本系统的E-R图大体构造
21日—22日完成引言,功能需求
23日—24日完成各模块的流程图
28日完成构思思路
29日完成运行结果代码截图
陈林
√
✧第二章环境搭建及设计分析
(一)环境搭建
MicrosoftVisualc++6.0
(二)设计分析
在头文件分别建立五个类,一个图书类,一个图书库类,一个读者类,一个读者,图书管理系统类。
在源文件定义登录界面、登录方法、界面方法、服务方法,在服务方法里分别写出:
借书、还书、读者维护、图书维护、退出。
登录方法:
判断3次,如果3次错误,则锁定用户名。
在函数实现文件里定义用户名和密码,
借书模块包括4种,不存在读者,不存在图书,借书成功、书已借出不能借书。
还书模块包括3种,不存在图书、不存在读者、还书成功。
读者维护模块:
新增、更改、删除、查找、显示、全删、退出。
图书维护模块:
新增、更改、删除、查找、显示、全删、退出。
(三)程序结构(流程图)
No
✧第三章程序模块代码与运行结果截图
(一)管理员用户登录模块代码
//定义登陆方法
voidLibrary01:
:
login(stringn,stringp)
{
if(name==n&&pass==p)
{
jiemian();
}
else
{
i=i+1;
if(i<=3)
{
cout<<"\n用户名或者密码错误,请重新输入!
"<loginjiemian();
}
else
{
cout<<"\n输入错误过多,您的用户名被锁定,请到有关部门处理";
}
}
}
(二)初始界面
//定义界面方法
voidLibrary01:
:
jiemian()
{
cout<<"\n\n********************图书馆管理系统********************"<cout<<"\n\n1、借书2、还书"<cout<<"\n\n3、读者维护4、图书维护"<cout<<"\n\n5、离开"<cout<<"\n\n******************************************************"<cout<<"请选择你所需要的服务:
";
cin>>s;
serve(s);
}
输入相应界面的数字进入该界面
(三)图书维护
voidLibrary01:
:
bookdata()
{
charchoice;
charbname[40];
intbookid;
Book*b;
while(choice!
='0')
{
cout<<"\n\n\n\t\t\t图书维护"<cout<<"\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t7退出"<cin>>choice;
switch(choice)
{
case'1':
cout<<"输入图书编号:
"<cin>>bookid;
cout<<"输入图书书名:
"<cin>>bname;
book.addbook(bookid,bname);
break;
case'2':
cout<<"输入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
cout<<"输入新的书名:
"<cin>>bname;
b->setname(bname);
break;
case'3':
cout<<"读入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
b->delbook();
break;
case'4':
cout<<"读入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
b->disp();
break;
case'5':
book.disp();
break;
case'6':
book.clear();
cout<<"全部删除成功!
请重新录入信息!
";
break;
case'7':
jiemian();
break;
default:
cout<<"输入错误,请从新输入:
";
}
}
}
选择4,进入图书维护界面,注册图书;
1)图书新增
case'1':
cout<<"输入图书编号:
"<cin>>bookid;
cout<<"输入图书书名:
"<cin>>bname;
book.addbook(bookid,bname);
break;
2)图书更改
case'2':
cout<<"输入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
cout<<"输入新的书名:
"<cin>>bname;
b->setname(bname);
break;
3)图书删除
case'3':
cout<<"读入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
b->delbook();
break;
4)图书查找
case'4':
cout<<"读入图书编号:
"<cin>>bookid;
b=book.query(bookid);
if(b==NULL)
{
cout<<"该图书不存在"<break;
}
b->disp();
break;
5)图书显示
case'5':
book.disp();
break;
6)图书全删
case'6':
book.clear();
cout<<"全部删除成功!
请重新录入信息!
";
break;
7)退出
case'7':
jiemian();
break;
default:
cout<<"输入错误,请从新输入:
";
返回到初始界面
(四)读者维护
voidLibrary01:
:
readerdata()
{
charchoice;
charrname[20];
Reader*r;
while(choice!
='0')
{
cout<<"\n\n\n\t\t读者维护"<cout<<"\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t7退出"<cin>>choice;
switch(choice)
{
case'1':
cout<<"输入读者编号:
";
cin>>readerid;
cout<<"输入读者姓名:
";
cin>>rname;
reader.addreader(readerid,rname);
break;
case'2':
cout<<"输入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
cout<<"输入新的姓名:
";
cin>>rname;
r->setname(rname);
break;
case'3':
cout<<"输入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
r->delbook();
break;
case'4':
cout<<"读入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
r->disp();
break;
case'5':
reader.disp();
break;
case'6':
reader.clear();
cout<<"全部删除成功!
请重新录入信息!
";
break;
case'7':
jiemian();
break;
default:
cout<<"输入错误,请从新输入:
";
break;
}
}
}
1)读者新增
case'1':
cout<<"输入读者编号:
";
cin>>readerid;
cout<<"输入读者姓名:
";
cin>>rname;
reader.addreader(readerid,rname);
break;
2)读者更改
case'2':
cout<<"输入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
cout<<"输入新的姓名:
";
cin>>rname;
r->setname(rname);
break;
3)读者删除
case'3':
cout<<"输入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
r->delbook();
break;
4)读者查找
case'4':
cout<<"读入读者编号:
";
cin>>readerid;
r=reader.query(readerid);
if(r==NULL)
{
cout<<"该读者不存在"<break;
}
r->disp();
break;
5)读者显示
case'5':
reader.disp();
break;
6)读者全删
case'6':
reader.clear();
cout<<"全部删除成功!
请重新录入信息!
";
break;
7)退出
case'7':
jiemian();
break;
default:
cout<<"输入错误,请从新输入:
";
break;
(五)借书
voidLibrary01:
:
jieshu()
{
Reader*r;
Book*b;
cout<<"读者编号:
";
cin>>readerid;
cout<<"图书编号:
";
cin>>bookid;
r=Reader1.query(readerid);//按编号查找
if(NULL==r)
{
cout<<"不存在该读者,不能借书"<}
b=Book1.query(bookid);
if(b==NULL)
{
cout<<"不存在该图书,不能借书"<}
if(b->borrowbook()==0)
{
cout<<"该图书已借出,不能借书"<}
r->borrowbook(b->getno());
cout<<"借书成功!
"<jiemian();
}
(六)还书
voidLibrary01:
:
huanshu()
{
Reader*r;
Book*b;
cout<<"读者编号:
";
cin>>readerid;
cout<<"图书编号:
";
cin>>bookid;
r=Reader1.query(readerid);
if(r==NULL)
{
cout<<"不存在该读者,不能还书"<}
b=Book1.query(bookid);
if(b==NULL)
{
cout<<"不存在该图书,不能还书"<}
b->retbook();
r->retbook(b->getno());
cout<<"还书成功!
"<jiemian();
}
(七)离开
case'7':
jiemian();
break;
default:
cout<<"输入错误,请从新输入:
";
break;
✧第四章操作方法及实验过程
第一步:
输入用户名及密码进入到初始界面。
输入你的用户名和密码,按回车
第二步:
进入图书维护。
输入4进入图书维护,按回车
1)新增图书(输入图书编号,输入图书书名,输出新增图书成功!
)
输入1新增图书,按回车
输入图书书名,按回车
输入图书编号,按回车
2)更改图书(输入图书编号,输入新图书书名,输出更改书名成功!
)
输入2,按回车
显示新增图书成功!
新增图书成功!
输入图书编号,按回车
3)删除图书(输入图书编号,输出删除图书成功!
)
输入图书编号,按回车
输入3,按回车
删除图书成功!
4)查找图书(输入图书编号,输出书籍名,是否在架)
输入4,按回车
输入图书编号,按回车
5)
输入5,按回车
显示图书(输出图书编号、书籍名及是否在架)
输出
6)全删(输出全部删除成功!
请录入新的信息)
输入6,按回车
7)退出(回到主页面)
输入7,按回车
回到主页面
第三步:
进入读者维护
输入3,按回车
1)新增读者(输入读者编号、输入读者姓名、输出新增用户成功!
)
输入读者编号,按回车
输入1,按回车
输入读者姓名,按回车
2)更改读者(输入读者编号、输入读者的新姓名、输出更改读者成功!
)
输入读者编号,按回车
输入2,按回车
输入读者新姓名,按回车
3)删除读者(输入读者编号,输出该读者不存在或删除成功!
)
输入读者编号,按回车
输入3,按回车
4)查找读者(输入读者编号,输出读者编号、姓名、借书编码)
输入4,按回车
5)显示读者(输出读者编号、姓名、借书编号)
输入5,按回车
输入读者编号,按回车
6)全删(输出全部删除成功!
请录入新的信息)
输入6,按回车
7)退出(回到主页面)
输入7,按回车
回到初始界面
第三步:
借书(输入读者编号、图书编号,输出借书成功!
)
输入1,按回车
输入图书编号,按回车
输入读者编号,按回车
第四步:
还书(输入读者编号、图书编号,输出还书成功!
)
输入2,按回车
输入图书编号,按回车
输入读者编号,按回车
第五步:
退出!
输入5,按回车
✧第五章项目心得
舒清清:
在这次《C++面向对象程序设计》双周实训中,我知道了团队编程的合作性和默契性是非常重要的。
每个人都各有分工,负责的模块也不一样。
编程的时候一定要把主要点注释清楚,否则一个团队的编程进度就非常的缓慢,而且容易出错。
我们团队三个人一个负责编程,一个负责项目报告,一个负责ppt答辩。
对于这种分工明确的项目就成功了一半,所以在以后的学习或者工作中我们首先要分析整个事情的可行性和便捷方法,就会事半功倍。
当然一个团队,队员的和睦,相互激励对一个团队来说是非常重要的,我们在遇到困难时不要先去抱怨,要相互扶持,互相鼓励。
在以后的C语言学习中,我们要学会学以致用。
把学到的函数,指针,语句……都应该要掌握得滚瓜烂熟。
在编具体程序时才会信手拈来。
经过这次实训,我发现了我平时掌握得知识根本不够用,才真正的了解了“书到用时方恨少”的含义。
所以以后不论学习什么科目,光靠平时上课的学习就根本不够,还需要在课下继续查阅资料。
这个项目让我们知道了团队合作的重要性