C语言大作业(图书管理).doc
《C语言大作业(图书管理).doc》由会员分享,可在线阅读,更多相关《C语言大作业(图书管理).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c语言图书管理系统 主要功能:1. 新进图书基本信息的输入。 2. 显示全部记录 3. 按图书名称查询图书基本信息。 4. 根据图书名称对撤消的图书信息进行删除。 5. 按图书名称从小到大排序。6. 统计某价格以上的图书数量。7. 列出所有未借出去的图书信息。基本信息:图书编号、图书名称、单价、作者、存在状态、借书人姓名、性别、学号等#include #include #include #include typedef int BOOL;typedef struct bookinfo char number15;/*产品编号*/ char name30;/*产品名称*/ float price
2、;/*单价*/ char auther20;/*作者*/ BOOL isExit;/*存在状态*/ char lendername20;/*借书人姓名*/ char lendersex2;/*借书人性别*/ char lendernum15;/*借书人学号*/BOOKINFO;void menu() printf(nnnnnnn); printf(ttt图书管理系统n); printf(ttt1:新进图书基本信息的输入n); printf(ttt2:显示全部记录n); printf(ttt3:根据图书名称查询图书基本信息n); printf(ttt4:根据图书名称对撤销的图书信息进行删除n);
3、 printf(ttt5:按照图书名称从小大到排序n); printf(ttt6:统计某价格以上的图书数量n); printf(ttt7:列出所有未借出去的图书信息n); printf(ttt8:退出n); void choice_1_input_new()/*输入新进的图书信息*/ char choice; FILE *p; BOOKINFO newbook; system(cls); while(1) printf(输入图书编号:); gets(newbook.number); printf(输入图书名称:); gets(newbook.name); printf(输入图书单价:); sc
4、anf(%f,&newbook.price); while(getchar()!=n); printf(输入图书的作者:); gets(newbook.auther); printf(输入借书人姓名:); gets(newbook.lendername); printf(输入借书人性别:); gets(newbook.lendersex); printf(输入借书人学号:); gets(newbook.lendernum); printf(是否保存该条书目?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=
5、n) choice=getch(); if(choice=Y|choice=y) newbook.isExit=1;/*将图书状态设置成1,表示没有借出*/ p=fopen(c:bookinfo.data,ab); fwrite(&newbook,sizeof(BOOKINFO),1,p); fclose(p); printf(n该条书目已添加到c:bookinfo.data文件中!n); else printf(n本条书目未保存!n); printf(n是否继续添加书目?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&
6、choice!=n) choice=getch(); if(choice=Y|choice=y) continue; else break; void choice_2_display_all()/*显示全部图书信息*/ FILE *p; int n; BOOKINFO bookinfo100; int booknumber=0; system(cls); p=fopen(c:bookinfo.data,rb); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; /*booknumber-;
7、使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); booknumber-; if(booknumber=0) printf(没有任何图书信息!nn); else n=0; printf( 图书信息如下n); printf( 图书信息 | 借书人信息 n); printf(编号 名称 单价 作者 图书状态 | 姓名 性别 学号n); while(nbooknumber) printf(%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn, bookinfon.number,bookinfon.name,bo
8、okinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); n+; printf(nn按任意键回到主菜单!n); getch(); void choice_3_search_according_name()/*根据图书名称显示图书的信息*/ char search20=;/*search用来存放要查询的书名*/ int n; FILE *p; char choice; BOOKINFO bookinfo100; int bookn
9、umber=0; system(cls); p=fopen(c:bookinfo.data,rb); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); while(1) printf(输入要查询的书本名称:); gets(search); if(booknumber=0) printf(书库中没有任何信息!nn); printf(按任意键回到主菜单!n
10、n); getch(); break; /*if结束*/ else for(n=0;n=booknumber) printf(没有查找该书的任何信息!n); printf(nn是否继续查询?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) continue; else break; /*else结束*/ /*while(1)结束*/ void choice_4_delete_according_name()/*根据图书名称对图
11、书信息进行删除*/ char search20=;/*search用来存放要删除的书名*/ int n,i; FILE *p; char choice; BOOKINFO bookinfo100; int booknumber; system(cls); while(1) printf(输入要删除的书本名称:); gets(search); p=fopen(c:bookinfo.data,rb); booknumber=0; while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 图书 管理
限制150内