三峡大学理学院2010级物理学专业(3)

2018-11-23 23:19

图7 查询子菜单界面

按书名查询函数如下:

void search_by_name() { FILE *fp; int i;

BOOK b[10]; char s2[20]; system(\

printf(\按书名查询***********************\\n\\n\ fp=fopen(\if(fp==NULL)

{printf(\抱歉,不能打开此文件!\\n\ for(i=0;i

fread(&b[i],sizeof(BOOK),1,fp);

printf(\请输入要查询的书名: \scanf(\for(i=0;i

{if(strcmp(s2,b[i].bookName)==0)

{printf(\书名\\t编号\\t价格\\t作者\\t借出状态\\n\

printf(\ b[i].price,b[i].author,b[i].state); break;} i++;

if(i==M+g1) printf(\抱歉,找不到此书!\ } fclose(fp);

printf(\请按任意键继续!\getch(); }

运行结果如图8:

图8 按书名查询界面

按作者名查询函数如下:

void search_by_writer() { int i;

FILE *fp; BOOK b[10]; char s3[20]; system(\

printf(\按作者查询***********************\\n\\n\fp=fopen(\if(fp==NULL)

{printf(\抱歉,不能打开此文件!\\n\for(i=0;i

fread(&b[i],sizeof(BOOK),1,fp);

printf(\请输入要查询的书的作者: \scanf(\for(i=0;i

{if(strcmp(s3,b[i].author)==0)

{printf(\书名\\t编号\\t价格\\t作者\\t借出状态\\n\

printf(\ b[i].price,b[i].author,b[i].state); break;} i++;

if(i==M+g1) printf(\抱歉,找不到此书!\ fclose(fp);

printf(\请按任意键继续!\ getch(); }

运行结果如图9:

图9 按作者查询界面

(6) 数据删除模块:采用按图书编号查询并删除图书,将文件中的图书信息读

到结构体数组b中,将要删除的图书编号输入到数组bookcode中,再按编号查询(参考查询模块),找到图书的信息在地b[i]中后,用for循环语句将b[i+1]的值赋给b[i],从而达到删除该书的目的,最后将数组b中的信息写入文件中。

删除函数如下:

void del() { FILE *fp;

char bookcode[20]; /*按登图书编号查询*/ int i,k;

BOOK b[10];

system(\清屏*/

printf(\图书信息删除******************\\n\\n\ fp=fopen(\ if(fp==NULL)

{ printf(\抱歉,不能打开此文件!\\n\ else

for(i=0;i

fread(&b[i],sizeof(BOOK),1,fp); fclose(fp);

printf(\请输入你想删除的图书编号:\ scanf(\ for(i=0;i

{ if(strcmp(bookcode,b[i].bookCode)==0) {printf(\你要删除的图书如下:\\n\

printf(\书名\\t编号\\t价格\\t作者\\t借出状态\\n\ printf(\ b[i].bookCode,b[i].price,b[i].author,b[i].state); break;} }

if(i==M+g1) printf(\抱歉,没有你想要删除的书籍!\\n\ else

{for(k=i;k

fp=fopen(\

if(fp==NULL){printf(\抱歉,不能打开此文件!\\n\ for(i=0;i

fwrite(&b[i],sizeof(BOOK),1,fp); fclose(fp);

printf(\删除成功!\\n\

g1--; /*计数一次*/ }

printf(\请按任意键继续!\ getch(); }

运行结果如图10:

图10图书信息删除界面

(7) 数据修改模块:办理借书手续时,先要在文件中查找要借的书的存在状态,

若可以出借,则允许借出, 把借书人姓名、性别和学号添加到该书的记录中,并把存在状态改为已经借出;否则,显示 “该书已借出!” 。办理还书手续时,在文件中查找该书的记录,然后把存在状态改为 允许出借,把借书人姓名、性别和学号删除。具体修改操作可以参考删除操作。

修改菜单函数如下: void revise() { int b;

system(\

printf(\

printf(\图书信息修改*****************\\n\\n\ printf(\还书\\n\\n\

printf(\借书\\n\\n\ printf(\返回\\n\\n\

printf(\ printf(\请选择:\ scanf(\switch(b) {

case 1:returner();break; case 2:borrower();break; case 0:return; } }

运行结果如:图11

图11图书信息修改界面

还书函数如下:

void returner() { FILE *fp; int i;

char bookcode[20]; BOOK c[10];

system(\清屏*/

printf(\还书***********************\\n\\n\ fp=fopen(\if(fp==NULL)

{printf(\抱歉,不能打开此文件!\\n\ else

for(i=0;i

fread(&c[i],sizeof(BOOK),1,fp); fclose(fp);

printf(\请输入你所还图书编号: \


三峡大学理学院2010级物理学专业(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年春季六年级数学期中考试试卷分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: