《图书管理系统软件》由会员分享,可在线阅读,更多相关《图书管理系统软件(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.ye ar,booki.publish_time.month,
2、booki.publish_time.day,booki.amount) #define PAGE 3 #define MAX 300 int sum; /*用来记录图书数目(全局变量)*/ struct DATE/*定义日期结构体类型*/ int year;int month;int day; ; struct BOOK/*定义图书结构体类型*/ int num; /*图书编号*/char name10; /*图书名称*/char writer8; /*图书作者*/char type10; /*图书类型*/char publish40; /*图书出版社*/struct DATE publis
3、h_time; /*图书出版时间*/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“,if(booki.num=0) break;printf(“n 输入图书名称:“);scanf(“%s“,booki.name);printf(“n
4、 输入图书作者:“);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“,printf(“n 输入图书总量:“);scanf(“%d“, i+; printf(“n 要继续输入吗?(Y/N):“);choice=getch();if(choice=N|choice=n) break;while(ibookj.num) t=bo
5、oki;booki=bookj;bookj=t;printf(“ *排序结果为*“);output(); /*按图书名称排序*/void sort_name() int i,j;struct BOOK t;read();for(i=0;i0)t=booki;booki=bookj;bookj=t;printf(“ *排序结果为*n“);output(); /*按图书类型排序*/void sort_type() int i,j;struct BOOK t;read();for(i=0;i0) t=booki;booki=bookj;bookj=t;printf(“ *排序结果为*“);outpu
6、t(); /*排序模块*/void sort() int choice;do printf(“nn *排序信息*nn“);printf(“ 1.按图书编号排序nn“);printf(“ 2.按图书名称排序nn“);printf(“ 3.按图书类型排序nn“);printf(“ 0.返回主菜单nn“);printf(“ 请选择(0-3):“);scanf(“%d“,switch(choice) case 1: sort_num();break;case 2: sort_name();break;case 3: sort_type();break;case 0: break;while(choic
7、e!=0); /*统计模块*/ /*按图书名称统计数量*/void count_name() int i,count=0,j=0;read();char count_name20;printf(“ 输入图书名称:“);scanf(“%s“,count_name);for(i=0;isum;i+) if(strcmp(booki.name,count_name)=0) count+=booki.amount;PRINT1;PRINT2;PRINT3;else j+;if(j=sum) printf(“n *错误无此名称的图书!“);printf(“n 按任意键退出!“);if(j!=sum)pr
8、intf(“nn * 图书总量为%4dn“,count); /*按图书类型统计数量*/void count_type() int i,count=0,j=0;read();char count_type20;printf(“ 输入图书类型:“);scanf(“%s“,count_type);for(i=0;isum;i+) if(strcmp(booki.type,count_type)=0)count+=booki.amount;PRINT1;PRINT2;PRINT3; else j+;if(j=sum)printf(“n *错误!无此类型的图书!“);printf(“n 按任意键退出!“
9、); if(j!=sum)printf(“nn 图书总量为%4dn“,count); /*按图书出版社统计数量*/void count_publish() int i,count=0,j=0;read();char count_publish20;printf(“ 请输入出版社名称: “);scanf(“%s“,count_publish);for(i=0;isum;i+) if(strcmp(booki.publish,count_publish)=0) count+=booki.amount;PRINT1;PRINT2;PRINT3;else j+;if(j=sum) printf(“n
10、错误!无此出版社信息“);printf(“n 按任意键退出!“);if(j!=sum)printf(“nn *图书总量为%4d“,count); /*统计模块*/void count() int choice;doprintf(“nnn *统计信息*nn“);printf(“ 1.按图书名称统计nn“);printf(“ 2.按图书类型统计nn“);printf(“ 3.按图书出版社统计nn“);printf(“ 0.返回主菜单nn“);printf(“ 请选择(0-3):“);scanf(“%d“,switch(choice)case 1: count_name();break;case 2
11、: count_type(); break;case 3: count_publish(); break;case 0: break;while(choice!=0); /*主函数*/void main() int i,choice;char a7=“890128“,b7;printf(“nn 请输入密码(六位):“);for(i=0;i6;i+) bi=getch();printf(“*“);getch();b6=0;if(!strcmp(a,b)do system(“color 1f“);printf(“nnn *欢迎进入西安邮电学院图书馆*nn“);printf(“ 1. 录入图书信息n“);printf(“ n“);printf(“ 2. 保存图书信息n“);printf(“ n“);printf(“ 3. 读取图书信息n“);printf(“ n“);printf(“ 4. 输出图书信息n“);printf(“ n“);printf(“ 5. 查询图书信息n“);printf(“ n“)