2022年程序设计报告图书管理系统 .pdf

上传人:Q****o 文档编号:30524762 上传时间:2022-08-06 格式:PDF 页数:33 大小:519.37KB
返回 下载 相关 举报
2022年程序设计报告图书管理系统 .pdf_第1页
第1页 / 共33页
2022年程序设计报告图书管理系统 .pdf_第2页
第2页 / 共33页
点击查看更多>>
资源描述

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

1、题目:图书管理系统一、课题内容基于角色管理的简易图书管理系统实现功能:1. 角色管理。设有图书管理员和普通用户两类角色,他们设有不同的权限,各类用户进入系统时需先登录。2. 图书管理员角色, 图书管理员可对图书信息的录入、删除、及修改、统计;3. 普通用户角色,普通用户可借阅图书、归还图书。提高要求:使用文本文件存储各类信息,界面友好,有出错处理。实现语言: C语言或 C+ 语言二、课题要求1. 熟练运用 C或 C+ 课程所学习的理论和概念。 2.熟练运用循环结构、分支结构、顺序结构。 3.熟练掌握函数的定义和调用方法。 4.熟悉对于文件的打开、关闭和文件的读写。 5.熟练掌握对于 C中结构体

2、或 C+ 中类的操作。 6. 按照分析、 设计、编码、调试和测试的软件开发过程独立完成管理系统设计。三、需求分析1. 该程序可实现对于普通用户( 即学生 ) 和管理员两种角色对于图书管理系统的操作。 2.普通用户 ( 即学生) 登陆后可对图书进行查询、借阅、归还。 3.管理员登陆后可对图书进行增加、删除、修改、统计,以及对图书馆中职名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 33 页 - - - - - - - - - 员和学生的信息统计,方便对学生补办借书卡以及人员

3、统计的管理。 4.该程序中的查询图书功能有按书名和作者两类查找方式,以满足不同用户的需要。四、概要设计采用模块化的程序设计方法, 即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。1. 模块功能说明:(1).图书查询:可以通过对书名或作者两类方式的查找,查找到所要查找的书籍。(2).图书借阅:进入该模块时需要普通用户登录,即学生输入自己的卡号,输入正确可进入借阅模块,输入错误则进行返回。(3).管理员系统:进入管理员模式,进入该模块时需要管理员登陆,即输入管理员个人密码,进入后可以对图书进行增加、删除、修改、统计,以及对图书馆内职工和学生的信息管理。(4).图书归还:进

4、入该模块时需要普通用户登陆,即学生输入自己的卡号,输入正确可进入还书模块,输入错误则进行返回。(5).退出系统:选择该选项,自动退出图书管理系统。2.描述算法的流程图:(1) 主流程:图书管理系统,进入后有查询图书、借阅图书、归还图书等功能,还可以进入管理员模式,或者退出系统。其中,借阅图书和归还图书是针对普通用户(学生)设立的,进入时需要登录,即输入学生的借书卡卡号。在管理员模式下,只有指定的管理员允许进入,进入前需先登录,即输入管理员密码,进入后可对图书进行增、删、查、改,同时可以实现对管理员和学生的信息管理。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

5、 - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 33 页 - - - - - - - - - 图 1.主流程(2) 各主要模块流程:普通用户模式下的还书功能:步骤: a.输入学生卡号;b.系统通过文件读取卡号记录;c.判断卡号是否存在,卡号存在则跳转d,否则跳转到f;d.输入归还书籍;e.选择是否继续归还,是则跳转d,否则跳转 f;f.结束,进行返回。查询图书退出系统按书名查找按作者查找增加图书删除图书修改图书书籍统计学生信息管理管理员信息管理返回主菜单图书管理系统借阅图书(用户进入)归还图书(用户进入)管理员系统(管理员进入)名师资料总结 - -

6、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 33 页 - - - - - - - - - 图 2. 普通用户模式下的还书功能普通用户模式下的借书功能:步骤: a.输入卡号;b.系统通过文件读取卡号记录;c.判断卡号是否存在,卡号存在则跳转d,否则跳转 h d.输入借阅书籍;e.判断该书是否借出,借出则跳转f,否则跳转 g; f.提示借书失败;g.提示借书成功;h.结束,进行返回。Y 开始输入卡号读取卡 号记录-卡号存在输入归还书籍是否继续归还Y 结束N N 名师资料总结 - - -精品资料

7、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 33 页 - - - - - - - - - 图 3. 普通用户模式下的借书功能管理员模式下的录入书籍功能:步骤: a.输入录入书籍的相关信息;b.标记该书是否借出;c.选择是否录入下一本 ,若选择是,跳转到a,若选择否,跳转到d;d.结束,进行返回。Y 开始输入卡号读取卡 号记录-卡号存在输入借阅书籍该书是否借出Y N 借书失败借书成功结束N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

8、 名师精心整理 - - - - - - - 第 5 页,共 33 页 - - - - - - - - - 图 4. 管理员模式下的录入书籍功能管理员模式下的删除书籍功能:步骤: a. 输入要删除的书籍; b. 选择是否真的要删除该书籍,若选择是,则跳转c, 否则跳转 d; c.删除书籍; d.结束,进行返回。图 5. 管理员模式下的删除书籍功能Y N 输 入 所 录 入 书 的相关信息标记是否借出录入下一本开始结束开始输 入 要 删除的书籍是否真的要删删除结束Y N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理

9、- - - - - - - 第 6 页,共 33 页 - - - - - - - - - 管理员模式下的修改书籍功能:步骤: a.输入所要修改的书名;b.系统显示该书信息;c.输入所要修改的内容;d.选择修改序号、修改书名、修改作者,进行相应修改;e.结束,进行返回。图 6. 管理员模式下的修改书籍功能管理员模式下的书籍统计功能:步骤: a. 系统自动对书籍编号和数量赋初值; b.判断是否读入到文件尾部,若读到尾部则跳转到f ,否则跳转到 c; c.输出图书信息;开始输入所要修改的书名自 动 显 示该书信息输入所要修改的内容修改序号修改书名修改作者结束名师资料总结 - - -精品资料欢迎下载

10、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 33 页 - - - - - - - - - d. 书籍数量和编号系统自动进行加一操作; e. 判断是否读入到文件尾部,若读到尾部则跳转到f ,若否则跳转到 c; f.输出书籍的本数; g. 结束,进行返回。:图 7. 管理员模式下的书籍统计功能管理员模式下的借书卡管理功能:步骤: a. 选择申请新卡、删除卡号、借书统计、卡号统计,进行相应操作; b.结束,进行返回。N 开始i=0 n=0 fread(&booki,sizeof(struct book),1,fp)

11、!=0 输出图书信息n=n+1 i+ 输出共有n 本书结束Y 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 33 页 - - - - - - - - - 图 8. 管理员模式下的借书卡管理功能五、源程序代码#include #include #include #include #define STACK_INIT_SIZE 10 struct student /*定义学生类型,用于存放借出的书籍*/ int carnum; /* 学生借书卡卡号*/ char lendb

12、ook10; /* 借书书名 */ student1000; struct employ /* 定义管理员类型*/ int employnum; /* 管理员序号 */ char employname15; /* 管理员姓名 */ int employage; /* 管理员年龄 */ char employsex2; /*管理员性别 */ char employleve10; /* 管理员学历 */ long int employtage; /* 管理员工资 */ employ50; struct book /* 定义书的类型 */ int booknum; /*书的序号 */ char bo

13、okname10; /* 书名 */ char bookcreat10; /*书的作者 */ 开始申请新卡删除卡号借书统计卡号统计结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 33 页 - - - - - - - - - int turefalse; /* 用于借书和还书模块判断一本书是否借出的条件*/ book1000; struct car /* 借书卡的数据类型*/ int carnum; /* 卡号 */ char studentname10; /* 学生姓

14、名 */ int studentclass; /*学生班级 */ car100; huanbook() /* 还书函数 */ FILE *fp,*fp2; /* 定义两个文件指针, fp2 用于修改数据时设立临时文件用,防止数据遭破坏*/ int i,n; int carnum; char lendbook10; printf( 请你输入你的卡号n); scanf(%d,&carnum); fp=fopen(car.txt,r); /* 读取卡号记录 */ for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) /*for循环判断卡号是否存在 *

15、/ if(cari.carnum=carnum) /* 卡号存在,进入下一循环*/ n=i; fclose(fp); printf( 请输入你要还的书的名字n); scanf(%s,lendbook); fp=fopen(record.txt,r); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) /* 判断是否借阅了输入的书 */ if(strcmp(studenti.lendbook,lendbook)=0) /* 借阅了该书,进入下一循环,否则出错显示*/ fclose(fp); fp=fopen(record.tx

16、t,r); fp2=fopen(bookl.txt,w); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) if(strcmp(studenti.lendbook,lendbook)=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 33 页 - - - - - - - - - continue; /*删除还掉的书的借书记录*/ fwrite(&studenti,sizeof(struct st

17、udent),1,fp2); /* 写入原来没还的书的记录*/ fclose(fp); fclose(fp2); fp=fopen(record.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&studenti,sizeof(struct student),1,fp2)!=0;i+) fwrite(&studenti,sizeof(struct student),1,fp); /* 将借书记录信息写回*/ fclose(fp); fclose(fp2); fopen(bookl.txt,w); /*清临时文件的记录*/ fclose(fp2); f

18、p=fopen(book.txt,r); fp2=fopen(bookl.txt,w); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/ if(i=n) booki.turefalse=1; fwrite(&booki,sizeof(struct book),1,fp2); /* 将还的书的原来状态设为无人借阅的*/ continue; fwrite(&booki,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); f

19、p=fopen(book.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct book),1,fp); /*将临时文件写回*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 33 页 - - - - - - - - - fclose(fp); fclose(fp2); fopen(bookl.

20、txt,w); /*清临时文件 */ fclose(fp2); printf( 还书完毕,按任意键返回n); getch(); system(cls); return 1; printf(你没有借该书!任意键返回n); /*出错提示 */ fclose(fp); getch(); system(cls); return 0; printf( 无此卡号 ! 按任意键返回 n); /*出错提示 */ fclose(fp); getch(); system(cls); findbook() /* 查询书籍函数 2*/ FILE *fp; char bookname10; int ture,i; fp

21、=fopen(book.txt,r); printf( 请输入要查找的书名n); scanf(%s,bookname); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookname,booki.bookname)=0) if(booki.turefalse=1) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 33 页 - - - - - - - - - printf( 这本书的详细资

22、料是:%d %s %s 此书现在无人借阅n 按任意键返回n,booki.booknum,booki.bookname,booki.bookcreat); else printf( 此书已借出 n); fclose(fp); return 0; fclose(fp); return false; printf( 没有你要查询的书籍n); fclose(fp); return false; findbook1() /*查询书籍函数 1*/ FILE *fp; char bookcreat10; int ture,i; fp=fopen(book.txt,r); printf( 请输入你要查找的作者

23、名n); scanf(%s,bookcreat); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookcreat,booki.bookcreat)=0) if(booki.turefalse=1) printf( 这本书的详细资料是:%d %s %s 此书现在无人借阅n 按任意键返回n,booki.booknum,booki.bookname,booki.bookcreat); else printf( 这本书已经有人借出n); fclose(fp); return 0; 名师资料总结 - - -精品资料欢迎

24、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 33 页 - - - - - - - - - fclose(fp); return false; printf( 没有你要查询的书籍n); fclose(fp); return false; lendcount() /* 学生借书信息函数*/ FILE *fp; int i,n=0; fp=fopen(record.txt,r); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) prin

25、tf( 卡号: %d 借出的书籍: %s n,studenti.carnum,studenti.lendbook); n=n+1; fclose(fp); printf( 目前共有 %d 本书借出 n,n); printf( 按任意键 n); getch(); return n; chabook() char ch5; do printf(欢迎进入图书管理系统!n); printf( |1 :n); printf( |2 :n); printf( |0 :n); printf( 请输入 0-2n); scanf(%s,&ch5); switch(ch5) case 1:system(cls);

26、findbook();getch();break; case 2:system(cls);findbook1();getch();break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 33 页 - - - - - - - - - case 0:system(cls);break; default:printf( 无此操作 n);getch();break; while(ch5!=0); return false; lendbook() /*借书函数 */ FIL

27、E *fp,*fp2; int i,n; int carnum; printf( 请你输入你的卡号n); scanf(%d,&carnum); fp=fopen(car.txt,r); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum=carnum) n=i; fclose(fp); printf( 请输入你要借阅的书的名字n); scanf(%s,studentn.lendbook); fp=fopen(book.txt,r); for(i=0;fread(&booki,sizeof(struct book)

28、,1,fp)!=0;i+) if(strcmp(booki.bookname,studentn.lendbook)=0) if(booki.turefalse=0) printf( 对不起,此书已借出!n); fclose(fp); getch(); return; else fclose(fp); fp=fopen(record.txt,a+); studentn.carnum=carnum; fwrite(&studentn,sizeof(struct student),1,fp); fclose(fp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

29、- - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 33 页 - - - - - - - - - fp=fopen(book.txt,r); fp2=fopen(bookl.txt,w); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(booki.bookname,studentn.lendbook)=0) booki.turefalse=0; fwrite(&booki,sizeof(struct book),1,fp2); continue; fwrite(&booki

30、,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); fp=fopen(book.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct book),1,fp); fclose(fp); fclose(fp2); fopen(bookl.txt,w); fclose(fp2); printf( 借书完毕,按任意键返回n); getch(); system(cls); r

31、eturn; printf( 无此书籍 ! 任意键返回 n); fclose(fp); getch(); system(cls); return; printf( 你的卡号不存在! 按任意键返回 n); fclose(fp); getch(); system(cls); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 33 页 - - - - - - - - - carcount() FILE *fp; int i,n=0; fp=fopen(car.txt,r); f

32、or(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) printf(第%d张卡n,i+1,cari.carnum,cari.studentname,cari.studentclass); n=n+1; fclose(fp); printf( 目前共有 %d 本书 n,n); printf( 按任意键 n); getch(); delcar() /* 删除借书卡函数*/ FILE *fp,*fp2; int i; int carnum; char choice; fp=fopen(car.txt,r); fp2=fopen(bookl.txt,w)

33、; printf( 请输入你要删除的卡号n); scanf(%d,&carnum); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum!=carnum) fwrite(&cari,sizeof(struct car),1,fp2); fclose(fp); fclose(fp2); printf( 是否要删除该卡?n); scanf(%s,&choice); if(choice=y|choice=Y) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -

34、- 名师精心整理 - - - - - - - 第 17 页,共 33 页 - - - - - - - - - fp=fopen(car.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&cari,sizeof(struct car),1,fp2)!=0;i+) fwrite(&cari,sizeof(struct car),1,fp); fclose(fp); fclose(fp2); fp2=fopen(bookl.txt,w); fclose(fp2); printf( 按任意键返回n); getch(); system(cls); return

35、; else printf( 按任意键返回 n); getch(); system(cls); return; addcar() /* 增加借书卡函数*/ FILE *fp; int i=0; fp=fopen(car.txt,a+); printf( 请你输入卡号n); scanf(%d,&cari.carnum); printf( 请你输入学生姓名n); scanf(%s,cari.studentname); printf( 请你输入班级n); scanf(%d,&cari.studentclass); fwrite(&cari,sizeof(struct car),1,fp); fclo

36、se(fp); printf( 输入完毕,任意键返回n); getch(); system(cls); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 33 页 - - - - - - - - - changemploy() FILE *fp,*fp2; char employname10,choice; int i; fp=fopen(employ.txt,r); fp2=fopen(bookl.txt,w); printf( 请你输入要修改的职工的名字n); sca

37、nf(%s,employname); for(i=0;fread(&employi,sizeof(struct employ),1,fp)!=0;i+) if(strcmp(employi.employname,employname)=0) printf( 你所要修改的职工的资料如下,请选择你要修改的内容n); printf(n,employi.employnum,employi.employname,employi.employage,employi.employsex,employi.employleve,employi.employtage); printf(2 :修改职工名 n); p

38、rintf(3 :修改职工年龄n); printf(4 :修改职工工资n); printf(5 :修改职工学历n); printf( 请输入 1-5:); scanf(%s,&choice); switch(choice) case 1: printf( 请输入新的职工号n); scanf(%d,&employi.employnum); fwrite(&employi,sizeof(struct employ),1,fp2); break; case 2: printf( 请输入新的职工姓名n); scanf(%s,employi.employname); fwrite(&employi,si

39、zeof(struct employ),1,fp2); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 33 页 - - - - - - - - - case 3: printf( 请输入新的年龄n); scanf(%d,&employi.employage); fwrite(&employi,sizeof(struct employ),1,fp2); break; case 4: printf( 请输入新的职工工资n); scanf(%d,&employ

40、i.employtage); fwrite(&employi,sizeof(struct employ),1,fp2); break; case 5: printf( 请输入新的职工学历n); scanf(%s,employi.employleve); fwrite(&employi,sizeof(struct employ),1,fp2); default:printf( 没有这样的操作);break; continue; fwrite(&employi,sizeof(struct employ),1,fp2); fclose(fp); fclose(fp2); fp=fopen(emplo

41、y.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&employi,sizeof(struct employ),1,fp2)!=0;i+) fwrite(&employi,sizeof(struct employ),1,fp); fclose(fp); fclose(fp2); fp2=fopen(bookl.txt,w); fclose(fp2); printf( 按任意键返回 n); getchar(); system(cls); return; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

42、- - - - 名师精心整理 - - - - - - - 第 20 页,共 33 页 - - - - - - - - - delemploy() FILE *fp,*fp2; int i; char employname10,choice; fp=fopen(employ.txt,r); fp2=fopen(bookl.txt,w); printf( 请输入你要删除的职工名n); scanf(%s,employname); for(i=0;fread(&employi,sizeof(struct employ),1,fp)!=0;i+) if(strcmp(employname,employi

43、.employname)!=0) fwrite(&employi,sizeof(struct employ),1,fp2); fclose(fp); fclose(fp2); printf( 是否真的要删除该职工信息?n); scanf(%s,&choice); if(choice=y|choice=Y) fp=fopen(employ.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&employi,sizeof(struct employ),1,fp2)!=0;i+) fwrite(&employi,sizeof(struct employ),1

44、,fp); fclose(fp); fclose(fp2); fp2=fopen(bookl.txt,w); fclose(fp2); printf( 按任意键返回n); getch(); system(cls); return true; else printf( 按任意键返回n); getch(); system(cls); return false; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 33 页 - - - - - - - - - employcoun

45、t() FILE *fp; int i,n=0; fp=fopen(employ.txt,r); for(i=0;fread(&employi,sizeof(struct employ),1,fp)!=0;i+) printf( 第%d 职工的信息如下: nn,n+1,employi.employnum,employi.employname,employi.employage,employi.employsex,employi.employleve,employi.employtage); n+; fclose(fp); printf( 目前共有 %d 个职工 n,n); printf( 按任

46、意键返回n); addemploy() FILE *fp; char choice=y; int i=1; fp=fopen(employ.txt,a+); while(choice=y|choice=Y) printf( 请你输入职工号码n); scanf(%d,&employi.employnum); printf( 请你输入职工名n); scanf(%s,employi.employname); printf( 请输入职工年龄n); scanf(%d,&employi.employage); printf( 请你输入性别n); scanf(%s,employi.employsex); p

47、rintf( 请你输入职工的学历水平n); scanf(%s,employi.employleve); printf( 请输入职工的工资n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 33 页 - - - - - - - - - scanf(%d,&employi.employtage); fwrite(&employi,sizeof(struct employ),1,fp); printf( 是否要输入下个职工信息?N/Yn); scanf(%s,&choic

48、e); system(cls); printf( 按任意键返回 n); fclose(fp); addbook() /*录入书籍函数*/ FILE *fp; int i=0; char choice=y; fp=fopen(book.txt,a+); while(choice=y|choice=Y) printf( 请你输入第 %d 本书的序号 n,i+1); scanf(%d,&booki.booknum); printf( 请你输入书名n); scanf(%s,booki.bookname); printf( 请你输入书的作者n); scanf(%s,booki.bookcreat); p

49、rintf( 请设为 1 或 0,1 代表书还没人借,0 表示书已经借出n); printf( 请你设定书的状态n); scanf(%d,&booki.turefalse); fwrite(&booki,sizeof(struct book),1,fp); printf( 是否要输入下本书N/Yn); scanf(%s,&choice); fclose(fp); bookcount() /* 书籍统计函数*/ FILE *fp; int i,n=0; fp=fopen(book.txt,r); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;

50、i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 33 页 - - - - - - - - - if(booki.booknum!=0&strlen(booki.bookname)!=0&strlen(booki.bookcreat)!=0) printf(第 %d本 书 n,i+1,booki.booknum,booki.bookname,booki.bookcreat,booki.turefalse); n=n+1; fclose(fp); printf( 目

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

当前位置:首页 > 技术资料 > 技术总结

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

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