c语言图书管理系统上机实验 .docx

上传人:C****o 文档编号:13052852 上传时间:2022-04-27 格式:DOCX 页数:63 大小:143KB
返回 下载 相关 举报
c语言图书管理系统上机实验 .docx_第1页
第1页 / 共63页
c语言图书管理系统上机实验 .docx_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《c语言图书管理系统上机实验 .docx》由会员分享,可在线阅读,更多相关《c语言图书管理系统上机实验 .docx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结成都信息工程高校运算机系课程试验报告试验课程:C 语言程序设计基础试验工程:图书治理系统指导老师:李莉丽同学姓名 :同学学号:20210班 级:运算机科学与技术试验的点:5201试验时间:试验成果: 评阅老师:2021 年 5 月 18 日可编辑资料 - - - 欢迎下载精品名师归纳总结一【上机试验目的】设计并实现该课程设计的目的主要在于:1) 对确定规模的综合软件编程有确定的经受与熟识。在做的过程中, 你会发觉,提前的规划即分析与设计重要过编程过程,否就会走很多弯。2) 综合并结合现实应用使用 C 语言的学问。这个设计会用到C 语言这门课的全部学问, 其中以文件、 数组与链表

2、为主, 书中提到的主要及重点算法都会使用到。3) 不仅涉及编程, 仍涉及到功能分析、 模块规划等方面的学问, 这些学问在后续课程学习时, 会经常使用。 这些学问在学软件工程 这门课时, 会系统讲解。期望有了这次的经受,你能更好的体会软件工程这门课的意义,并能学好和用好其中的学问。4) 每项功能的实现, 一般有多种方法, 这里都强调使用时空效率最高的方法,此次实现只是让你有一个初步的熟识, 在下学期学习了数据结构后,你就知道为什么让你这样做,你也对数据结构这门课的作用及 意义有所明白。二【试验环境】PC 机每人 1 台三【上机试验内容】编写图书治理系统 , 具有以下基本功能(1) ) 各种基本数

3、据的录入。如:图书资料基本信息录入等。(2) ) 各种基本数据的修改。即:答应对以及录入的数据重新进行编辑、修改。(3) ) 各种基本数据的插入。如:在图书选购信息中插入一条新信息等。(4) ) 各种基本数据的删除。如:假设某本书遗失且馆藏数为0,删除该书的相关信息等。(5) ) 基于各种数据的查询。如:书名中含有“运算机”的全部书籍、全部借出的全部图书等。(6) )基于各种基本数据的统计运算。可编辑资料 - - - 欢迎下载精品名师归纳总结四 【 上 机 调 试 程 序 流 程 图 】( 注 : 可 打 印 )开头调用 _window 函数,设置界面属性调用 words函数在相应位置输出文字

4、调用 choose显示光标调用 play, 输入 y 的值Play = .可编辑资料 - - - 欢迎下载精品名师归纳总结调用 add函数调用 manage函数调用 search函数调用 sta函数退出 ,执行exit0可编辑资料 - - - 欢迎下载精品名师归纳总结终止可编辑资料 - - - 欢迎下载精品名师归纳总结五【上机调试中显现的错误信息、错误缘由及解决方法】读写错误 :fopen 的时候改成用二进制读写.目前不知道为什么不用二进制不能读写.六【上机调试后的源程序及仍存在的问题】#include #include #include #include #include #include

5、#define Key_UP72#define Key_DOWN80#define Key_ENTER 28#define Key_N49#define Key_Y21#define LENsizeofstruct linklisttypedef struct book1/* 图书基本信息结构体 */char name20。char writer30 。char type20 。char num20 。char time20 。char press20。char edition20 。char ISBN40 。float price 。int count 。int lendnum 。bbasi

6、c 。/*图书资料基本信息:中图法分类号、图书编号、书名、作者(要考虑多个作者情形)、出版社、出版日期、 ISBN 、版次、定价、馆藏数、借阅数等。*/typedef struct book2/* 图书选购信息结构体 */可编辑资料 - - - 欢迎下载精品名师归纳总结char name20。char writer20 。char time15 。int num 。float price 。float money 。char bill 30 。bpurchase。/*图书选购信息:书名、作者、选购日期、选购数量、选购单价、选购金额、发票号码、图书编号等。*/typedef struct boo

7、k3/* 图书借阅信息结构体 */*需要输入的信息 */ char name20。char person20 。char company20 。char num20 。/* 借书证号 */ char btime15 。/*运算可得信息 */ char rtime15 。char fine20 。blend 。/*图书借阅信息:借阅人、借阅人所在单位、借书证号、所借书名、借阅日期、归仍日期、逾期罚款等。借阅期限为一个月,逾期1 天,罚款 1 角。*/struct linklistbbasic binfo 。struct linklist *next 。 。int key 。void menu 。

8、void _window 。void words 。void boxint,int,int,int。int _chooseint bot, int top 。可编辑资料 - - - 欢迎下载精品名师归纳总结void playint 。int readsum 。void add 。void addbook 。void addbuy 。void addborrow 。void manage 。struct linklist* create 。void modify 。void delete 。void insert 。void search。void searchname。void searchw

9、riter 。void orderwbbasic binfo100。void orderwbbasic binfo100。int halfnint sum,bbasic binfo100,char *find。int halfwint sum,bbasic binfo100,char *find。void sta 。void blist 。void bmoney 。int mainvoidmenu。void menuint y 。_window。/* 显示窗口*/words 。y = choose7,19。playy 。/* 显示菜单文字 */* 光标 */* 依据键盘值操作 */void _

10、window/* 窗口初始化 */textbackgroundBLUE。可编辑资料 - - - 欢迎下载精品名师归纳总结textcolorWHITE 。clrscr 。box1,1,24,80 。void words/* 显示菜单文字 */textcolorWHITE 。gotoxy30,7 。textbackgroundRED 。cprintfAdd Book info。textbackgroundBLUE 。gotoxy30,10 。cprintfManage Book。gotoxy30,13 。cprintfSearch Book 。gotoxy30,16 。cprintfBook St

11、atistic。gotoxy30,19 。cprintfExit。gotoxy35,22 。textcolorLIGHTGRAY。textbackgroundBLUE 。cprintf Main Menu 。gotoxy25, 2 。textcolorRED 。highvideo 。cprintfThe Library Managemnt Program。normvideo 。void boxint x,int y, int high, int width/* 画方框 */int i 。gotoxyx,y 。putchar0xda 。for i = 1。 i width - 1 。 i+put

12、char0xc4 。putchar0xbf 。gotoxyx, y + high - 3 。putchar0xc0 。可编辑资料 - - - 欢迎下载精品名师归纳总结gotoxywidth, y + high - 3。putchar0xd9 。for i = 1 。 i high - 1 。 i+gotoxyx,y+i 。putchar0xb3 。gotoxyx + width -1, y+i。putchar0xb3 。gotoxyx, y + high - 1 。putchar0xc0 。for i = 1。 i width - 1 。 i+putchar0xc4 。gotoxyx + 1,

13、 y + high - 3 。for i = 1 。 i botupbary 。y = y - 3 。 。break。case Key_DOWN:if y topdownbary 。y = y + 3 。 。break。whileky .= Key_ENTER。return y。upbarint y/* 光标上移 */int i 。typedef struct texel_structunsigned char ch。unsigned char attr。texel 。texel t。fori=30 。 i=48 。i+gettexti,y,i,y,&t 。t.attr=0x1f 。putte

14、xti,y,i,y,&t 。gettexti,y-3,i,y-3,&t。t.attr=0x4f 。puttexti,y-3,i,y-3,&t。 。gotoxy30,y-3 。return。downbarint y/* 光标下移 */int i 。可编辑资料 - - - 欢迎下载精品名师归纳总结typedef struct texel_structunsigned char ch。unsigned char attr。texel 。texel t。fori=30 。 i=48 。i+gettexti,y,i,y,&t 。t.attr=0x1f 。puttexti,y,i,y,&t 。gettex

15、ti,y+3,i,y+3,&t。t.attr=0x4f 。puttexti,y+3,i,y+3,&t。 。gotoxy30,y+3 。return。void playint y/* 依据 y 的值选择操作 */switchycase7:add。break。case 10:manage。break。case 13:search。break。case 16:sta。break。case 19:exit1 。default:printfError。exit0 。void add/* 显示 选择增加那种类型的信息 的窗口 */int y 。_window 。gotoxy30,7 。textbackgr

16、oundRED 。cprintfAdd Basic info。可编辑资料 - - - 欢迎下载精品名师归纳总结textbackgroundBLUE 。gotoxy30,10 。cprintfAdd Purchase info。gotoxy30,13 。cprintfAdd Borrow info。gotoxy30,16 。cprintfBack 。gotoxy25, 2 。textcolorRED 。highvideo 。cprintfThe Library Managemnt Program。normvideo 。gotoxy35,22 。textcolorLIGHTGRAY。textbac

17、kgroundBLUE 。cprintf Add Book 。textbackgroundBLUE 。textcolorWHITE 。y=choose7,16 。switchy/* 选择增加信息类型的函数*/case 7 :addbook。break。/* 增加图书基本信息*/ case 10:addbuy。break。/* 增加图书购买信息 */case 13:addborrow 。break。/* 增加图书借阅信息 */case 16:menu。break。default:printfError。break。void addbook/* 增加图书基本信息*/int ky, sum = 0

18、。FILE *fp 。bbasic binfo 。textbackgroundBLUE 。textcolorWHITE 。clrscr 。iffp = fopene:sum.dat,rb .= NULL/* 读取图书基本信息数量sum*/fread&sum,2,1,fp 。可编辑资料 - - - 欢迎下载精品名师归纳总结fclosefp 。if fp = fopene:addbook.dat,ab = NULLprintfcannot write the addbook.dat。doclrscr 。gotoxy2,2 。cprintfPlease input the classfication

19、 of chinese library classification:。scanf%s,&binfo.type。getchar。gotoxy2,4 。cprintfPlease input the books number: 。scanf%s,&binfo.num。getchar。gotoxy2,6 。cprintfPlease input the books name: 。scanf%s,&binfo.name 。getchar。gotoxy2,8 。cprintfPlease input the books writer:。scanf%s,&binfo.writer。getchar。got

20、oxy2,10 。cprintfPlease input the the books press: 。scanf%s,&binfo.press 。getchar。gotoxy2,12 。cprintfPlease input the books edition:。scanf%s,&binfo.edition。getchar。gotoxy2,14 。cprintfPlease input the books publish time:。scanf%s,&binfo.time。getchar。gotoxy2,16 。cprintfPlease input the price: 。scanf%f,&

21、binfo.price。getchar。gotoxy2,18 。cprintfPlease input the ISBN of the book:。可编辑资料 - - - 欢迎下载精品名师归纳总结scanf%s,&binfo.ISBN。getchar。gotoxy2,20 。cprintfPlease input the count of books:。scanf%d,&binfo.count。getchar。gotoxy2,22 。cprintfPlease input the lend number of the book:。scanf%d,&binfo.lendnum。getchar。g

22、otoxy10,25 。cprintfPress Nn to finish add book or Press any key to add more book.。ky = key 。sum+。iffwrite&binfo,sizeofbbasic,1,fp .= 1clrscr 。printfcannot save the data. 。whileky .= Key_N。fclosefp 。if fp = fopene:sum.dat,wb = NULLprintfcannot save the sum of the book. 。getch。exit0 。iffwrite&sum,2,1,

23、fp .= 1printffail to write the sum.dat.。getch。exit0 。 。fclosefp 。menu。/*中图法分类号、 (要考虑多个作者情形) 、出版社、出版日期、ISBN 、版次、定价、馆藏数、借阅数等。*/void addbuy/* 增加图书购买信息 */可编辑资料 - - - 欢迎下载精品名师归纳总结int ky 。FILE *fp 。bpurchase pinfo。textbackgroundBLUE 。textcolorWHITE 。clrscr 。iffp = fopene:addbuy.dat,ab = NULLprintfcannot o

24、pen the addbuy data. 。exit0 。doclrscr 。gotoxy2,2 。cprintfPlease input the books name: 。scanf%s,&pinfo.name 。gotoxy2,4 。cprintfPlease input the books writer:。scanf%s,&pinfo.writer。gotoxy2,6 。cprintfPlease input the books buy time:。scanf%s,&pinfo.writer。gotoxy2,8 。cprintfPlease input the number of the

25、 book buy:。scanf%d,&pinfo.num。gotoxy2,10 。cprintfPlease input the price: 。scanf%f,&pinfo.price。gotoxy2,12 。cprintfPlease input the real money of buy the book:。scanf%f, &pinfo.money。gotoxy2,14 。cprintfPlease input the bill number:。scanf%s, &pinfo.bill。 gotoxy10,20 。cprintfPress Nn to finish add book

26、or Press any key to add more book.。ky = key 。iffwrite&pinfo,sizeofpinfo,1,fp .= 1clrscr 。可编辑资料 - - - 欢迎下载精品名师归纳总结printfcannot save the data. 。whileky .= Key_N。fclosefp 。menu。void addborrow/* 增加图书借阅信息 */int ky 。FILE *fp 。blend linfo 。textbackgroundBLUE 。textcolorWHITE 。clrscr 。iffp = fopene:addborrow

27、.dat,ab = NULLprintfcannot open the addborrow data. 。exit0 。doclrscr 。gotoxy2,2 。cprintfPlease input the lend books name: 。scanf%s,&linfo.name 。gotoxy2,4 。cprintfPlease input the borrowers name: 。scanf%s,&linfo.person 。gotoxy2,6 。cprintfPlease input the company of the borrower:。scanf%s,&pany。gotoxy2

28、,8 。cprintfPlease input the borrowers card: 。scanf%s, &linfo.num。gotoxy2,10 。cprintfPlease input the borrow timeex.2021/01/26:。scanf%s, &linfo.btime。gotoxy2,12 。cprintfPlease input the return timeex.2021/05/08:。scanf%s, &linfo.rtime。可编辑资料 - - - 欢迎下载精品名师归纳总结gotoxy10,20 。cprintfPress Nn to finish add

29、book or Press any key to add more book.。ky = key 。iffwrite&linfo,sizeoflinfo,1,fp .= 1clrscr 。printfcannot save the data. 。whileky .= Key_N。fclosefp 。menu。struct linklist* create/* 创建链表 */int i, sum 。struct linklist *head, *p1, *p2。FILE *fp 。sum = readsum。p1 = struct linklist*mallocLEN。head = p2 = p

30、1。if fp = fopene:addbook.dat,rb = NULLprintfcannot open the file. 。for i = 0 。 i next = p1 。iffread&p2 - binfo,sizeofbbasic,1,fp .= 1printfcannot save the data. 。p2 - next = NULL。fclosefp 。return head。可编辑资料 - - - 欢迎下载精品名师归纳总结void modifystruct linklist* p,*head。char find30 。int i,ky,sum 。FILE *fp 。p=

31、 head = create。sum = readsum。clrscr 。printfPlese input the name of the book you want to modify:。scanf%s,find 。for i = 0 。i binfo.name = 0gotoxy2,2 。cprintfPlease input the classfication of chinese library classification:。scanf%s,&p - binfo.type。getchar。gotoxy2,4 。cprintfPlease input the books number

32、:。scanf%s,&p - binfo.num。 getchar。gotoxy2,6 。cprintfPlease input the books name: 。scanf%s,&p - binfo.name。getchar。gotoxy2,8 。cprintfPlease input the books writer:。scanf%s,&p - binfo.writer。getchar。gotoxy2,10 。cprintfPlease input the the books press: 。scanf%s,&p - binfo.press。getchar。gotoxy2,12 。cpri

33、ntfPlease input the books edition:。scanf%s,&p - binfo.edition。getchar。gotoxy2,14 。cprintfPlease input the books publish time:。scanf%s,&p - binfo.time。可编辑资料 - - - 欢迎下载精品名师归纳总结getchar。gotoxy2,16 。cprintfPlease input the price: 。scanf%f,&p - binfo.price。getchar。gotoxy2,18 。cprintfPlease input the ISBN

34、of the book:。scanf%s,&p - binfo.ISBN。getchar。gotoxy2,20 。cprintfPlease input the count of books:。scanf%d,&p - binfo.count。 getchar。gotoxy2,22 。cprintfPlease input the lend number of the book:。scanf%d,&p - binfo.lendnum。getchar。printfPress Y to continue or Press anykey to back to menu.。ky = key 。ifky

35、 = Key_Y可编辑资料 - - - 欢迎下载精品名师归纳总结elsep = head。i = -1 。clrscr 。printfPlese input the name of the book you want to modify:。scanf%s,find 。p = head。if fp = fopene:addbook.dat,wb = NULL可编辑资料 - - - 欢迎下载精品名师归纳总结printfcannot open addbook.dat 。for i = 0 。i binfo,sizeofbbasic,1,fp .= 1clrscr 。printfcannot save

36、 the data. 。p = p - next 。可编辑资料 - - - 欢迎下载精品名师归纳总结fclosefp 。menu。p = p - next 。clrscr 。printfcannot find the book.。getch。void deletestruct linklist* p1,*p2,*head。char find30 。int i,ky,sum,flag = 0 。FILE *fp 。p1 = p2 = head = create。sum = readsum。clrscr 。printfPlese input the name of the book you want to Delete:。scanf%s,find 。ifstrcmpfind,head - binfo.name = 0可编辑资料 - - - 欢迎下载精品名师归纳总结elsehead = head -next。sum-。flag = 1 。for i = 0 。i next 。ifstrcmpfind,p1 - binfo.name = 0p1 = p1 - next 。p2 - next = p1 。sum -。flag = 1 。break。可编辑资料 - - - 欢迎下载精品名师归纳总结elsep2 = p2 - next 。可编辑资料 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁