1、数据结构书店图书管理系统 书店图书管理程序的设计与实现摘要:本学期我们对数据结构进行了学习。这门课程实践性非常强,为了让我们能够掌握所学的知识,并能够灵活的运用,我们进行了此次课程设计。该设计要求掌握数据结构的内容,也需要一定的c语言基础。 课程设计的目的是:熟练掌握基本的数据结构,熟练掌握各种算法,运用高级语言编写质量高、风格好的应用程序。对于“书店图书管理程序的设计与实现”这个题目来说,要求掌握的主要有:线性表的存储结构及其相关操作算法,查找的相关算法,文件的保存与读取等等。通过此次课程设计,能够进一步的加深对数据结构的理解,同时也提高动手实践能力,进一步熟练了对visual C+平台的使
2、用。 关键字:查找,线性表,保存,读取 1.引言:中小型书店、个体书店其日常管理工作都是人工操作,历史数据很难保存和利用,对于书店的经营非常不利。针对这种状况,开发一个面向中小型书店、个体书店的图书管理系统,实现对人员、物流的全面管理,以帮助这些书店早日实现书店管理信息化。2.需求分析:书店管理员能将书的信息输入到系统书库中书店管理员能对书库内的信息进行查询,删除及修改书店管理员对销售信息进行查询 顾客对书店书目进行查询,并决定是否购买3.数据结构设计: Struct Book:书的基本信息 Struct BookList:链表用以存放从书库内读取的所有信息 4.算法设计:4.1管理员向书库内
3、输入信息: 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(n); printf(n); printf(书号 书名 作者 进价(元) 售价(元) 库存总量 现存量 销售额 n); sc
4、anf(%s,book.No); command=book.No0; if(command!=r&command!=q) scanf(%s,book.Name); 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) C
5、learBook(&book); scanf(%s,book.No); command=book.No0; if(command=r|command=q) break; scanf(%s,&book.Name); 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); fflus
6、h(stdin); SaveData(Books); if(command=r) /返回管理员界面 Manager(); else if(command=q) /退出 system(exit); 4.2 管理员查询算法: void Query(BookList* Books) int i; char command; char QueryChoose100;Block1:memset(QueryChoose,0,100);system(cls); printf(n); printf(n); printf( -n); printf( * *n); printf( * 1 2 *n); print
7、f( * 3 4 *n); printf( * *n); printf( -n); for(i=1;i=80;i+) printf(*); printf( Command List: 按书号查询1 按书名查询:2 按作者查询:3n); printf( 所有书目信息:4 返回上一级: r 退出系统3: qn); for(i=1;i-); command=getchar(); fflush(stdin);while(command!=1&command!=2&command!=3&command!=4&command!=r&command!=q) printf(%c为无效内部命令n,command
8、); printf(Enter a command -); command=getchar(); fflush(stdin); switch(command) case 1: /按书号查询Block2:printf(输入要查询的书号(输入e跳出输入); scanf(%s,QueryChoose); fflush(stdin); if(QueryChoose0=e) goto Block1; QueryBookList(Books,QueryChoose); goto Block2; break;case 2: /按姓名删除 Block3:printf(输入要查询的书名(输入e跳出输入); sc
9、anf(%s,QueryChoose); fflush(stdin); if(QueryChoose0=e) goto Block1; QueryBookList1(Books,QueryChoose); goto Block3; break; case 3: /按作者删除Block4:printf(输入要查询的作者(输入e跳出输入); scanf(%s,QueryChoose); fflush(stdin); if(QueryChoose0=e) goto Block1; QueryBookList2(Books,QueryChoose); goto Block4; break; case
10、4: /所有书目system(cls); QueryAll(Books); system(pause); goto Block1; break; case r: /返回 Manager();break; case q: /退出 system(exit);break; default: break; 4.3 管理员删除算法:char Delete(BookList* Books) int i; char command; char DeleteChoose100;Block1:memset(DeleteChoose,0,100);system(cls); printf(n); printf(n)
11、; printf( -n); printf( * *n); printf( * 1 2 3 *n); printf( * *n); printf( -n); for(i=1;i=80;i+) printf(*); printf( Command List: 按书号删除:1 按书名删除:2 按作者删除:3n); printf( 返回上一级: r 退出系统3: qn); for(i=1;i-); command=getchar(); fflush(stdin); while(command!=1&command!=2&command!=3&command!=r&command!=q) printf
12、(%c为无效内部命令n,command); printf(Enter a command -); command=getchar(); fflush(stdin); switch(command) case 1: /按书号删除Block2:printf(输入要删除的书号(输入e跳出输入); scanf(%s,DeleteChoose); fflush(stdin); if(DeleteChoose0=e) /保存删除后的数据,并退出此删除模式 SaveData1(Books); goto Block1; DeleteBookList(Books,DeleteChoose); goto Block2; break; case 2: /按姓名删除 Block3:prin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1