数据结构书店图书管理系统

  • 格式:doc
  • 大小:232.03 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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'&&