《图书管理系统软件.doc》由会员分享,可在线阅读,更多相关《图书管理系统软件.doc(14页珍藏版)》请在金锄头文库上搜索。
1、#include#include#include#include#define PRINT1 printf(*n)#define PRINT2 printf(图书编号-图书名称-图书作者-图书类型-图书出版社-图书出版时间(年-月-日)-图书数量n)#define PRINT3 printf( %d %s %s %s %s %d-%d-%d %dn,booki.num, booki.name,booki.writer,booki.type,booki.publish,booki.publish_time.year,booki.publish_time.month,booki.publish_t
2、ime.day,booki.amount)#define PAGE 3#define MAX 300int sum; /*用来记录图书数目(全局变量)*/struct DATE/*定义日期结构体类型*/ int year; int month; int day;struct BOOK/*定义图书结构体类型*/ int num; /*图书编号*/ char name10; /*图书名称*/ char writer8; /*图书作者*/ char type10; /*图书类型*/ char publish40; /*图书出版社*/ struct DATE publish_time; /*图书出版时
3、间*/ int amount; /*图书数量*/bookMAX;/*存放MAX个图书信息记录的结构体数组*/*录入模块*/void input() int i=0,s=MAX; char choice; printf(nn * 录入图书信息* (最多%d种)n,s); printf( *n); do printf(n 第%d种图书,i+1); printf(n 输入图书编号:); scanf(%d,&booki.num); if(booki.num=0) break; printf(n 输入图书名称:); scanf(%s,booki.name); printf(n 输入图书作者:); sca
4、nf(%s,booki.writer);printf(n 输入图书类型:);scanf(%s,booki.type); printf(n 输入出版社:); scanf(%s,booki.publish); printf(n 出版时间(yyyy-mm-dd):); scanf(%d-%d-%d,&booki.publish_time.year,&booki.publish_time.month,&booki.publish_time.day); printf(n 输入图书总量:); scanf(%d,&booki.amount);i+;printf(n 要继续输入吗?(Y/N):); choic
5、e=getch(); if(choice=N|choice=n) break; while(iMAX); printf(n *%d种图书信息输入完毕!*n,i); sum=i; printf(n 按任意键返回主菜单!);/*保存模块*/void save() FILE *fp; int i=0; char filename10; printf(n 输入要保存的文件名称:); scanf(%s,filename); /*交互式文件方法*/ if ( (fp=fopen(filename, wb) = NULL) printf(nn*写文件错误!*nn); if(fwrite(&booki,siz
6、eof(bookMAX),1,fp)!=1) printf(*写文件错误!*n); fclose(fp);/*读取模块*/void read() FILE *fp; int i=0;char filename10; printf(n 输入要保存的文件名称:); scanf(%s,filename); /*交互式文件方法*/ if ( (fp=fopen(filename, r) = NULL) printf(nn*读文件错误!*nn); while(!feof(fp) fread(&booki,sizeof(bookMAX),1,fp); if(booki.num=0) break; else
7、 i+; fclose(fp); sum=i;/*输出模块*/void output() int i=0,j=0,page=1; system(cls); /*清屏*/ printf(nn *图书信息表* 第%d页nn,page); PRINT2; PRINT1; do if(booki.num!=0) j+; if(j%PAGE!=0) PRINT3; PRINT1; else PRINT3; PRINT1; if(booki+1.num!=0) printf(按任意键继续!); printf(nn *图书信息表* 第%d页nn,+page); PRINT2; PRINT1; i+; whi
8、le(booki.num!=0);printf(n); printf(按任意键返回主菜单!);/*更新图书信息模块*/*删除模块*/void del() int i,j,del_num,b=0; read(); printf( 输出要删除的图书编号:); scanf(%d,&del_num); for(i=0;isum;i+) if(booki.num=del_num&booki.num!=0) for(j=i;jsum;j+) bookj=bookj+1; sum-; break; else b+; PRINT1; PRINT2; for(i=0;isum;i+) PRINT3; print
9、f(n); if(sum=b) printf( 该图书不存在); printf( 按任意键返回); /*添加模块*/void append() int i,flag=0; char choice; i=sum; read(); printf(nn 添加一种新图书n); do printf(n 新图书编号:);scanf(%d,&booki.num); printf(n 图书名称:); scanf(%s,booki.name); printf(n 作者名称:); scanf(%s,booki.writer);printf(n 图书类型:);scanf(%s,booki.type); printf(n 出版社名称:); scanf(%s,booki.publish); printf(n 出版时间(yyyy-mm-dd):); scanf(%d-%d-%d,&booki.publish_time.year,&booki.publish_time.month,&booki.publish_time.day); printf(n 图书数量:); scanf(%d,&booki.amount);i+; printf(n 要继