基于C语言图书登记管理系统的设计与实现

上传人:仙*** 文档编号:28336165 上传时间:2021-08-26 格式:DOC 页数:88 大小:3.67MB
收藏 版权申诉 举报 下载
基于C语言图书登记管理系统的设计与实现_第1页
第1页 / 共88页
基于C语言图书登记管理系统的设计与实现_第2页
第2页 / 共88页
基于C语言图书登记管理系统的设计与实现_第3页
第3页 / 共88页
资源描述:

《基于C语言图书登记管理系统的设计与实现》由会员分享,可在线阅读,更多相关《基于C语言图书登记管理系统的设计与实现(88页珍藏版)》请在装配图网上搜索。

1、图书登记管理系统北京交通大学图书登记管理系统基于C语言图书登记管理系统的设计与实现设计者:软件1103:指导教师:目录基于C语言图书登记管理系统1图书登记管理系统41.需求分析41.1系统介绍41.2基础功能41.2.1图书入库41.2.2图书清库41.2.3图书查找51.2.4信息修改51.2.5其它功能61.3开发环境与开发语言61.3.1开发环境61.3.2开发语言62. 系统整体架构72.1系统架构图72.2文件和函数列表82.2.1列表82.2.2头文件设计92.3函数调用关系图102.3.1由main()起始的调用102.3.2由addBook()起始的调用112.3.3由delB

2、ook()起始的调用112.3.4由alterInfo()起始的调用123.系统的详细设计133.1公共模块133.1.1 主函数133.1.2主菜单153.1.3 读取文件163.1.4 输出文件173.1.5 二分法查找193.1.6 文件TotalAndMid.c中包含的函数设计213.1.7 密码函数273.2图书入库模块303.2.1图书入库界面菜单303.2.2图书入库功能333.3图书清库模块363.3.1图书清库界面菜单363.3.2图书清库功能393.4 图书查找模块423.4.1图书查找界面菜单423.4.2图书查找功能453.5信息修改模块523.5.1信息修改界面菜单5

3、23.5.2信息修改功能553.5.3信息修改界面子菜单583.6其它功能模块593.6.1其它功能界面菜单593.6.2密码设置功能624.心得体会655.程序源代码655.1 boinfo.h655.2 mylib.h665.3 addBook.c665.4 altBook.c685.5 binarySearch.c705.6 delBook.c715.7 getFileV2.c715.8 library.c725.9 menu.c745.10 menu1V2.c755.11 menu2.c765.12 menu3.c775.13 menu4-1.c785.14 menu4.c805.15

4、 menu5.c815.16 password.c835.17 putFile.c835.18 searchByIsbn.c845.19 searchByKwords.c845.20 searchByPress.c855.21 setPassword.c865.22 TotalAndMid.c86图书登记管理系统1.需求分析1.1系统介绍这是一个简易的图书登记管理系统,主要面向书店.阅览室等单位的图书登记。该系统操作简单,能实现对图书的入库.清库.查询和对图书信息的修改功能。例如,在入库功能中,用户可以将图书信息输入系统并保存;在清库功能中,用户可以删除一些不想要的图书信息;在查询功能中,用户

5、可通过输入图书编号.关键字或出版社找到自己需要的图书;在修改功能中,用户可以实现对以保存的各种信息的修改。此列密码设置功能可以使用户设置系统登录密码来保保内部信息。同时系统还提供一些统计各类信息的功能。通过这个登记管理系统,用户可以实现对大量图书的有效管理,使重复而繁琐的工作简单化,以此来提高图书管理的效率。1.2基础功能1.2.1图书入库用户可能通过此功能将图书信息录入系统,需要输入的信息有:ISBN书号.书名.出版社.价格.作者.出版时间.版次.数量等。在使用该功能时,首先用户需要根据主菜单提示输入选项进入图书入库界面,在此界面用户可以选择增加图书或返回上一级菜单;然后,当用户选择增加图书

6、后,系统会出现明确的提示语(包括输入的数据内容,格式及结束方式等),用户按照提示语逐条对所需信息进行输入;输入完成后,系统会记录图书录入时间,并提示信息录入完成。同时随着信息的输入,数据会被存入文件中,以免丢失。输入完成后,系统返回图书入库界面,用户可以继续选择增加图书或返回上一级菜单。1.2.2图书清库当某本书已经没有保存价值,用户需要删除该书的信息时,可通过此功该书的信息从数据文件中删除。首先用户在主菜单界面选择图书清库功能,进入图书清库界面,此时系统从数据文件读入数据,并保存在结构体数组中。在此界面用户可以选择删除图书或返回上一级菜单。当用户选择删除图书后,在操作界面会显示提示语,要求用

7、户输入书号来找到想要删除的图书,并将所找到的图书的信息显示出来,方便用户确认,然后系统会显示确认信息(确认删除图书信息?y/n),询问用户是否确认删除,若用户输入y,则该书的信息被删除;若用户输入n,则取消删除,程序返回图书清库界面,用户可以继续选择删除图书或返回上一级菜单。当用户退出该界面时,系统重新生成数据文件来保存数据。1.2.3图书查找为方便用户快速找到自己所需要的图书,本系系统设有三种图书查询方式,包括书号查询.关键字查询.出版社查询。用户可以根据以有信息选取合适的查询方式,找到图书。当用户需要查询某本书时,首先需要根据主菜单提示输入选项进入图书查询界面,在此界面,用户可以选择按书号

8、查询.按关键字查询.按出版社查询的返回上一级菜单,然后系统提示,请选择一种查询方式,系统根据用户选择进入相应的查询方式。当按书号查询时,系统提示需要输入书号,若程序查询到该书,则将显示与该书有关的所有信息,若没有查到该书,则显示查无此书;当按关键字查询时,用户可以输入与该书有关的任何关键字,系统会在书名.作者中查找,若程序查询到该书,则将显示与该书有关的所有信息,若没有查到该书,则显示查无此书;当按出版社查询时,系统将要求用户输入出版社名,然后程序开始查找此书,若程序查询到该书,则将显示与该书有关的所有信息,若没有查到该书,则显示查无此书。每次查询完成,系统会提示继续查询或返回上一级菜单,若继

9、续查询,则系统返回图书查询界面,用户可以继续选择合适的查询方式查找图书。1.2.4信息修改在用户发现输入的图书信息有误或需要对信息进行修改时,便可以用此项功能方便.快捷的更正图书信息。当用户需要修改某本图书的信息时,首先根据主菜单提示输入选项进入信息修改界面,在此界面会用户可以选择修改图书信息或返回上一级菜单。若用户选择修改图书信息,系统会要求用户输入书名或书号来找到待修改的图书;找到该书后,系统显示该书的所有信息,并提示用户选择要修改的信息:ISBN书号.书名.出版社.价格.作者.出版时间.版次.数量。用户选择一项内容进行修改。每完成一次修改,系统提示继续当前图书或返回信息修改界面,若选择继

10、续当前图书,则系统提示用户选择要修改的项目,进行信息修改。若返回信息修改界面,用户可以继续修改其它图书或返回主菜单。1.2.5其它功能1.2.5.1密码设置用户可从主菜单进入密码设置界面,设置系统登录密码,以免他人随便登录系统对保存的信息进行修改或查询。若用户已经设置登录密码,则每次进入系统都需要输入密码,方能进入主菜单;若用户不进行密码设置,则每次进入系统直接显示主菜单。1.2.5.2信息统计本系统提供一些简单的统计功能。例如,输出各种书的数量.输出某个出版时间出版的书.输出某个出版社的出版的图书.输出某个价格范围内的图书等1.3开发环境与开发语言1.3.1开发环境基于Visual Stdi

11、o 2008的C语言Windows集成开发环境1.3.2开发语言C语言2. 系统整体架构2.1系统架构图图书登记管理系统登录密码主菜单图书清库图书查询图书入库信息修改找到待修改图书按出版社查询按书号查询按关键字查询找到待删除图书输入图书信息,记录入库时间选择修改内容删除并导出数据文件导出数据 文件修改信息显示图书信息用户操作进入菜单设置密码其它功能返回上一级菜单退出系统统计信息图2-12.2文件和函数列表2.2.1列表模块文件名文件中包含的函数说明头文件boinfo.h自定义数据类型图书信息结构体mylib.h子函数声明源文件程序主体library.cint main()主函数程序菜单menu

12、.cvoid menu()主菜单menu1V2.cvoid menu1()入库模块菜单menu2.cvoid menu2()删除模块菜单menu3.cvoid menu3()查询模块菜单menu4.cvoid menu4()修改模块菜单menu4-1.cvoid menu4_1()修改模块子菜单menu5.cvoid menu5()拓展模块菜单通用函数getFile.cvoid getFile(bookInfo)输出数据文件putFile.cvoid putFile(bookInfo)输入数据文件TotalAndMid.cvoid initialTotal()void initialMid()

13、void inTotal(int *)void inMid(int *)void outTotal(int)void outMid(int)包含6个对变量mid和tota处理的函数lbinarySearch.cvoid binarySearch(bookInfo,char )二分法查找书好入库模块addBook.cvoid addBook(bookInfo)增加新书删除模块delBook.cvoid delBook(bookInfo,char )删除图书查询模块searchByIsbn.cvoid searchByIsbn(bookInfo)按书号查询searchByKwords.cvoid

14、searchByKword(bookInfo,int)按关键字查询searchByPress.cvoid searchByPress(bookInfo,int)按出版社查询修改模块alterBook.cvoid alterInfo(bookInfo,char )修改图书信息拓展模块password.cint password()获取用户输入的密码setPassword.cvoid setPassword()设置密码表2-12.2.2头文件设计2.2.2.1 boinfo.h文件文件名.boinfo.h作用包含与图书信息有关的结构体的定义自定义数据类型名struct bookInfo成员类型成员

15、变量名功能charisbn25ISBN书号charname20书名charpress20出版社charauthor20作者floatprice价格intnumber数量intedition版次charpublishTime20出版时间chartime20入库时间表2-22.2.2.2 mylib.h文件文件名mylib.h作用子函数声明函数类型函数名参数类型返回值类型voidmenu()voidmenu1()voidmenu2()voidmenu3()voidmenu4()voidmenu4_1()voidmenu5()voidgetFile()bookInfovoidputFile()boo

16、kInfovoidinitialTotal()voidinitialMid()voidinTotal()int *voidinMid()int *voidoutTotal()intvoidoutMid()intvoidbinarySearch()bookInfo,char voidaddBook()bookInfovoiddelBook()bookInfo,char 表2-32.3函数调用关系图2.3.1由main()起始的调用图2-22.3.2由addBook()起始的调用图2-32.3.3由delBook()起始的调用图2-42.3.4由alterInfo()起始的调用图2-53.系统的详

17、细设计3.1公共模块3.1.1 主函数 3.1.1.1 main()函数设计函数名称int main()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint控制循环inFileFILE *指向密码文件outFile1FILE *指向文件total.txtoutFile2FILE *指向文件mid.txt返回值0int全局变量无功能说明程序入口1.初始化文件total.txt和mid.txt2.判断是否需要输入密码,若需要,则用函数password()3.调用函数menu(),显示主菜单4.接收用户选择,调用相应函数制约和注意事项用户应该输入整数16异常处

18、理用户输入其他整数后报错,用do-while循环实现重复输入函数流程图表3-13.1.1.2 main()函数流程图图3-13.1.2主菜单3.1.2.1 menu()函数设计函数名称void menu()名称类型COMMENT参数列表无void变量列表无无返回值无void全局变量无功能说明显示主菜单制约和注意事项异常处理表3-23.1.2.2 menu()函数效果图图3-23.1.2.3 menu()函数流程图开始输出主菜单界面结束图3-33.1.3 读取文件3.1.3.1getFile()函数设计函数名称void getFile()名称类型COMMENT参数列表getbookInfo接收数

19、组地址变量列表totalint图书总数iintinFileFILE *指向文件bookInfo.bin返回值无void全局变量无功能说明显示拓展模块菜单1.调用函数inTotal (),获得当前图书总数2.打开文件3.将文件信息读入,保存在结构体数组里制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-33.1.3.1getFile()函数流程图图3-43.1.4 输出文件3.1.4.1 putFile()函数设计函数名称void putFile()名称类型COMMENT参数列表putbookInfo接收变量列表totalInt图书总数iintoutFileFILE *指向

20、文件bookInfo.bin返回值无void全局变量无功能说明显示拓展模块菜单1.打开文件2.将保存在结构体数组里的数据输出到文件制约和注意事项异常处理若无法成功打开文件,程序报错后退出表3-43.1.4.2 putFile()函数流程图图3-53.1.5 二分法查找3.1.5.1 binarySearch()函数设计函数名称void binarySearch()名称类型COMMENT参数列表findbookInfosearchNumchar 变量列表lowinthighintfoundintmidinttotalint返回值foundint全局变量无功能说明二分法查找比较书号,查到的位置保存

21、在mid中1、 读入total和mid的值2、 二分法查找3、 输出total和mid的值并返回结果制约和注意事项异常处理表3-53.1.5.1 binarySearch()函数流程图图3-63.1.6 文件TotalAndMid.c中包含的函数设计3.1.6.1 initialTotal()函数设计函数名称void initialTotal()名称类型COMMENT参数列表无变量列表totalintoutFileFILE *指向文件total.txt返回值无void全局变量无功能说明创建文件total.txt, 并初始化为0制约和注意事项异常处理若无法成功打开文件,程序报错后退出表3.1.6

22、.1图3-73.1.6.2 initialMid ()函数设计函数名称void initialMid()名称类型COMMENT参数列表无变量列表totalint图书总数iintoutFileFILE *指向文件mid.txt返回值无void全局变量无功能说明创建文件mid.txt, 并初始化为0制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-6图3-83.1.6.3 inTotal ()函数设计函数名称void inTotal()名称类型COMMENT参数列表tint *变量列表inFileFILE *指向文件total.txt返回值无void全局变量无功能说明读入文件

23、total.txt,获取当前图书总数制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-7图3-93.1.6.4 inMid ()函数设计函数名称void inMid()名称类型COMMENT参数列表mint *接收变量列表inFileFILE *指向文件mid.txt返回值无void全局变量无功能说明读入文件mid.txt,获取当前mid位置制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-8图3-103.1.6.5 outTotal ()函数设计函数名称void outTotal()名称类型COMMEN参数列表tint接受新的total值变量列表o

24、utFileFILE *指向文件total.txt返回值无void全局变量无功能说明将当前图书总数输出到文件total.txt 中保存制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-9图3-113.1.6.6 outMid ()函数设计函数名称void outMid()名称类型COMMENT参数列表mint接受新的mid值变量列表outFileFILE *指向文件mid.txt返回值无void全局变量无功能说明将当前图书总数输出到文件total.txt 中保存制约和注意事项异常处理若无法成功打开文件,程序报错后退出函数流程图表3-10图3-123.1.6.7 initi

25、albookInfo_bin ()函数设计3.1.7 密码函数3.1.7.1 password()函数设计函数名称void password()名称类型COMMENT参数列表addbookInfo变量列表passchar 20inFileFILE *keychar 20checkint返回值Checkint全局变量无功能说明获取用户输入的密码并比对1.读入文件password.bin中的密码2.要求用户输入密码3.调用函数strcmp()对密码进行比较4.返回结果制约和注意事项异常处理函数流程图表3-113.1.7.2 password()函数效果图图3-133.1.7.3 password(

26、)函数流程图图3-143.2图书入库模块3.2.1图书入库界面菜单3.2.1.1 menu1()函数设计函数名称void menu1()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint循环控制totalint图书总数addbookMAXbookInfo保存图书信息返回值无void全局变量无功能说明显示入库模块菜单1、 调用函数inTotal(),获得保存当前图书总数2、 接收用户选择 3、 调用函数addBook(),增加图书信息4、 返回主菜单,返回之前调用函数outTotal()保存当前图书总数制约和注意事项用户应该输入整数12异常处理用户输入其

27、他整数后报错,用do-while循环实现重复输入函数流程图表3-123.2.1.2 menu1()函数效果图图3-153.2.1.3 menu1()函数流程图开始定义变量输出图书入库菜单界面选择输入正确?重新输入 用户选择跳出 addBook()选择1outTotal()跳出 选择2结束图3.2.1.33.2.2图书入库功能3.2.2.1 addBook()函数设计函数名称void addBook()名称类型COMMENT参数列表addbookInfo变量列表iintentercharmidinttotalint返回值无void全局变量无功能说明要求用户输入图书信息,将信息输入到文件保存1、

28、读入total和mid的值2、 提示并接收用户输入的信息3、 输出total的值4、 将信息存入文件制约和注意事项异常处理表3-133.2.2.2 addBook()函数效果图图3.2.2.23.2.2.3 addBook()函数流程图图3-163.3图书清库模块3.3.1图书清库界面菜单3.3.1.1 menu2()函数设计函数名称void menu2()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint控制循环totalint图书总数book MAXbookInfo保存图书信息delNum25char保存删除的书的书号返回值无void全局变量无功能

29、说明显示清库模块菜单1.调用函数getFile(),获得以存储的图书信息2、 调用函数inTotal(),获得当前图书总数3、 接收用户选择4、 要求用户输入要删除的书的书号5、 调用函数delBook (),删除图书信息5.返回主菜单,返回之前调用函数outTotal()保存保存当前图书总数,调用函数putFile()输出图书信息制约和注意事项用户应该输入整数12异常处理用户输入其他整数后报错,用do-while循环实现重复输入函数流程图表3-143.3.1.2 menu2()函数效果图图3-17开始3.3.1.3 menu2()函数流程图定义变量getFile()inTotal()输出图书

30、清库菜单界面选择输入正确?重新输入 用户选择选择1跳出 delBook()输入书号选择2跳出 putFile()结束图3-183.3.2图书清库功能3.3.2.1 delBook()函数设计函数名称void delBook()名称类型COMMENT参数列表addbookInfo变量列表totalintmidintjint返回值无void全局变量无功能说明删除没有保存价值的图书1、 读入total和mid的值2、 找到要删除的书籍,用后面的数据依次覆盖前面的数据制约和注意事项异常处理函数流程图表3-153.3.2.2 delBook()函数效果图图3-19图3-203.3.2.3 delBook

31、()函数流程图图3-213.4 图书查找模块3.4.1图书查找界面菜单3.4.1.1 menu3()函数设计函数名称void menu3()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint控制循环totalint图书总数book MAXbookInfo保存图书信息返回值无void全局变量无功能说明显示查询模块菜单1、 调用函数getFile(),获得以存储的图书信息2、 调用函数inTotal(),获得当前图书总数3、 接收用户选择,调用相应函数4.返回主菜单 制约和注意事项用户应该输入整数14异常处理用户输入其他整数后报错,用do-while循环实

32、现重复输入函数流程图表3-163.4.1.2 menu3()函数效果图图3-22开始3.4.1.3 menu3()函数流程图定义变量getFile()inTotal()输出图书查询菜单界面选择输入正确?重新输入 用户选择searchByIsbn()跳出 选择1searchByKwords()()跳出 选择2选择3searchByPress ()跳出 选择4结束图3-233.4.2图书查找功能3.4.2.1按书号查找3.4.2.1.1 searchByIsbn()函数设计函数名称void searchByIsbn()名称类型COMMENT参数列表searchbookInfo变量列表totalin

33、tmidintseaIsbnchar 25返回值无void全局变量无功能说明按照ISBN书号查询图书1、 读入total和mid的值2、 用户输入要查找的书的书号3、 二分法查找4、 显示结果制约和注意事项异常处理函数流程图表3-173.4.2.1.2 searchByIsbn()函数效果图图3-243.4.2.1.3 searchByIsbn()函数流程图图3-253.4.2.2按关键字查找3.4.2.2.1 searchByKword()函数设计函数名称void searchByKword ()名称类型COMMENT参数列表addbookInfo变量列表totalintseaKwordsc

34、har 20iint返回值无void全局变量无功能说明按书名查找图书1、 用户输入想查找的书的关键词2、 调用函strcmp()依次比对制约和注意事项异常处理表3-183.4.2.2.2 searchByKword()函数效果图图3-263.4.2.2.3 searchByKword()函数流程图图3-273.4.2.3按出版社查找3.4.2.3.1 s searchByPress()函数设计函数名称void searchByPress()名称类型COMMENT参数列表addbookInfo变量列表totalintseaPresschar 20iint返回值无void全局变量无功能说明按照出版

35、社查找图书1、 用户输入想查找的书的出版社2、 显示结果制约和注意事项异常处理表3-193.4.2.3.2 searchByPress()函数效果图图3-283.4.2.3.3 searchByPress()函数流程图图3-293.5信息修改模块3.5.1信息修改界面菜单3.5.1.1 menu4()函数设计函数名称void menu4()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint控制循环altNum25char保存修改的书的书号book MAXbookInfo保存图书信息返回值无void全局变量无功能说明显示修改模块菜单1、 调用函数getF

36、ile(),获得以存储的图书信息2、 调用函数inTotal(),获得当前图书总数3.接收用户选择,调用相应函数4.要求用户输入要修改的书的书号,调用函数alterInfo()5.返回主菜单 制约和注意事项用户应该输入整数14异常处理用户输入其他整数后报错,用do-while循环实现重复输入函数流程图表3-203.5.1.2 menu4()函数效果图图3-30开始3.5.1.3 menu4()函数流程图定义变量getFile()输出信息修改菜单界面选择输入正确?重新输入 用户选择跳出 获得要修改的书的书号 alterInfo ()选择1putFile()跳出 选择2结束图3-313.5.2信息

37、修改功能3.5.2.1 alterInfo()函数设计函数名称void alterInfo()名称类型COMMENT参数列表addbookInfomidint变量列表TotalintchoiceIntpassint返回值无void全局变量无功能说明修改图书信息1、 读入total和mid的值2、 二分法确定该书是否存在3、 调用函数menu4_1()显示子菜单4、 接收用户选择,修改相应信息制约和注意事项异常处理函数流程图表3-213.5.2.2 alterInfo()函数效果图图3-32图3-333.5.2.3 alterInfo()函数流程图图3-34开始开始3.5.3信息修改界面子菜单3

38、.5.3.1menu4_1()()函数设计函数名称void menu4_1()名称类型COMMENT参数列表无void变量列表无返回值无void全局变量无功能说明显示信息修改界面子菜单 制约和注意事项异常处理函数流程图表3-223.5.3.2menu4_1()()函数效果图图3-353.5.3.3 menu4_1()()函数流程图开始输出信息修改模块子菜单菜单界面 结束 图3-363.6其它功能模块3.6.1其它功能界面菜单3.6.1.1 menu5()函数设计函数名称void menu5()名称类型COMMENT参数列表无void变量列表choiceint接收用户选择passint控制循环a

39、ltNum25char保存要修改的书的书号inFileFILE *book MAXbookInfo保存图书信息返回值无void全局变量无功能说明显示拓展模块菜单1.调用函数getFile(),获得以存储的图书信息2.接收用户选择,调用相应函数3.删除密码4.返回主菜单 制约和注意事项用户应该输入整数14异常处理用户输入其他整数后报错,用do-while循环实现重复输入表3-233.6.1.2 menu5()函数效果图图3-37开始开始3.6.1.3 menu5()函数流程图定义变量getFile()inTotal()输出图书清库菜单界面选择输入正确?重新输入 用户选择setPassword()

40、跳出 选择1跳出 选择2选择3跳出 选择4结束图3-383.6.2密码设置功能3.6.2.1 setPassword()函数设计函数名称void setPassword()名称类型COMMENT参数列表addbookInfo变量列表key1char 20key2char 20outFileFILE *lenintsameint返回值无void全局变量无功能说明设置登录密码1、 要求用户重复输入两次密码2、 调用函数strcmp()比较两次密码是否相同3、 相同则创建文件password.bin保存密码4、 不相同则要求用户重新输入制约和注意事项异常处理函数流程图表3-243.6.2.2 set

41、Password()函数效果图图3-393.6.1.2 setPassword()函数流程图图3-404.心得体会通过参加这次程序设计比赛,使我真正认真到独立完成一个项目并不是一件易事。从最早的需求分析开始,到系统详细设计,再到完成代码的编写,每一个过程都要付出艰辛劳动。多少个不眠不夜晚,我曾为程序调试不成功而沮丧,也曾为一个新模块的完美运行而高兴。在设计完成作品的过程中我收获了很多,每当被某个错误卡住,想要放弃时,我都会对自己说,坚持就是胜利。自学习C语言以来,这是第一次完成如此复杂的设计与编写,加深了我对C语言的认识和理解,使我对编程语言的学习真正发挥了其实用价值,而不仅仅是停留在书本上。

42、掌握一种语言只学习书上的内容还不够,还必需应用到实际问题中去,进而发现问题,解决问题,以实际为范例,来更深入的学习C语言。C语言是一种基础的编程语言,只有学好它,才能为学习其它更难的编程语言做好准备。在程序的编写中,我还查阅了大量资料,不论是从图书馆还是网络,这使我提高了自学能力,加深了对一些经典问题的理解,为以后学习其它编程语言打下良好的基础。同时我还将有用的资料进行了整理和分类,希望在将来的学习中对自己有所帮助。感谢这次比赛创造了如此好的实践机会,我会继续努力,力争在编程方面做得更好。5.程序源代码5.1 boinfo.h#ifndef _BOINFO_H_#define _BOINFO_

43、H_typedef struct char isbn25;char name20;char press20;char author20;float price;int number;int edition;char publishTime20;char time20;bookInfo;#endif5.2 mylib.h#ifndef _MYLIB_H_#define _MYLIB_H_void setPassword();int password();void menu();void menu1();void menu2();void menu3();void menu4();void men

44、u4_1();void menu5();void addBook(bookInfo);void alterInfo(bookInfo ,char );void delBook(bookInfo,char );void searchByIsbn(bookInfo );void searchByKwords(bookInfo ,int);void searchByPress(bookInfo ,int);void putFile(bookInfo);void getFile(bookInfo);void initialbookInfo_bin();void initialTotal();void

45、initialMid();void inTotal(int *);void inMid(int *);void outTotal(int);void outMid(int);#endif5.3 addBook.c#include #include #include #include boinfo.h#include mylib.h#define MAX 1000void addBook(bookInfo add)int total,mid,num;int i;char enter;char isbn25;inTotal(&total);inMid(&mid);scanf(%c,&enter);

46、printf(请输入入库的书的书号:);gets(isbn);if(binarySearch(add,isbn)inTotal(&total);inMid(&mid);printf(该书已存在!n);printf(请输入入库的书的数量:);scanf(%d,&num);addmid.number+=num;printf(已增加该书的信息。n书号%s 的书%s n作者:%s 出版社:%s 价格:%fn数量:%d 出版时间:%s 版次:%dn,addmid.isbn,addmid.name,addmid.author,addmid.press,addmid.price,addmid.number,

47、addmid.publishTime,addmid.edition);if(!binarySearch(add,isbn)for(i=total;imid&total;i-)addi=addi-1;/*录入图书信息*/scanf(%c,&enter);/printf(请输入入库的书的书号:);/gets(addmid.isbn);strcpy(addmid.isbn,isbn);printf(请输入入库的书的书名:);scanf( %s,&addi.name);printf(请输入入库的书的价格:);scanf( %f,&addi.price);printf(请输入入库的书的出版社:);sca

48、nf( %s%c,&addi.press,&enter);printf(请输入入库的书的作者:);gets(addi.author);printf(请输入入库的书的数量:);scanf( %d,&addi.number);printf(请输入入库的书的出版时间:);scanf( %s,&addi.publishTime);printf(请输入入库的书的版次:);scanf(%d,&addi.edition);total+;outTotal(total);putFile(add);printf(已增加该书的信息。n书号%s 的书%s n作者:%s 出版社:%s 价格:%.2fn数量:%d 出版时

49、间:%s 版次:%dn,addi.isbn,addi.name,addi.author,addi.press,addi.price,addi.number,addi.publishTime,addi.edition);5.4 altBook.c#include #include #include #include boinfo.hvoid alterInfo(bookInfo alt,char altNum)int mid,total;int choice,pass=1;inTotal(&total);if(binarySearch(alt,altNum)=0|total=0) /如果无此书printf(书库中没有该书.n);if(binarySearch(alt,altNum)/若有

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!