收藏 分销(赏)

C语言实训大作业-图书馆管理系统.pdf

上传人:曲**** 文档编号:728786 上传时间:2024-02-26 格式:PDF 页数:67 大小:1.79MB
下载 相关 举报
C语言实训大作业-图书馆管理系统.pdf_第1页
第1页 / 共67页
C语言实训大作业-图书馆管理系统.pdf_第2页
第2页 / 共67页
C语言实训大作业-图书馆管理系统.pdf_第3页
第3页 / 共67页
C语言实训大作业-图书馆管理系统.pdf_第4页
第4页 / 共67页
C语言实训大作业-图书馆管理系统.pdf_第5页
第5页 / 共67页
点击查看更多>>
资源描述

1、南昌大亨软件学院大作业任务书题 目:图书馆管理系统_专 业:_软件工程_班 级:_133班_姓名学号:高爽超学 号:_完成人数:_IX_起讫日期:2014.2.172014.3.18任课教师:文IJ伯成 职称:讲师部分管主任:_完成时间:2014年 月 日说 明1.本任务书由任课教师填写后,下达到学生。2.任务完成后,任课教师需填写小结表。3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一 并报送各教学研究部审核后转教务办。4.另附一份全班大作业总结大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)请根据所学的C语言的内容,完成一个完整的C语言程序,程 序的内容

2、和功能,可以自己根据需要进行自定义,但不能过于简单,代码行数要在1000行以上,且所设计的程序满足如下要求:1.程序中要具备结构体类型的数据操作、链表操作等;2.程序中要具备文件读取和写入的操作(含顺序、随机);3.程序中要具备常用的排序和查找功能;4.要有断点调试、改错过程及相应截图;5.要求程序具备简单的菜单功能,根据用户的输入,执行相应 的操作;6.在菜单界面,必须显示程序的名称、版本信息,开发者的名 字、班级、学号等信息。最终提交的作业,除提交完整的程序工程代码外,还必须以大 作业报告的形式说明程序的流程、结构以及设计、实现过程,具体参 见课程设计说明书和教材。作业评分将以完成的程序质

3、量和复杂程度为基础,并根据大作业 报告进行综合评分。教师小结:成绩:_教师签名:_教研部负责人:_学生姓名:高爽超命昌大争NANCHANG UNIVERSITYC语言工程实训课程设计题 目:_图书馆管理系统_学 院:_软件学院专 业:_软件工程_班 级:_软工133班_完成人数:_1A_成 员:_J_A_起讫日期:2014.2.172014.3.18_任课教师:刘伯成 职称:讲师完成时间:_2014年3月15 日_填表日期:2014 年 3 月 15 日目录一、需求分析.-1-1.1 项目介绍.-1-1.2 功能需求.-1-二、系统分析.-2-2.1 本程序需解决的关键技术问题.-2-2.2

4、程序流程.-2-三、程序设计与实现.-4-3.1 程序设计.-4-3.2 程序实现.-49-四、系统测试.-60-五、个人小结.-61-六、参考文献.-62-一、需求分析(参考教材第2章)1.1 项目介绍囹布管理条疡是一个裔液集感的囹有信息处理系疣,遍述囹 有僮的各种动怩进行整合,从而达到显示检索信息,梃之工 作致率,眸低管理鼠存等目的。1.2 功能需求一个党卷的囹羊管理系疣应接怩管理所喳的囹羊种类,囹节 信息W1及裱猪信息,迷要梃供各种囹书信息的检索布本莉切 犍。该系疾迷需要对囹书的借阅,归迷逐行管理,畀对族老 的罚款进行自劭合花。:要实现。下几个功惚,1禳老信息功惚2重构囹节信息3全看应借

5、囹军4同节借阅5重看罚款6借阅历史7节目布淘8画书编目管理-1-二、系统分析(参考教材第2章)2.1本程序需解决的关键技术问题需要斛决的关被犍犊包括山下几点;程格中要具备传相体类型的裁舞标作、轴表标作,2程图中要具备攵件不取和怎人的韩作(杳哌声和彘机)3程图中要具备有用的挪格和隆我动怩;4要今使用断点碉械、改第,5要求程本具备简单的栗草功摊,根据用户的榜人,执 竹相青的操作,2.2程序流程显示操作结果-3-三、程序设计与实现(参考教材第37章)3.1 程序设计#include#include#include#include FILE*fp;typedef struct Reader(char

6、Code20;证件号char Name30;姓名char Sex5;性别char Dept50;工作单位int Tag;状态:0-正常,1-挂失 Reader;typedef struct ReaderLink(charCode20;证件号char Name30;姓名char Sex5;性别char Dept50;工作单位int Tag;状态:0-正常,1-挂失struct ReaderLink*next;ReaderLink;#ifndef Catalog_H#define Catalog_H#define MAX_TREE_SIZE 100typedef struct Catalog 目录

7、结构类型(char Key20;编号char Caption80;标题,类名char Parent20;父类编号/int num;-4-Catalog;typedef struct CatalogTree 目录顺序存储结构类型(Catalog NodeMAX_TREE_SIZE;int root;根节点位置,根节点默认在0号单元;int num;最后一个结点的数组编号 CatalogTree;#ifndef Book_H#define Book_H#define MAX_BOOK_SIZE 5000#define true 1#define false 0typedef int bool;ty

8、pedef struct Bookfloat Price;价格char CatalogNum200;分类编号charISBN50;char Title200;char Author200;char Publisher100;char Date20;Book;typedef struct BookLink float Price;/价格char CatalogNum200;/分类编号 struct BookLink*next;JBookLink;charISBN50;charTitle200;char Author 200;char Publisher100;char Date 20;Book*

9、Node;typedef struct BookList图书顺序存储结构类型-5-出版日期.作者书名/ISBN号.出版日期作者书名/ISBN号图书单链表存储结构类型int Num;图书个数JBookList;#ifndef Lend_H#define Lend_H#define MAX_BOOK_LEND 4 最多借 15 本#define MAX_DAY_LEND 90/*最长借期 90 天*/typedef struct Lendlnfo(char Code 20;证件号charISBN50;char LendDate20;/借书日期char LastDate20;应还日期char Ret

10、urnDate20;归还日期int Tag;状态0;借出,1:归还 Lendlnfo;typedef struct LendlnfoLink(charCode20;证件号char ISBN50;char LendDate20;借书日期char LastDate20;应还日期char ReturnDate20;归还日期 int Tag;状态0;借出,1:归还struct LendlnfoLink*next;LendlnfoLink;void MainMenu();void ReadMenu();void ReadMenuChooseQ;void CatalogMenu();void Catalo

11、gMenuChoose();void BookMenuQ;void BookMenuChoose();void CirculMenu();void CirculMenuChoose();-6-void AddCatalog();增加分类void PrintCatalog();输出目录,(编号,类名,父类号)void CreatCatalogTree();建立分类目录树,调用 PrintCatalogTree()void PrintCatalogTree(CatalogTree*tree);/输出分类目录树,调用 PreOrder();void PreOrder(CatalogTree*,int

12、,int);递归遍历结构体数组输出树void AlterCatalog();修改分类#endifvoid BrowseReader();/浏览所有读者信息ReaderLink*InputReader();输入读者信息,建立链表void SaveReader(ReaderLink*);保存读者链表到文件void FindReader_Code();从文件中按照证件号查找void FindReader_Name();从文件中按照姓名查找void AlterReader();修改读者信息,从文件中读取信息,建立链表,查找并修改,再写回文件ReaderLink*CreatReaderLink();/从

13、文件读取读者信息并创建链表void SaveReaderW(ReaderLink*);/读者信息写入文件,删除旧信息浏览void LostReader();证件挂失#endif/*从文件读出数据,建立单链表,删改查后,重新写回文件增加图书就直接追加写入文件*/BookLink*InputBook();输入多个图书目录,建立链表void SaveBook(BookLink*);保存图书链表到文件BookLink*CreatBookLink();读取文件信息,建立图书目录链表void SaveBookW(BookLink*);保存链表到文件,重写BookLink*InsertSortBook(Bo

14、okLink*head);/0 书目录直接插入排序void DeleteBook();删除图书目录void AlterBook();修改图书目录#endifvoid BookBrowseCatalog();图书分类浏览BookList CreatBookList();建立图书结构体数组void FindISBN();/BookList BubbleSort(BookLis);int BinSearchISBN(BookList B,char);void FindISBN_BubbleSort();void FindISBN_SelectSort();void FindISBN_InsertSo

15、rt();BookList SelectSort(BookList);int BinSearchTitle(BookList,char);-7-void FindAuthor();BookList Insertsort(BookList);int SearchAuthor(BookList,char);顺序查找多个void FindPublisher();BookList BInsertSort(BookList);int SearchPublisher(BookList,char);/顺序查找多个void FindTitle();void LendBook();借阅图书Reader Find

16、ReaderL(char);/唐询读者/int LendBookNum(char);计算已借本数void SaveLendInfo(LendInfo);/保存借阅信息到文件void RetumBook();还书LendlnfoLink*CreatLendLink();/健立借阅信息链表void SaveLendlnfoW(LendlnfoLink*);保存借阅信息到文件,覆盖旧信息void FindLendnfo();查询个人借阅记录 void main()(int MenuNum;do(MainMenu();printf(请输入你的选择!0-4:);scanf(n%d,&MenuNum);s

17、witch(MenuNum)(case 1:ReadMenu();ReadMenuChooseQ;printf(nn-回车继续操作!-nn);getch();system(nclsn);break;case 2:CatalogMenu();CatalogMenuChooseQ;printf(nn-回车继续操作!-nn);-8-getch();system(nclsn);break;case 3:BookMenuQ;B ookMenuChooseQ;printf(n-回车继续操作!-nn);getch();system(nclsn);break;case 4:CirculMenuQ;Circul

18、MenuChooseQ;printf(n-回车继续操作!-nn);getch();system(nclsn);break;case 0:;break;)while(MenuNum!=0);void MainMenu()printf(n*nn);printf(n南昌大学图书馆管理系统nn);printf(n主菜单n);printf(n*n);printf(n*1.读者管理*n”);printf(n*2.图书分类管理*n”);printf(n*3.图书编目管理*n);printf(n*4.图书流通管理*n);printf(n*0.退出系统*n”);printf(n*n)printf(n版权所有南昌

19、大学软件工程高爽超 n);printf(n学号:8000113177 时间:2014/3/15 n);)printf(n*n)-9-void ReadMenu()printf(n*nn);printf(n读者管理菜单n);printf(n*nn);printf(n*1.浏览所有读者*n”);printf(n*2.增加读者*n”);printf(n*3.查询读者*n”);printf(n*4.修改读者*n”);printf(n*5.证件挂失*n);printf(n*0.返回上级*n”);printf(n*nn);void CatalogMenu()printf(n printf(n分类管理菜单n

20、n);n);printf(n*nn);printf(n*1.增加分类*n”);printf(n*2.输出分类*n);printf(n*3.输出树形分类树*n”);printf(n*4.修改分类*n”);printf(n*0.返回上级*n”);printf(n*nn);void BookMenu()printf(n printf(n图书编nn);目管理菜单n);printf(n*nn);printf(n*1.新书录入*n”);printf(n*2.删除图书目录*n);printf(n*3.修改图书目录*n”);-10-printf(n*4.查询图书目录*n”);printf(n*0.返回上级*n

21、”);printf(n*nn);)void CirculMenu()printf(n printf(n图书流通管nn);理菜单nn);printf(n*nn);printf(n*1.图书分类浏览*n);printf(n*2.图书检索*n”);printf(n*3.借书*n”);printf(n*4.还书*n”);printf(n*5.查询借阅记录*n”);printf(n*0.返回上级*n”);printf(n*nn);void CirculMenuChoose()(int MenuNum;int num;printf(请输入你的选择!0-5:”);scanf(H%d,&MenuNum);sw

22、itch(MenuNum)(case 1:-11-void CatalogMenuChoose()(int MenuNum;int num;printf(请输入你的选择!0-4:”);-12-)case0:;break;break;FindLendInfo();case5:break;RetumBook();case4:break;LendBook();case3:break;)FindPublisher();break;case4:FindAuthor();break;case3:FindTitle();break;case2:FindISBN_BubbleSort();break;case

23、1:(switch(num)scanf(n%d,&num);printf(n输入选择(ISBN1,书名2,作者3,.4):”);case2:break;BookBrowseCatalog();scanf(H%dH,&MenuNum);switch(MenuNum)case 1:AddCatalog();break;case 2:PrintCatalog();break;case 3:CreatCatalogTreeQ;break;case 4:AlterCatalog();break;case 0:;break;)void ReadMenuChoose()(int MenuNum;int nu

24、m;printf(请输入你的选择!0-5:”);scanf(H%dn,&MenuNum);switch(MenuNum)(case 1:BrowseReader();break;case 2:InputReader();break;case 3:printf(”n输入选择(证件号:1,姓名:2):”);scanf(n%d,&num);if(num=l)FindReader_Code();else FindReader_Name();break;case 4:AlterReader();break;case 5:LostReader();break;-13-case 0:;break;)void

25、 BookMenuChooseQ(int MenuNum;int num;printf(请输入你的选择!0-4:”);scanf(n%d,&MenuNum);switch(MenuNum)(case 1:InputBook();break;case 2:DeleteBook();break;case 3:AlterBookQ;break;case 4:FindISBN_BubbleSort();break;case 0:;break;void BrowseReader()(char Code 20;char Name30;char Sex5;char Dept50;int Tag;-14-if

26、(fp=fopen(Hreader.txtH,Hrn)=NULL)(printf(文件打开错误!n”);exit(O);)printf(nn-nn);printf(证件号 姓名 性别 单位 nn);printf(n-nn);fscanf(fp,n%s%s%s%s%dn,Code,Name,Sex,Dept,&Tag);while(!feof(fp)(printf(n%st%st%st%stnH,Code,Name,Sex,Dept);fscanf(fp,n%s%s%s%s%dn,Code,Name,Sex,Dept,&Tag);if(fclose(fp)(printf(不能关闭文件!nn);e

27、xit(O);ReaderLink*InputReader()(ReaderLink*p 产q,*head;char Code 20;int n=0,x;printf(nnn-nn);printf(证件号,姓名,性别(F,M),单位,挂失状态(0,1)。以#结束n);printf(nn-n);head=(ReaderLink*)malloc(sizeof(ReaderLink);p=head;scanf(n%sn,Code);while(l)-15-if(strcmp(Code,#n)=O)break;elseq=(ReaderLink*)malloc(sizeof(ReaderLink);s

28、trcpy(q-Code,Code);scanf(n%s%s%s%d,q-Name,q-Sex,q-Dept,&q-Tag);p-next=q;p=q;)scanf(H%sn,Code)|q-next=NULL;printf(读者信息输入结束!nn);getchar();printf(是否保存读者信息?(1.是/2.否):);scanf(n%d,&x);if(x=l)S aveReader(head);elseprintf(”n文件没有被保存!nn);return head;)void SaveReader(ReaderLink*head)ReaderLink*p;if(fp=fopen(nr

29、eader.txtn,nan)=NULL)(printf(文件打开错误!n);exit(O);)for(p=head-next;p!=NULL;p=p-next)fprintf(fp,n%st%st%st%st%dn,p-Code,p-Name,p-Sex,p-Dept,p-Tag);fclose(fp);-16-printf(”n图书信息已成功保存到文件reader.txt中!nn);getcharQ;)void FindReader_Code()(char Code 20;Reader R;int flag=O;printf(”n输入要查询读者的证件号:”);scanf(n%sn,Code

30、);if(fp=fopen(Hreader.txt,V,rn)=NULL)(printf(文件打开错误!n);exit(O);)while(!feof(fp)(fscanf(fp,n%s%s%s%s%dn,R.Code,R.Name,R.Sex,R.Dept,&R.Tag);if(strcmp(R.Code,Code)=0)(printf(Hn%st%st%st%st%dn,R.Code,R.Name,R.Sex,R.Dept,R.Tag);flag=l;break;if(flag=O)printf(没有找到读者记录!n);getchar();fclose(fp);)void FindRead

31、er_Name()char Name30;Reader R;int flag=O;-17-printf(”n输入要查询读者的姓名:”);scanf(H%sn,Name);if(fp=fopen(Hreader.txtH,HrH)=NULL)(printf(文件打开错误!n”);exit(O);while(!feof(fp)(fscanf(fp,n%s%s%s%s%d,R.Code,R.Name,R.Sex,R.Dept,&R.Tag);if(strcmp(R.Name,Name)=O)(printf(nn%st%st%st%st%dnn,R.Code,R.Name,R.Sex,R.Dept,R

32、.Tag);flag=l;break;if(flag=O)printf(没有找到读者记录!n”);fclose(fp);void AlterReader()(char Code 20;char Name30;char Sex5;char Dept50;int Tag;ReaderLink*head,*p;head=CreatReaderLink();printf(输入要修改的读者的证件号:”);-18-scanf(n%sn,Code);p=head-next;for(p;p!=NULL&strcmp(p-Code,Code)!=0;p=p-next);printf(找到要修改的读者:”);pr

33、intf(n%st%st%st%st%dnn,p-Code,p-Name,p-Sex,p-Dept,p-Tag);printf(输入读者新的信息:证件号,姓名,性别,工作单位,状态:n);scanf(n%s%s%s%s%dn,p-Code,p-Name,p-Sex,p-Dept,&p-Tag);printf(n%st%st%st%st%dnH,p-Code,p-Name,p-Sex,p-Dept,p-Tag);SaveReaderW(head);printf(修改成功!”);ReaderLink*CreatReaderLink()(ReaderLink*head,*p,*q;if(fp=fop

34、en(Hreader.txtH,nrH)=NULL)(printf(文件打开错误!n);exit(O);)head=(ReaderLink*)malloc(sizeof(ReaderLink);p=head;while(!feof(fp)(q=(ReaderLink*)malloc(sizeof(ReaderLink);fscanf(fp,n%st%st%st%st%dnH,q-Code,q-Name,q-Sex,q-Dept,&q-Tag);p-next=q;p=q;q-next=NULL;-19-fclose(fp);return head;)void SaveReaderW(Reader

35、Link*head)ReaderLink*p;if(fp=fopen(Hreader.txt,V,wn)=NULL)(printf(文件打开错误!n);exit(O);)for(p=head-next;p!=NULL;p=p-next)fprintf(fp,H%st%st%st%st%dnn,p-Code,p-Name,p-Sex,p-Dept,p-Tag);fclose(fp);printf(”n读者信息已成功保存到文件reader.txt中!nn);getchar();)void LostReader()(char Code 20;char Name30;char Sex5;char De

36、pt50;int Tag;ReaderLink*head,*p;head=CreatReaderLink();printf(输入挂失证件号:”);scanf(n%sn,Code);p=head-next;for(p;p!=NULL&strcmp(p-Code,Code)!=0;p=p-next);printf(nn找到要挂失的读者:”);-2 0-printf(%st%st%st%sn,p-Code,p-Name,p-Sex,p-Dept);p-Tag=l;S aveReaderW(head);printf(”n 挂失成功!nn);void AddCatalog()(Catalog C;if(

37、fp=fopen(,catalog3.dat,;,ab,)=NULL)(printf(uFile open error!nn);exit(O);)else(printf(输入:分类编号,类名,父类编号。#结束:n);scanf(H%sH,C.Key);while(strcmp(C.Key,n#n)!=O)(scanf(n%s%sn,C.Caption,C.Parent);fwrite(&C,sizeof(Catalog),1,fp);scanf(H%sn,C.Key);)fclose(fp);printf(操作成功!n);-2 1-void PrintCatalog()(Catalog C;i

38、f(fp=fopen(ncatalog3.datH,nrbn)=NULL)(printf(nFile open error!nn);exit(O);)else(fread(&C,sizeof(Catalog),1,fp);while(!feof(fp)(printf(n%st%st%snn,C.Key,C.Caption,C.Parent);fread(&C,sizeof(Catalog),1,fp);void CreatCatalogTree()(CatalogTree C;int i=0;if(fp=fopen(ncatalog3.datn,Hrbn)=NULL)(printf(nFile

39、 open error!nH);exit(O);)else(fread(&C.Nodei,sizeof(Catalog),1,fp);while(!feof(fp)i+;fread(&C.Nodei,sizeof(Catalog),1,fp);C.num=i;C.root=0;-2 2-fclose(fp);PrintCatalogTree(&C);)void PrintCatalogTree(CatalogTree*tree)(inti;int levels 1;PreOrder(tree,0,level);)void PreOrder(CatalogTree*tree,int k,int

40、level)(int i,j,m=0;for(i=l;iNodek.Caption,tree-Nodek.Key);for(j=k+l;jnum;j+)(if(strcmp(tree-Nodej.Parent,tree-Nodek.Key)=0)(if(m=0)(PreOrder(tree,j,+level);m+;)elsePreOrder(tree,j,level);void AlterCatalog()(char Key 20;Catalog C;-2 3-int num=O;printf(n-nn”);printf(输入要修改的分类的编号:”);scanf(%sH,Key);if(fp

41、=fopen(ncatalog3.dat,nrb+)=NULL)(printf(nFile open error!n);exit(O);)else(fread(&C,sizeof(Catalog),1,fp);while(!feof(fp)(if(strcmp(C.Key,Key)=0)(printf(n%st%st%snn,C.Key,C.Caption,C.Parent);break;)fread(&C,sizeof(Catalog),1,fp);num+;printfC*输入分类新的编号,类名,父类号:nn);scanf(n%s%s%sn,C.Key,C.Caption,C.Parent

42、);fseek(fp,num*sizeof(Catalog),SEEK_SET);fwrite(&C,sizeof(Catalog),1,fp);printf(修改成功!nnn);fclose(fp);-2 4-2 5-elsebreak;if(strcmp(ISBN,#)=O)(while(l)gets(ISBN);printf(输入ISBN:);getchar();p=head;head=(BookLink*)malloc(sizeof(BookLink);printf(”n输入一项回车:n);printf(ISBN-书名-作者-.-出版日期-价格-分类编号nn”);printf(n-nn

43、);printf(”n请按对应项输入图书目录以#结束:nn);intn=0,x;charISBN50;BookLink*p产q,*head;BookLink*InputBook()gets(ISBN);printf(”nn输入ISBN:);)p=q;p-next=q;printf(输入分类编号:);gets(q-CatalogNum);getchar();printf(输入价格:);scanf(n%fn,&q-Price);printf(输入出版日期:);gets(q-Date);printf(输入.:);gets(q-Publisher);printf(输入作者:);gets(q-Autho

44、r);printf(输入书名:”);gets(q-Title);strcpy(q-ISBN,ISBN);q=(BookLink*)malloc(sizeof(BookLink);)q-next=NULL;printf(图书目录输入结束!nnn);printf(是否保存图书目录?(1.是/2.否):);scanf(n%dn,&x);if(x=l)SaveBook(head);elseprintf(n文件没有被保存!nn);return head;void SaveBook(BookLink*head)BookLink*p;if(fp=fopen(books.txtn,nan)=NULL)(pri

45、ntf(nFile open error!nH);exit(O);)for(p=head-next;p!=NULL;p=p-next)fprintf(fp,%st%st%st%st%st%,2ft%sn,p-ISBN,p-Title,p-Author,p-Publisher,p-Date,p-Price,p-CatalogNum);fclose(fp);printf(n图书信息已成功保存到文件book.txt中!nu);getchar();)BookLink*CreatBookLink()BookLink*head,*p,*q;charISBN50;charTitle200;char Auth

46、or200;char Publisher100;-2 6-char Date20;float Price;char CatalogNum200;if(fp=fopen(books.txtn,nrn)=NULL)(printf(File open error!n);exit(0);)head=(BookLink*)malloc(sizeof(BookLink);q=head;fscanf(fp,n%Atn,ISBN);fscanf(fp,n%*t);fscanf(fp,n%Atn,Title);fscanf(fp,n%*tn);fscanf(fp,%Atn,Author);fscanf(fp,n

47、%*tn);fscanf(fp,n%Atn,Publisher);fscanf(fp,n%*t);fscanf(fp,H%Atn,Date);fscanf(fp,H%*tn);fscanf(fp,n%fn,&Price);fscanf(fp,H%*tn);fscanf(fp,%An,CatalogNum);fscanf(fp,n%*cn);while(!feof(fp)(p=(BookLink*)malloc(sizeof(BookLink);strcpy(p-ISBN,ISBN);strcpy(p-Title,Title);strcpy(p-Author,Author);strcpy(p-P

48、ublisher,Publisher);strcpy(p-D ate,Date);p-Price=Price;-2 7-strcpy(p-CatalogNum,CatalogNum);q-next=p;q二P;fscanf(fp,n%At,ISBN);fscanf(fp,n%*t);fscanf(fp,%At,Title);fscanf(fp,n%*t);fscanf(fp,%At,Author);fscanf(fp,n%*t);fscanf(fp,n%At,Publisher);fscanf(fp,n%*t);fscanf(fp,%At,Date);fscanf(fp,H%*tn);fsca

49、nf(fp,%fn,&Price);fscanf(fp,n%*t);fscanf(fp,n%Ann,CatalogNum);fscanf(fp,%*cn);p-next=NULL;fclose(fp);/*p=head-next;while(p!=NULL)(printf(n%st%st%st%st%st%.2ft%snn,p-ISBN,p-Title,p-Author,p-Publisher,p-Date,p-Price,p-CatalogNum);p=p-next;*/return head;)-2 8-void SaveBookW(BookLink*head)BookLink*p;if(

50、fp=fopen(books.txtn,nwn)=NULL)(printf(nFile open error!nn);exit(O);)for(p=head-next;p!=NULL;p=p-next)fprintf(fp,n%st%st%st%st%st%.2ft%sn,p-ISBN,p-Title,p-Author,p-Publisher,p-Date,p-Price,p-CatalogNum);fclose(fp);printf(”n图书信息已成功保存到文件book.txt中!nn);getchar();)void DeleteBook()BookLink*head,*p,*pre;ch

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服