c++简单图书管理系统课设报告.docx
《c++简单图书管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《c++简单图书管理系统课设报告.docx(11页珍藏版)》请在冰豆网上搜索。
c++简单图书管理系统课设报告
课程设计报告书
学生班级:
学生学号:
指导教师:
设计时间:
2015.7.3
一.需求分析
序号
功能
说明
1
对书籍的添加
书籍名,编号等
2
对书籍查阅
输入编号或书名查找
3
修改书籍信息
4
删除书籍信息
2.总体设计
1.类图
2.流程图
3.详细设计
#include
#include
#include
#include
#include
usingnamespacestd;
structEmployee
{
stringm_Name;
stringm_Adress;
stringm_ID;
stringm_Year;
stringm_Type;
stringm_Department;
structEmployee*Next;
};
typedefstructEmployeeNode;
typedefNode*Link;
LinkCreate(LinkHead);
LinkAdd(LinkHead);
boolSearch(LinkHead);
LinkSearch_Unique(LinkHead);
voidDisplay_List(LinkHead);
voidDisplay_Node(LinkpNode);
LinkModify(LinkHead);
LinkDel(LinkHead);
LinkSort(LinkHead);
intmain()
{
system("colorf0");
LinkHead=0;
Head=Create(Head);
intmenu;
while
(1)
{
cout<<"*************************************************"<cout<<"菜单选顶"<cout<<""<cout<<"1.录入书籍信息"<cout<<"2.按书籍编号修改"<cout<<"3.按书籍编号删除"<cout<<"4.书籍信息查询"<cout<<"5.保存文件"<cout<<"0.退出"<cout<<""<cout<<"**************************************************"<
cout<";
cin>>menu;
switch(menu)
{
case0:
cout<<"************************************"<cout<<"*成功退出系统!
*"<cout<<"*谢谢你的使用!
*"<cout<<"************************************"<return0;
case1:
Head=Add(Head);
break;
case2:
Head=Modify(Head);
break;
case3:
Head=Del(Head);
break;
case4:
Search(Head);
break;
default:
cout<<"输入错误!
"<}
}
return0;}
LinkCreate(LinkHead)
{
Head=(Link)newNode;
if(!
Head)
{
cout<<"分配内存失败!
"<returnNULL;
}
Head->m_Adress="";
Head->m_Name="";
Head->m_Type="";
Head->m_ID="";
Head->m_Year="";
Head->Next=NULL;
returnHead;
}
LinkAdd(LinkHead)
{
LinkpNew;
chara;
stringname,id,adress,type;
intyear;
do
{
pNew=(Link)newNode;
cout<";
cin>>name;
cout<";
cin>>type;
cout<";
cin>>year;
cout<";
cin>>adress;
cout<";
cin>>id;
cout<pNew->m_Name=name;
pNew->m_Type=type;
pNew->m_ID=id;
pNew->m_Year=year;
pNew->m_Adress=adress;
pNew->Next=Head->Next;
Head->Next=pNew;
cout<<"数据添加成功!
是否继续添加?
(Y/N)"<cin>>a;
}
while(a=='Y'||a=='y');
returnHead;
}
boolSearch(LinkHead)
{
Linkptr;
stringdepartment;
stringname;
ptr=Head->Next;
cout<";
cin>>name;
cout<cout<<<<<cout<<"************************************************"<while(ptr)
{
if((ptr->m_Name==name))
{
Display_Node(ptr);
returntrue;
}
ptr=ptr->Next;
}
cout<<"查无此书!
"<returnfalse;
}
LinkSearch_Unique_Front(LinkHead)
{
Linkptr;
stringid;
ptr=Head;
cout<<"请输入要查询的书籍编号:
";
cin>>id;
cout<cout<<"***************************************************"<while(ptr->Next)
{
if(ptr->Next->m_ID==id)
returnptr;
ptr->Next=ptr->Next->Next;
}
returnptr;
}
voidDisplay_List(LinkHead)
{
Linkptr;
ptr=Head->Next;
cout<<"**********************所有个人信息**********************"<cout<<<<<cout<<"********************************************************"<while(ptr)
{
Display_Node(ptr);
ptr=ptr->Next;
}
cout<<"********************************************************"<}
voidDisplay_Node(LinkpNode)
{
cout<m_ID
<m_Name
<m_Type
<m_Year
<m_Adress<}
LinkModify(LinkHead)
{
Linkptr;
ptr=Search_Unique_Front(Head);
stringid,name,adress,type;
unsignedintyear;
if(ptr->Next)
{
cout<<"*****************请修改!
***************************"<cout<<"请输入书籍编号:
";
cin>>id;
cout<";
cin>>name;
cout<";
cin>>type;
cout<";
cin>>year;
cout<";
cin>>adress;
cout<ptr->Next->m_ID=id;
ptr->Next->m_Name=name;
ptr->Next->m_Type=type;
ptr->Next->m_Year=year;
ptr->Next->m_Adress=adress;
cout<<"修改信息成功!
"<}
else
cout<<"没找到此书记录,无法修改。
"<returnHead;
}
LinkDel(LinkHead)
{
Linkptr;
Linkptr_front;
ptr_front=Search_Unique_Front(Head);
ptr=ptr_front->Next;
if(ptr)
{
ptr_front->Next=ptr->Next;
deleteptr;
}
cout<<"删除信息成功!
。
"<returnHead;
}
4.程序运行结果测试与分析
1.添加信息
2.修改信息
3.删除信息
4.查看信息
五.心得体