在这#include <stdio.h>
#include <stdlib.h>//其中包含system函数
#include <conio.h>//定义了通过控制台进行 数据输入 和数据输出的函数,如getch函数。
#include <string.h>//定义字符数组
#include <math.h>
#define LEN sizeof(struct book)//有关图书信息的结构体
#define LEN1 sizeof(struct reader)//有关读者信息的结构体
#define LEN2 sizeof(struct land)//有关登录系统的结构体
struct book//图书信息
{
char num[20],nam[20],aut[20],pub[20],cat[20];
int many;
float price;
struct book*next;
};
struct reader//读者借阅信息
{
int jnum;
char jnam[20],time[20],tsnam[20];
struct reader *next;
};
struct land//登录信息
{
int zhanghao;
char password[20];
struct land*next;
};
int tjzs();//统计library文本个数函数
void xg(int,char[] );
void mainmenu();//显示主菜单
void tsmenu();//显示图书信息菜单
void jmenu();//显示借阅信息菜单
void lmenu();//显示登录菜单
void main1();// 主菜单功能
void tsmain();//图书菜单功能
void cxts();//查询图书
void zjts();//增加图书
void scts();//删除图书
void llts();//浏览图书
void jmain();//读者借阅信息
void js();//借书
void hs();//还书
void cxjs();//查询借书
void lljs();// 浏览借书情况
void land();//登录功能系统
int xinjian(int,char[] );//创建账号密码
void xgmm();//修改密码
void lmain();//登录界面函数
int tjzs()//统计图书文本个数
{
FILE *fp;
int txcl=0,n;
float tprice=0;
char tname[20]={
'\0'},tauthor[20]={
'\0'},tchuban[20]={
'\0'},tkind[20]={
'\0'},tshuhao[20]={
'\0'};
fp=fopen("library.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
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);
n--;
fclose(fp);//关闭文件
return (n);//返回个数
}
int tjzs3()//统计账号密码文本个数
{
FILE *fp;
int zhao=0,n;
char mm[20]={
'\0'};
fp=fopen("land.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%d %s",&zhao,mm);
n--;
fclose(fp);//关闭文件
return (n);//返回个数
}
void mainmenu()//主菜单
{
system ("cls");
printf("**************************************************");
printf("\n\n 1.图书系统\n\n");
printf("\n\n 2.借阅系统\n\n");
printf("\n\n 3.退出系统\n\n");
printf("\n\n 请按键选择,回车确定\n");
printf("*************************************************\n");
return ;
}
void tsmenu() //图书馆信息菜单
{
system ("cls");
printf("****************************************************");
printf("\n 1.增加图书\n\n");
printf("\n 2.删除图书\n\n");
printf("\n 3.查询图书\n\n");
printf("\n 4.库存浏览\n\n");
printf("\n 5.返回上一层\n\n");
printf("\n 请按键选择,回车确定\n");
printf("***************************************************\n");
return ;
}
void main1()
{
void tsmian();
void jmain();
char choose;
mainmenu();
scanf(" %c",&choose);
switch(choose)//功能函数
{
case'1':
tsmain();
break;
case'2':
jmain();
break;
case'3':
system("cls");
getch();
exit(0);
system ("cls");
break;
}
}
void tsmain()
{
void zjts();
void scts();
void ctts();
void llts();
char choose;
tsmenu();
scanf(" %c",&choose);
for(;;)
{
switch(choose)
{
case'1':
zjts();
break;
case'2':
scts();
break;
case'3':
cxts();
break;
case'4':
llts();
break;
case'5':
main1();
break;
}
}
}
void zjts()//增加图书
{
FILE*fp;
char i;
int many=0;
float price=0;
char nam[20]={
'\0'},aut[20]={
'\0'},cat[20]={
'\0'},pub[20]={
'\0'},num[20]={
'\0'};
system ("cls");
if ((fp=fopen("library.txt","r"))==NULL)//if语句:打开图书馆文件,不存在此文件则新建
{
fp=fopen("library.txt","w");
fclose(fp);
}
fp=fopen("library.txt","a");
printf("\n请按以下格式输入图书信息:\n书号 书名 作者 出版社 类别 进库量 单价");
for(;i!=27;)//为了实现输入一次后按esc退出
{
printf("请输入:\n");
scanf("%s%s%s%s%s%d%f",num,nam,aut,pub,cat,&many,&price);
fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",num,nam,aut,pub,cat,many,price);
printf("继续输入请按回车,结束输入请按Esc\n");
i=getch();//暂停程序当i接收后继续下一条指令
for (;i!=13&&i!=27;)//保证只能是CR和ESC才能退出循环,输入其他字符无用,暂停程序,按'CR'继续。
i=getch();
}
fclose(fp);
printf("\n保存成功,按任意键返回上一层!");
getch();
tsmain();//返回上一层
}
void scts()//删除图书
{
struct book *head=NULL;
struct book *p,*p1,*p2;
int tmany=0,n=0,j,k;
float tprice=0;
char tnam[20]={
'\0'},taut[20]={
'\0'},tcat[20]={
'\0'},tpub[20]={
'\0'},tnum[20]={
'\0'};
char jjnam[20]={
'\0'};
char i;
FILE *fp;
if ((fp=fopen("library.txt","r"))==NULL)//打开文件
{
system ("cls");
printf("\n记录文件不存在!按任意键返回");
getch();
tsmain();
}
else//实现删除的功能
{
system ("cls");
printf("\n请输入你要删除的书名:");//输入删除图书书名
scanf("%s",jjnam);
printf("\n确认删除请回车,取消请按Esc\n");
i=getch();
for(;i!=13&&i!=27;)
i=getch()
C语言做图书管理系统
最新推荐文章于 2023-07-25 17:47:52 发布