图书馆管理系统 c语言编写
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
#include "math.h"
#define LEN sizeof(struct library)
#define LEN1 sizeof(struct reader)
#define NULL 0
struct library//图书馆结构体
{int shuhao,xcl;
char name[20],author[20],chuban[20];
struct library *next;
};
struct reader//读者结构体
{
int zhenghao;
char mingzi[20],riqi[20],zname[20];
struct reader *next;
};
void mainmenu() //显示主菜单
{ system ("cls");
printf("\n");
printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n");
printf("\t\t\t\t 2.借阅系统\n\n");
printf("\t\t\t\t 3.退出系统\n\n");
printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n");
return ;
}
void menu1() //显示图书馆信息菜单
{ system ("cls");
printf("");
printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n");
printf("\t\t\t\t 2.清除库存\n\n");
printf("\t\t\t\t 3.图书查询\n\n");
printf("\t\t\t\t 4.库存一览\n\n");
printf("\t\t\t\t 5.返回上一层\n\n");
printf("\t\t\t 请按键选择,回车确定\n");
printf("\t\t\t\t#######################\n");
printf("\n");
return ;
}
void menu2() //显示查询菜单
{ system ("cls");
//printf("");
printf("\t\t\t\t#######################\n");
printf("\t\t\t\t 1.书号查询\n\n");
printf("\t\t\t\t 2.书名查询\n\n");
printf("\t\t\t\t 3.作者查询\n\n");
printf("\t\t\t\t 4.出版社查询\n\n");
printf("\t\t\t 请按键选择,回车确定\n");
printf("\t\t\t\t#######################\n");
//printf("");
return ;
}
void main()//主函数,调用main1
{void main1();
main1();}
void main1()//main1函数
{void tsgxx();//声明
void jieshuxitong();//声明
char choose;
mainmenu();
scanf("%c",&choose);
switch(choose)//功能函数选择
{ case '1':tsgxx();break;
case '2':jieshuxitong();break;
case '3':system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t Byebye...");printf("\n\n\n\n\n\n\n\n\n\t\t\t 欢迎使用本软件!!!");getch();exit(0);system ("cls");break;
}
}
void tsgxx()//图书馆信息函数
{ void tsjinku();
void shanchu();
void chaxunts();
void xianshikucun();//函数声明
char choose;
menu1();//调用菜单函数
scanf("%c",&choose);
scanf("%c",&choose);
for (;;)
switch(choose)//功能函数选择
{ case '1':tsjinku();break;
case '2':shanchu();break;
case '3':chaxunts();break;
case '4':xianshikucun();break;
case '5':main1();break;
}
}
int tjzs()//统计文本个数函数
{ FILE *fp;
int tshuhao=0,txcl=0,n;
char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'};
fp=fopen("library.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%d %s %s %s %d",&tshuhao,tname,tauthor,tchuban,&txcl);
n--;
fclose(fp);//关闭文件
return (n);//返回个数
}
int tjdzzs()//统计文本个数函数
{ FILE *fp;
int zhenghao=0,n;
char mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};
fp=fopen("reader.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%d %s %s %s ",&zhenghao,&mingzi,&riqi,&zname);
fclose(fp);//关闭文件
return (n);//返回个数
}
void tsjinku()//图书进库函数
{ FILE *fp;
int shuhao=0,xcl=0,n=0;
char name[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'};
char hitkey;
system ("cls");
if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件,不存在此文件则新建{ fp=fopen("library.txt","w");