VC++课程设计图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计题目:
图书管理系统
二、功能描述
1工作人员登陆后,可以进行的操作:
(1)添加学生的信息(学号,姓名,院系,最大借阅的图书数量等);
(2)修改学生的信息(学号,姓名,院系,最大借阅的图书数量);
(3)删除学生的信息(学号,姓名,院系,最大借阅的图书数量),如果某个学生退学,就要清除他的信息;
(4)查看学生的信息;
(5)添加图书的信息(图书号,书名,作者,出版社,数量等);
(6)修改图书的信息(图书号,书名,作者,出版社,数量等);
(7)删除图书的信息(图书号,书名,作者,出版社,数量等);
(8)查看图书的信息;
2 学生登陆后,可以进行的操作:
(1)查看学生自己借阅的数目信息;
(2)借阅图书;
(3)归还图书;备注:要求将学生和图书信息存放到外存上,每次从外存读取数据。
三、模块的功能与联系
return 1;
}
return 0;
}
Reader *query(int readerid)etno()==readerid && read[i].gettag()==0)
{
return &read[i];
}
return NULL;
}
void disp() isp();
}
void readerdata();ettag()==0)
((char *)&read[i],sizeof(read[i]));
();
}
};
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 1 新增\n\n\t\t 2 更改\n\n\t\t 3 删除\n\n\t\t 4 查找\n\n\t\t 5 显示\n\n\t\t 6 全删\n\n\t\t 0 退出"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout << "输入读者编号:";
cin >> readerid;
cout << "输入读者姓名:";
cin >> rname;
addreader (readerid,rname);
break;
case '2':
cout << "输入读者编号:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout << " 该读者不存在 "<<endl;
break;
}
cout << "输入新的姓名:";
cin >> rname;
r->setname(rname);
break;
case '3':
cout << " 输入读者编号:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<" 该读者不存在" << endl; break;
}
r->delbook();
break;
case '4':
cout << "读入读者编号:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<"该读者不存在"<< endl; break;
}
r->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"输入错误,请从新输入:";break;
}
}
}
ddbook(n,na);
return 1;
}
return 0;
}
Book *query(int bookid)etno()==bookid &&book[i].gettag()==0) {
return &book[i];
}
return NULL;
}
void bookdata();ettag()==0)
book[i].disp();
}
~BDatabase()ettag()==0)
((char *)&book[i],sizeof(book[i]));
();
}
};
void BDatabase::bookdata()
{
char choice;
char bname[40];
int bookid;
Book *b;
while (choice!='0')
{
cout <<"\n\n\n\t\t\t图书维护 "<<endl<<endl;
cout<<"\t\t1 新增\n \t\t2 更改\n\t\t3 删除\n\t\t4 查找\n\t\t5 显示\n\t\t6 全删\n\t\t0 退出"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout << "输入图书编号:"<<endl;
cin >> bookid;
cout << "输入图书书名:"<<endl; cin >> bname;
addbook(bookid,bname);
break;
case '2':
cout << "输入图书编号:"<<endl; cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout << " 该图书不存在 "<<endl; break;
}
cout << "输入新的书名:"<<endl; cin >> bname;
b->setname(bname);
break;
case '3':
cout <<" 读入图书编号:"<<endl; cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 该图书不存在" << endl; break;
}
b->delbook();
break;
case '4':
cout << " 读入图书编号:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 该图书不存在"<< endl;
break;
}
b->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"输入错误,请从新输入:"; }
}
}
//main() 函数的实现,程序的主界面的引导
void main()
{
char choice;
int bookid,readerid;
RDatabase ReaderDB;
Reader *r;
BDatabase BookDB;
Book *b;
while(choice!='0')
{
cout <<endl<<endl<<"\t\t\t 图书管理系统\n\n\n";
cout <<"\t\t\t1 借书\n\n\t\t\t2 还书 \n\n\t\t\t3 图书维护\n\n\t\t\t4 读者维护\n\n\t\t\t0 离开"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout <<" 借书读者编号:";
cin >>readerid;
cout <<" 图书编号: ";
cin >>bookid;
r=(readerid);//按编号查找
if (NULL==r)
{
cout <<" 不存在该读者,不能借书"<< endl; break;
}
b=(bookid);
if (b==NULL)
{
cout <<" 不存在该图书,不能借书"<< endl; break;
}
if (b->borrowbook()==0)
{
cout << " 该图书已借出,不能借书"<< endl; break;
}
r->borrowbook(b->getno());
break;
case '2':
cout<<"还书\n 读者编号:";
cin >>readerid;
cout << " 图书编号:";
cin >>bookid;
r=(readerid);
if (r==NULL)
{
cout <<" 不存在该读者,不能还书" << endl; break;
}
b=(bookid);
if (b==NULL)
{
cout <<" 不存在该图书,不能还书" <<endl; break;
}
b->retbook();
r->retbook(b->getno());
break;
case '3':
();
break;
case '4':
();
break;
default:cout<<"输入错误,请从新输入:"; }
}
}
五、运行效果
1界面
2借书
3还书
4图书维护
5读者维护
六、存在不足即预期解决方法
1查找到图书后,无法显示是否已借出。
解决方法:通过编程,显示所查找图书状态。
若借出,显示归还日期;若没借出,显示图书放置地址。
2无法显示图书的具体信息
解决方法:在选择图书维护中的显示后,显示该图书的作者等信息。
七、心得体会
Visual C++是一门十分深奥的的课程。
对于编译人员,Visual C++是一种非常有用的工具。
在学习VC++的过程中,不能光看书,实际的操作才是最有用的。
学习时,不妨边学边做一些题目,通过不断的编译、修改,更好的运用VC++。
八、参考文献
Visual C++应用教程
VC驿站。