数据结构书店图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
书店图书管理程序的设计与实现
摘要:本学期我们对《数据结构》进行了学习。这门课程实践性非常强,为了让我们
能够掌握所学的知识,并能够灵活的运用,我们进行了此次课程设计。该设计要求掌握数
据结构的内容,也需要一定的c语言基础。
课程设计的目的是:熟练掌握基本的数据结构,熟练掌握各种算法,运用高级语言
编写质量高、风格好的应用程序。对于“书店图书管理程序的设计与实现”这个题目来说,
要求掌握的主要有:线性表的存储结构及其相关操作算法,查找的相关算法,文件的保存
与读取等等。
通过此次课程设计,能够进一步的加深对数据结构的理解,同时也提高动手实践能力,
进一步熟练了对visual C++平台的使用。
关键字:查找,线性表,保存,读取
1.引言:中小型书店、个体书店其日常管理工作都是人工操作,历史数据很难保存和利用,对于书店的经营非常不利。针对这种状况,开发一个面向中小型书店、个体书店的图书管理系统,实现对人员、物流的全面管理,以帮助这些书店早日实现书店管理信息化。
2.需求分析:①书店管理员能将书的信息输入到系统书库中②书店管理员能对书库内的信息进行查询,删除及修改③书店管理员对销售信息进行查询④顾客对书店书目进行查询,并决定是否购买
3.数据结构设计:
Struct Book:书的基本信息
Struct BookList:链表用以存放从书库内读取的所有信息
4.算法设计:
4.1管理员向书库内输入信息:
void Input(BookList* Books)
{
char command;
Book book;
int i;
ClearBook(&book);
system("cls");
for(i=1;i<=80;i++)
printf("*");
printf(" 请输入要添加书的信息\n");
printf("Command list: 输入完毕,返回上级: r 退出系统:q \n");
for(i=1;i<=80;i++)
printf("*");
printf("\n");
printf("<特别注意如果某项信息不存在请务必输入0或¨- 代替>\n");
printf("\n");
printf("书号书名作者进价(元)售价(元) 库存总量现存量销售额\n");
scanf("%s",book.No);
command=book.No[0];
if(command!='r'&&command!='q')
{
scanf("%s",);
scanf("%s",book.Author);
scanf("%f",&book.Inprice);
scanf("%f",&book.Outprice);
scanf("%d",&book.Total);
scanf("%d",&book.Biomass);
scanf("%d",&book.Sales);
fflush(stdin);
InsertBookList(Books,book);
while(command!='r'&&command!='q')
{
ClearBook(&book);
scanf("%s",book.No);
command=book.No[0];
if(command=='r'||command=='q')
break;
scanf("%s",&);
scanf("%s",book.Author);
scanf("%f",&book.Inprice);
scanf("%f",&book.Outprice);
scanf("%d",&book.Total);
scanf("%d",&book.Biomass);
scanf("%d",&book.Sales);
fflush(stdin);
InsertBookList(Books,book);
}
}
fflush(stdin);
SaveData(Books);
if(command=='r')
{//返回管理员界面
Manager();
}
else if(command=='q')
{//退出
system("exit");
}
}
4.2 管理员查询算法:
void Query(BookList* Books)
{
int i;
char command;
char QueryChoose[100];
Block1:memset(QueryChoose,'\0',100);
system("cls");
printf("\n");
printf("\n");
printf(" -------------------------------------------------------------------\n");
printf(" * *\n");
printf(" * 1 <按书号查询> 2 <按书名查询> *\n");
printf(" * 3 <按作者查询> 4 <所有书目信息> *\n");
printf(" * *\n");
printf(" -------------------------------------------------------------------\n");
for(i=1;i<=80;i++)
{
printf("*");
}
printf(" Command List: 按书号查询1 按书名查询:2 按作者查询:3\n");
printf(" 所有书目信息:4 返回上一级: r 退出系统3: q\n");
for(i=1;i<=80;i++)
{
printf("*");
}
printf("Enter a Command>>-");
command=getchar();
fflush(stdin);
while(command!='1'&&command!='2'&&command!='3'&&command!='4'&&command!='r'&&