
求c语言编程(好用的肯定追加分数,害怕没人回答,所以悬赏少了点)
图书资料信息管理系统图书资料基本信息:中图法分类号、图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、定价、馆藏数、借阅数等。中图法分类号:T工业科学TB一般...
图书资料信息管理系统
图书资料基本信息:中图法分类号、图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、定价、馆藏数、借阅数等。
中图法分类号:
T工业科学
TB一般工业技术 TD矿业工程,TE石油、天然气 TF金工业 TG金属学 TH 机械 TJ武器工业 TK动力工业 TL原子能技术 TM电工技术 TN 无线电电子学、通信技术
程序应包括以下功能
1 图书资料基本信息录入、修改、插入、删除等操作
2 根据一定的条件查询图书资料基本信息
3 统计馆藏书籍总数、已借出数据总数、在馆书籍数等
4 统计馆藏书籍总金额、馆藏书籍的平均价格
最好是偏好的现成的
麻烦能帮我改下不?
你改完了我好学学是怎么回事。
呵呵 展开
图书资料基本信息:中图法分类号、图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、定价、馆藏数、借阅数等。
中图法分类号:
T工业科学
TB一般工业技术 TD矿业工程,TE石油、天然气 TF金工业 TG金属学 TH 机械 TJ武器工业 TK动力工业 TL原子能技术 TM电工技术 TN 无线电电子学、通信技术
程序应包括以下功能
1 图书资料基本信息录入、修改、插入、删除等操作
2 根据一定的条件查询图书资料基本信息
3 统计馆藏书籍总数、已借出数据总数、在馆书籍数等
4 统计馆藏书籍总金额、馆藏书籍的平均价格
最好是偏好的现成的
麻烦能帮我改下不?
你改完了我好学学是怎么回事。
呵呵 展开
展开全部
admin
123456
int insert(int);//添加书籍
int search(int d);//书籍查找
void chaxun(int);//查询
void main1();//书籍查询界面
void shezhi();//界面设置
void know();//用户须知
void bye();//结束界面
void jie();//借书
void huan();//还书
int syhyk(double k);//使用会员卡
double jisuan(int k);//计算费用
void check(int k);//月年日合法性
int findid(int d);//办理借阅手续
int del();//删除书籍
int huiyuan(int);//会员功能界面
int tianjia(int m);//添加会员
int jiancha(int temp);//会员卡号检查
void srmima(int m);//输入密码
void srsfz(int m);//输入身份证
void chaxunhuiyuan(int m);//查询会员
void help();//软件帮助
struct members{
int mid;//会员卡号
char name[20];//姓名
char idcard[19];//身份证
char mima[7];
char address[50];
int sfjie;//是否借书
}member[N];
struct books{
int bookid;
char bookname[30];
char writer[10];
int zhuangtai;
int year,month,day;
}book[N]={
{10001,"C语言","谭浩强",1,0,0,0},
{10002,"C++","不详",1,0,0,0},
{10003,"诛仙","不详",1,0,0,0},
{10004,"佛公子","不详",1,0,0,0},
{10005,"鬼律师","不详",1,0,0,0},
{10006,"PHP编程","不详",1,0,0,0},
{10007,"C#编程","不详",1,0,0,0}
};
void main()
{
int m,d,i=7,mem=0;
system("color 0e");//调用颜色函数
jiemian();
printf("\n\n\n\n\n\n");
printf("\t 按ENTER继续...");
fflush(stdin);
getchar();
system("cls");//清屏,等于在DOS上使用cls命令
administrator();
do{
system("cls");
starmain();
scanf("%d",&m);
switch(m)
{
case 1:system("cls");
i=insert(i);
break;
case 2:system("cls");
chaxun(i);
break;
case 3:system("cls");
jie();
break;
case 4:system("cls");
huan();
break;
case 5:system("cls");
d=del();
if(d==0)
{
printf("\n\n\t 无法删除,没找到此书或此书已经借出!");
fflush(stdin);
getchar();
}
else if(d==1)
{
i--;
printf("\n\n\t 删除成功!");
fflush(stdin);
getchar();
}
break;
case 6:system("cls");
mem=huiyuan(mem);
break;
case 0:system("cls");
shezhi();
break;
case 7:system("cls");
help();
fflush(stdin);
getchar();
break;
case 8:system("cls");
bye();
}
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 操作结束,按 ENTER 回到主菜单..");
fflush(stdin);
getchar();
}while(1);
}
void administrator()
{
char id[12],mima[6];
int n,k;
for(k=0;k<3;k++)
{
system("cls");
printf("\n\n\n\n\n\n\t 要进入管理系统请先输入管理员帐号和密码\n\n");
printf("\n\t 请输入管理帐号:");
fflush(stdin);
gets(id);
printf("\n\t 请输入管理密码:");
for(n=0;n<6;n++)
{
fflush(stdin);
mima[n]=getch();//从控制台无回显地取一个字符
printf("*");
}
mima[n]='\0';
fflush(stdin);
getchar();
if(!strcmp(id,"admin")&&!strcmp(mima,"123456"))
break;
else
{
system("cls");
if(k==2)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t很抱歉,您输入次数超过3次,按任意键将退出系统");
fflush(stdin);
getchar();
system("cls");
bye();
break;
}
printf("\n\n\n\n\n\n\n\n\t\t 用户名或密码错误,请重新输入!");
fflush(stdin);
getchar();
}
}
}
void star()
{
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃┏ ┓┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 图 书 管 理 系 统 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃┗ ┛┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
}
int insert(int i)
{
char a;
int d,k;
for(i=i;i<9999;i++)
{
system("cls");
printf("\n\n\n\t ┏━━━━━━━━━━━━━添加新书━━━━━━━━━━━━┓\n\n\n");
printf("\t 请输入书籍编号:");
fflush(stdin);
scanf("%d",&d);
k=search(d);
if(k==1)
{
book[i].bookid=d;
printf("\n\n\t 请输入书籍名:");
fflush(stdin);
gets(book[i].bookname);
printf("\n\n\t 请输入书的作者名:");
fflush(stdin);
gets(book[i].writer);
fflush(stdin);
book[i].zhuangtai=1;
printf("\n\n\n\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\t 是否还要继续添加新书(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='n'||a=='N')
break;
}
else
i--;
}
return i+1;
}
void huan()
{
char a;
double money,p;
int k,d,f=1;
system("date/t");
printf("\n\n\t┏━━━━━━━━━━━━━━还 书━━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入您要还书的编号:");
scanf("%d",&d);
for(k=0;k<10000;k++)
{
if(d==book[k].bookid&&book[k].zhuangtai==0)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
money=jisuan(k);
printf("\n\n\t 您是否使用会员卡(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='y'||a=='Y')
{
p=syhyk(money);
if(p==0)
{
printf("\n\n\t 没找到该会员卡号,或着您输入错误,请重新办理还书手续!");
fflush(stdin);
getchar();
f=3;
break;
}
if(p==1)
{
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
f=1;
break;
}
}
printf("\n\n\t 您需要支付%.2f元,谢谢光临!",money);
printf("\n\t 押金除去租书费用归,还付你%.2f元",10-money);
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
fflush(stdin);
getchar();
printf("\n\n\t 还书成功!");
f=1;
fflush(stdin);
getchar();
break;
}
else
f=0;
}
if(f==0)
{
printf("\n\n\t 没找到这本书的编号,或该书没被借阅,请确定是否输入错误!");
fflush(stdin);
getchar();
}
}
int syhyk(double k)
{
int d,j,i,p;
char a[7];
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&d);
for(j=0;j<10000;j++)
{
if(d==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
printf("\n\n\t 谢谢使用会员服务,你只需要支付%.2f元",k*0.8);
member[j].sfjie--;
printf("\n\n\t 还书成功,谢谢光临!");
fflush(stdin);
getchar();
p=1;
break;
}
}
else
p=0;
}
return p;
}
double jisuan(int k)
{
int y,m,r;
double money=0;
printf("\n\n\t 请输入还书日期(年-月-日):");
scanf("%d-%d-%d",&y,&m,&r);
m=m;
r=r;
if(y==book[k].year&&m==book[k].month&&r>=book[k].day)
{
money=(r-book[k].day+1)*0.5;
}
else if(y==book[k].year&&m>book[k].month)
{
if(book[k].month<=2&&m>2)
money=((m-book[k].month)*30+r-book[k].day-2+1)*0.5;
else
money=((m-book[k].month)*30+r-book[k].day+1)*0.5;
}
else if(y>book[k].year)
money=((y-book[k].year)*365+(m-book[k].month)*30+r-book[k].day+1)*0.5;
else
{
printf("\n\n\t 您日期输入错误,请重新输入");
jisuan(k);
}
return money;
}
int search(int d)
{
int k,p=1;
for(k=0;k<10000;k++)
if(d==book[k].bookid)
{
p=0;
printf("\n\n\n\n\t 你输入书籍编号已经存在!");
fflush(stdin);
getchar();
break;
}
return p;
}
void starmain()
{
printf("系统日期:");
system("date/t");//调用年月日函数
printf("系统时间:");
system("time/t");//时间调用函数
printf("\n\t 无聊工作室欢迎您使用图书管理系统 \n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加新书 ┃ ⑵ 查询书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 借 书 ┃ ⑷ 还 书 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 删除书籍 ┃ ⑹ 会员服务 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑺ 软件帮助 ┃ ⑻ 退出系统 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\t 请选择服务项目(1~8):");
}
void chaxun(int i)
{
int m,k,quit=1;
do{
system("cls");
main1();
fflush(stdin);
scanf("%d",&m);
switch(m)
{
case 1:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵所有书籍详细资料∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 2:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看借出书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==0)
printf("\t%d\t%s\t\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 3:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看未借书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==1)
printf("\t%d\t%s\t\t%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai);
break;
case 4:
system("cls");
quit=0;
break;
default:system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 输入错误,请重新输入!");
fflush(stdin);
getchar();
break;
}
if(quit!=0)
{
printf("\n\n\n\n\n\n\t 按ENTER返回目录..");
fflush(stdin);
getchar();
}
}while(quit);
}
void jie()
{
char h;
int d,m=1;
system("cls");
printf("\n\n\t┏━━━━━━━━━━━━━━借 书━━━━━━━━━━━━━━┓");
know();
printf("\n\n\t =====>请按Y确认继续,按其他结束:");
fflush(stdin);
h=getchar();
if(h=='y'||h=='Y')
{
printf("\n\n\n\t 请输入您要借阅的书籍编号:");
fflush(stdin);
scanf("%d",&d);
m=findid(d);
if(m==0)
{
printf("\n\n\t 借阅不成功,没找到此书或此书以借出!");
fflush(stdin);
getchar();
}
else if(m==2)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t您的会员卡卡号没有登记,请先办理会员卡再进行会员服务,谢谢合作!");
fflush(stdin);
getchar();
}
else
m=1;
}
else
getchar();
}
int findid(int d)
{
int k,m=1,h,j,i;
char p;
char a[7];
for(k=0;k<10000;k++)
{
if(book[k].bookid==d&&book[k].zhuangtai)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\n\n");
printf("\t%d\t%s\t\t%s\t%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month);
printf("\n\t 本书未被借阅,请确定是否借阅(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 您是否使用会员卡办理借阅手续(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&h);
for(j=0;j<100;j++)
{
if(h==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
member[j].sfjie++;
check(k);
printf("\n\n\t 使用会员卡借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
else
{
printf("\n\n\t 您密码输入都错误,请退出!");
fflush(stdin);
getchar();
jie();
}
}
else
{
m=2;
break;
}
}
}
else
{ printf("\n\n\t 请付10元/本的押金,还书时候退还。谢谢合作");
check(k);
printf("\n\n\t 借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
}
if(m==2)
{
m=2;
break;
}
else
{
m=3;
break;
}
}
else
m=0;
}
return m;
}
void check(int k)
{
int y,m,d,i;
printf("\n\n");
printf("\t\t系统日期:");
system("date/t");
printf("\n\t 请输入日期(年-月-日):");
fflush(stdin);
scanf("%d-%d-%d",&y,&m,&d);
if(m<1||m>12)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
if((y%4==0&&y%100!=0)||(y%400==0)&&(m==1||m==2))
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else i=1;
break;
case 2:if(d>=1&&d<=29)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
else
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 2:if(d>=1&&d<=28)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 3:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 4:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 5:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 6:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 7:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 8:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 9:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 10:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 11:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 12:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
if(i==1)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
}
int del()
{
int s,k,j,m,d;
char g;
printf("\n\n\t┏━━━━━━━━━━━━━删除书籍━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入要删除的书籍编号:");
fflush(stdin);
scanf("%d",&s);
for(k=0;k<100;k++)
{
if(book[k].bookid==s&&book[k].zhuangtai==1)
{
printf("\n\n\t 此书信息如下:\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
printf("\n\n\t 您确定要删除该书吗(y/n)?:");
fflush(stdin);
g=getchar();
if(g=='y'||g=='Y')
{
for(j=0;j<100;j++)
{
if(s==book[j].bookid)
{
for(m=j;m<100;m++)
book[m]=book[m+1];
}
}
d=1;
break;
}
else
{
d=2;
break;
}
}
else
d=0;
}
return d;
}
void main1()
{
printf("\n\n\n\n\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 查 询 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 查看所有书籍 ┃ ⑵ 查看借出书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 查看未借书籍 ┃ ⑷ 返回上级目录 ┃\n");
printf("\t ┃ ⑶ 修改会员密码 ┃ ⑷ 退会办理 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择:");
fflush(stdin);
scanf("%d",&h);
switch(h)
{
case 1:system("cls");
m=tianjia(m);
break;
case 2:system("cls");
chaxunhuiyuan(m);
break;
case 3:system("cls");
printf("\n\n
123456
int insert(int);//添加书籍
int search(int d);//书籍查找
void chaxun(int);//查询
void main1();//书籍查询界面
void shezhi();//界面设置
void know();//用户须知
void bye();//结束界面
void jie();//借书
void huan();//还书
int syhyk(double k);//使用会员卡
double jisuan(int k);//计算费用
void check(int k);//月年日合法性
int findid(int d);//办理借阅手续
int del();//删除书籍
int huiyuan(int);//会员功能界面
int tianjia(int m);//添加会员
int jiancha(int temp);//会员卡号检查
void srmima(int m);//输入密码
void srsfz(int m);//输入身份证
void chaxunhuiyuan(int m);//查询会员
void help();//软件帮助
struct members{
int mid;//会员卡号
char name[20];//姓名
char idcard[19];//身份证
char mima[7];
char address[50];
int sfjie;//是否借书
}member[N];
struct books{
int bookid;
char bookname[30];
char writer[10];
int zhuangtai;
int year,month,day;
}book[N]={
{10001,"C语言","谭浩强",1,0,0,0},
{10002,"C++","不详",1,0,0,0},
{10003,"诛仙","不详",1,0,0,0},
{10004,"佛公子","不详",1,0,0,0},
{10005,"鬼律师","不详",1,0,0,0},
{10006,"PHP编程","不详",1,0,0,0},
{10007,"C#编程","不详",1,0,0,0}
};
void main()
{
int m,d,i=7,mem=0;
system("color 0e");//调用颜色函数
jiemian();
printf("\n\n\n\n\n\n");
printf("\t 按ENTER继续...");
fflush(stdin);
getchar();
system("cls");//清屏,等于在DOS上使用cls命令
administrator();
do{
system("cls");
starmain();
scanf("%d",&m);
switch(m)
{
case 1:system("cls");
i=insert(i);
break;
case 2:system("cls");
chaxun(i);
break;
case 3:system("cls");
jie();
break;
case 4:system("cls");
huan();
break;
case 5:system("cls");
d=del();
if(d==0)
{
printf("\n\n\t 无法删除,没找到此书或此书已经借出!");
fflush(stdin);
getchar();
}
else if(d==1)
{
i--;
printf("\n\n\t 删除成功!");
fflush(stdin);
getchar();
}
break;
case 6:system("cls");
mem=huiyuan(mem);
break;
case 0:system("cls");
shezhi();
break;
case 7:system("cls");
help();
fflush(stdin);
getchar();
break;
case 8:system("cls");
bye();
}
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 操作结束,按 ENTER 回到主菜单..");
fflush(stdin);
getchar();
}while(1);
}
void administrator()
{
char id[12],mima[6];
int n,k;
for(k=0;k<3;k++)
{
system("cls");
printf("\n\n\n\n\n\n\t 要进入管理系统请先输入管理员帐号和密码\n\n");
printf("\n\t 请输入管理帐号:");
fflush(stdin);
gets(id);
printf("\n\t 请输入管理密码:");
for(n=0;n<6;n++)
{
fflush(stdin);
mima[n]=getch();//从控制台无回显地取一个字符
printf("*");
}
mima[n]='\0';
fflush(stdin);
getchar();
if(!strcmp(id,"admin")&&!strcmp(mima,"123456"))
break;
else
{
system("cls");
if(k==2)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t很抱歉,您输入次数超过3次,按任意键将退出系统");
fflush(stdin);
getchar();
system("cls");
bye();
break;
}
printf("\n\n\n\n\n\n\n\n\t\t 用户名或密码错误,请重新输入!");
fflush(stdin);
getchar();
}
}
}
void star()
{
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃┏ ┓┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 图 书 管 理 系 统 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃┗ ┛┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
}
int insert(int i)
{
char a;
int d,k;
for(i=i;i<9999;i++)
{
system("cls");
printf("\n\n\n\t ┏━━━━━━━━━━━━━添加新书━━━━━━━━━━━━┓\n\n\n");
printf("\t 请输入书籍编号:");
fflush(stdin);
scanf("%d",&d);
k=search(d);
if(k==1)
{
book[i].bookid=d;
printf("\n\n\t 请输入书籍名:");
fflush(stdin);
gets(book[i].bookname);
printf("\n\n\t 请输入书的作者名:");
fflush(stdin);
gets(book[i].writer);
fflush(stdin);
book[i].zhuangtai=1;
printf("\n\n\n\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\t 是否还要继续添加新书(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='n'||a=='N')
break;
}
else
i--;
}
return i+1;
}
void huan()
{
char a;
double money,p;
int k,d,f=1;
system("date/t");
printf("\n\n\t┏━━━━━━━━━━━━━━还 书━━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入您要还书的编号:");
scanf("%d",&d);
for(k=0;k<10000;k++)
{
if(d==book[k].bookid&&book[k].zhuangtai==0)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
money=jisuan(k);
printf("\n\n\t 您是否使用会员卡(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='y'||a=='Y')
{
p=syhyk(money);
if(p==0)
{
printf("\n\n\t 没找到该会员卡号,或着您输入错误,请重新办理还书手续!");
fflush(stdin);
getchar();
f=3;
break;
}
if(p==1)
{
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
f=1;
break;
}
}
printf("\n\n\t 您需要支付%.2f元,谢谢光临!",money);
printf("\n\t 押金除去租书费用归,还付你%.2f元",10-money);
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
fflush(stdin);
getchar();
printf("\n\n\t 还书成功!");
f=1;
fflush(stdin);
getchar();
break;
}
else
f=0;
}
if(f==0)
{
printf("\n\n\t 没找到这本书的编号,或该书没被借阅,请确定是否输入错误!");
fflush(stdin);
getchar();
}
}
int syhyk(double k)
{
int d,j,i,p;
char a[7];
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&d);
for(j=0;j<10000;j++)
{
if(d==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
printf("\n\n\t 谢谢使用会员服务,你只需要支付%.2f元",k*0.8);
member[j].sfjie--;
printf("\n\n\t 还书成功,谢谢光临!");
fflush(stdin);
getchar();
p=1;
break;
}
}
else
p=0;
}
return p;
}
double jisuan(int k)
{
int y,m,r;
double money=0;
printf("\n\n\t 请输入还书日期(年-月-日):");
scanf("%d-%d-%d",&y,&m,&r);
m=m;
r=r;
if(y==book[k].year&&m==book[k].month&&r>=book[k].day)
{
money=(r-book[k].day+1)*0.5;
}
else if(y==book[k].year&&m>book[k].month)
{
if(book[k].month<=2&&m>2)
money=((m-book[k].month)*30+r-book[k].day-2+1)*0.5;
else
money=((m-book[k].month)*30+r-book[k].day+1)*0.5;
}
else if(y>book[k].year)
money=((y-book[k].year)*365+(m-book[k].month)*30+r-book[k].day+1)*0.5;
else
{
printf("\n\n\t 您日期输入错误,请重新输入");
jisuan(k);
}
return money;
}
int search(int d)
{
int k,p=1;
for(k=0;k<10000;k++)
if(d==book[k].bookid)
{
p=0;
printf("\n\n\n\n\t 你输入书籍编号已经存在!");
fflush(stdin);
getchar();
break;
}
return p;
}
void starmain()
{
printf("系统日期:");
system("date/t");//调用年月日函数
printf("系统时间:");
system("time/t");//时间调用函数
printf("\n\t 无聊工作室欢迎您使用图书管理系统 \n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加新书 ┃ ⑵ 查询书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 借 书 ┃ ⑷ 还 书 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 删除书籍 ┃ ⑹ 会员服务 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑺ 软件帮助 ┃ ⑻ 退出系统 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\t 请选择服务项目(1~8):");
}
void chaxun(int i)
{
int m,k,quit=1;
do{
system("cls");
main1();
fflush(stdin);
scanf("%d",&m);
switch(m)
{
case 1:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵所有书籍详细资料∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 2:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看借出书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==0)
printf("\t%d\t%s\t\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 3:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看未借书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==1)
printf("\t%d\t%s\t\t%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai);
break;
case 4:
system("cls");
quit=0;
break;
default:system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 输入错误,请重新输入!");
fflush(stdin);
getchar();
break;
}
if(quit!=0)
{
printf("\n\n\n\n\n\n\t 按ENTER返回目录..");
fflush(stdin);
getchar();
}
}while(quit);
}
void jie()
{
char h;
int d,m=1;
system("cls");
printf("\n\n\t┏━━━━━━━━━━━━━━借 书━━━━━━━━━━━━━━┓");
know();
printf("\n\n\t =====>请按Y确认继续,按其他结束:");
fflush(stdin);
h=getchar();
if(h=='y'||h=='Y')
{
printf("\n\n\n\t 请输入您要借阅的书籍编号:");
fflush(stdin);
scanf("%d",&d);
m=findid(d);
if(m==0)
{
printf("\n\n\t 借阅不成功,没找到此书或此书以借出!");
fflush(stdin);
getchar();
}
else if(m==2)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t您的会员卡卡号没有登记,请先办理会员卡再进行会员服务,谢谢合作!");
fflush(stdin);
getchar();
}
else
m=1;
}
else
getchar();
}
int findid(int d)
{
int k,m=1,h,j,i;
char p;
char a[7];
for(k=0;k<10000;k++)
{
if(book[k].bookid==d&&book[k].zhuangtai)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\n\n");
printf("\t%d\t%s\t\t%s\t%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month);
printf("\n\t 本书未被借阅,请确定是否借阅(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 您是否使用会员卡办理借阅手续(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&h);
for(j=0;j<100;j++)
{
if(h==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
member[j].sfjie++;
check(k);
printf("\n\n\t 使用会员卡借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
else
{
printf("\n\n\t 您密码输入都错误,请退出!");
fflush(stdin);
getchar();
jie();
}
}
else
{
m=2;
break;
}
}
}
else
{ printf("\n\n\t 请付10元/本的押金,还书时候退还。谢谢合作");
check(k);
printf("\n\n\t 借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
}
if(m==2)
{
m=2;
break;
}
else
{
m=3;
break;
}
}
else
m=0;
}
return m;
}
void check(int k)
{
int y,m,d,i;
printf("\n\n");
printf("\t\t系统日期:");
system("date/t");
printf("\n\t 请输入日期(年-月-日):");
fflush(stdin);
scanf("%d-%d-%d",&y,&m,&d);
if(m<1||m>12)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
if((y%4==0&&y%100!=0)||(y%400==0)&&(m==1||m==2))
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else i=1;
break;
case 2:if(d>=1&&d<=29)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
else
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 2:if(d>=1&&d<=28)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 3:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 4:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 5:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 6:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 7:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 8:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 9:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 10:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 11:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 12:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
if(i==1)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
}
int del()
{
int s,k,j,m,d;
char g;
printf("\n\n\t┏━━━━━━━━━━━━━删除书籍━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入要删除的书籍编号:");
fflush(stdin);
scanf("%d",&s);
for(k=0;k<100;k++)
{
if(book[k].bookid==s&&book[k].zhuangtai==1)
{
printf("\n\n\t 此书信息如下:\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
printf("\n\n\t 您确定要删除该书吗(y/n)?:");
fflush(stdin);
g=getchar();
if(g=='y'||g=='Y')
{
for(j=0;j<100;j++)
{
if(s==book[j].bookid)
{
for(m=j;m<100;m++)
book[m]=book[m+1];
}
}
d=1;
break;
}
else
{
d=2;
break;
}
}
else
d=0;
}
return d;
}
void main1()
{
printf("\n\n\n\n\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 查 询 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 查看所有书籍 ┃ ⑵ 查看借出书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 查看未借书籍 ┃ ⑷ 返回上级目录 ┃\n");
printf("\t ┃ ⑶ 修改会员密码 ┃ ⑷ 退会办理 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择:");
fflush(stdin);
scanf("%d",&h);
switch(h)
{
case 1:system("cls");
m=tianjia(m);
break;
case 2:system("cls");
chaxunhuiyuan(m);
break;
case 3:system("cls");
printf("\n\n
展开全部
与你的要求非常相近,改动一点代码就可以了
登陆时:
admin
123456
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#define N 9999
void jiemian();//开始界面
void star();//开始
void administrator();//管理员信息
void starmain();//功能界面
int insert(int);//添加书籍
int search(int d);//书籍查找
void chaxun(int);//查询
void main1();//书籍查询界面
void shezhi();//界面设置
void know();//用户须知
void bye();//结束界面
void jie();//借书
void huan();//还书
int syhyk(double k);//使用会员卡
double jisuan(int k);//计算费用
void check(int k);//月年日合法性
int findid(int d);//办理借阅手续
int del();//删除书籍
int huiyuan(int);//会员功能界面
int tianjia(int m);//添加会员
int jiancha(int temp);//会员卡号检查
void srmima(int m);//输入密码
void srsfz(int m);//输入身份证
void chaxunhuiyuan(int m);//查询会员
void help();//软件帮助
struct members{
int mid;//会员卡号
char name[20];//姓名
char idcard[19];//身份证
char mima[7];
char address[50];
int sfjie;//是否借书
}member[N];
struct books{
int bookid;
char bookname[30];
char writer[10];
int zhuangtai;
int year,month,day;
}book[N]={
{10001,"C语言","谭浩强",1,0,0,0},
{10002,"C++","不详",1,0,0,0},
{10003,"诛仙","不详",1,0,0,0},
{10004,"佛公子","不详",1,0,0,0},
{10005,"鬼律师","不详",1,0,0,0},
{10006,"PHP编程","不详",1,0,0,0},
{10007,"C#编程","不详",1,0,0,0}
};
void main()
{
int m,d,i=7,mem=0;
system("color 0e");//调用颜色函数
jiemian();
printf("\n\n\n\n\n\n");
printf("\t 按ENTER继续...");
fflush(stdin);
getchar();
system("cls");//清屏,等于在DOS上使用cls命令
administrator();
do{
system("cls");
starmain();
scanf("%d",&m);
switch(m)
{
case 1:system("cls");
i=insert(i);
break;
case 2:system("cls");
chaxun(i);
break;
case 3:system("cls");
jie();
break;
case 4:system("cls");
huan();
break;
case 5:system("cls");
d=del();
if(d==0)
{
printf("\n\n\t 无法删除,没找到此书或此书已经借出!");
fflush(stdin);
getchar();
}
else if(d==1)
{
i--;
printf("\n\n\t 删除成功!");
fflush(stdin);
getchar();
}
break;
case 6:system("cls");
mem=huiyuan(mem);
break;
case 0:system("cls");
shezhi();
break;
case 7:system("cls");
help();
fflush(stdin);
getchar();
break;
case 8:system("cls");
bye();
}
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 操作结束,按 ENTER 回到主菜单..");
fflush(stdin);
getchar();
}while(1);
}
void administrator()
{
char id[12],mima[6];
int n,k;
for(k=0;k<3;k++)
{
system("cls");
printf("\n\n\n\n\n\n\t 要进入管理系统请先输入管理员帐号和密码\n\n");
printf("\n\t 请输入管理帐号:");
fflush(stdin);
gets(id);
printf("\n\t 请输入管理密码:");
for(n=0;n<6;n++)
{
fflush(stdin);
mima[n]=getch();//从控制台无回显地取一个字符
printf("*");
}
mima[n]='\0';
fflush(stdin);
getchar();
if(!strcmp(id,"admin")&&!strcmp(mima,"123456"))
break;
else
{
system("cls");
if(k==2)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t很抱歉,您输入次数超过3次,按任意键将退出系统");
fflush(stdin);
getchar();
system("cls");
bye();
break;
}
printf("\n\n\n\n\n\n\n\n\t\t 用户名或密码错误,请重新输入!");
fflush(stdin);
getchar();
}
}
}
void star()
{
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃┏ ┓┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 图 书 管 理 系 统 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃┗ ┛┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
}
int insert(int i)
{
char a;
int d,k;
for(i=i;i<9999;i++)
{
system("cls");
printf("\n\n\n\t ┏━━━━━━━━━━━━━添加新书━━━━━━━━━━━━┓\n\n\n");
printf("\t 请输入书籍编号:");
fflush(stdin);
scanf("%d",&d);
k=search(d);
if(k==1)
{
book[i].bookid=d;
printf("\n\n\t 请输入书籍名:");
fflush(stdin);
gets(book[i].bookname);
printf("\n\n\t 请输入书的作者名:");
fflush(stdin);
gets(book[i].writer);
fflush(stdin);
book[i].zhuangtai=1;
printf("\n\n\n\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\t 是否还要继续添加新书(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='n'||a=='N')
break;
}
else
i--;
}
return i+1;
}
void huan()
{
char a;
double money,p;
int k,d,f=1;
system("date/t");
printf("\n\n\t┏━━━━━━━━━━━━━━还 书━━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入您要还书的编号:");
scanf("%d",&d);
for(k=0;k<10000;k++)
{
if(d==book[k].bookid&&book[k].zhuangtai==0)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
money=jisuan(k);
printf("\n\n\t 您是否使用会员卡(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='y'||a=='Y')
{
p=syhyk(money);
if(p==0)
{
printf("\n\n\t 没找到该会员卡号,或着您输入错误,请重新办理还书手续!");
fflush(stdin);
getchar();
f=3;
break;
}
if(p==1)
{
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
f=1;
break;
}
}
printf("\n\n\t 您需要支付%.2f元,谢谢光临!",money);
printf("\n\t 押金除去租书费用归,还付你%.2f元",10-money);
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
fflush(stdin);
getchar();
printf("\n\n\t 还书成功!");
f=1;
fflush(stdin);
getchar();
break;
}
else
f=0;
}
if(f==0)
{
printf("\n\n\t 没找到这本书的编号,或该书没被借阅,请确定是否输入错误!");
fflush(stdin);
getchar();
}
}
int syhyk(double k)
{
int d,j,i,p;
char a[7];
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&d);
for(j=0;j<10000;j++)
{
if(d==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
printf("\n\n\t 谢谢使用会员服务,你只需要支付%.2f元",k*0.8);
member[j].sfjie--;
printf("\n\n\t 还书成功,谢谢光临!");
fflush(stdin);
getchar();
p=1;
break;
}
}
else
p=0;
}
return p;
}
double jisuan(int k)
{
int y,m,r;
double money=0;
printf("\n\n\t 请输入还书日期(年-月-日):");
scanf("%d-%d-%d",&y,&m,&r);
m=m;
r=r;
if(y==book[k].year&&m==book[k].month&&r>=book[k].day)
{
money=(r-book[k].day+1)*0.5;
}
else if(y==book[k].year&&m>book[k].month)
{
if(book[k].month<=2&&m>2)
money=((m-book[k].month)*30+r-book[k].day-2+1)*0.5;
else
money=((m-book[k].month)*30+r-book[k].day+1)*0.5;
}
else if(y>book[k].year)
money=((y-book[k].year)*365+(m-book[k].month)*30+r-book[k].day+1)*0.5;
else
{
printf("\n\n\t 您日期输入错误,请重新输入");
jisuan(k);
}
return money;
}
int search(int d)
{
int k,p=1;
for(k=0;k<10000;k++)
if(d==book[k].bookid)
{
p=0;
printf("\n\n\n\n\t 你输入书籍编号已经存在!");
fflush(stdin);
getchar();
break;
}
return p;
}
void starmain()
{
printf("系统日期:");
system("date/t");//调用年月日函数
printf("系统时间:");
system("time/t");//时间调用函数
printf("\n\t 无聊工作室欢迎您使用图书管理系统 \n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加新书 ┃ ⑵ 查询书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 借 书 ┃ ⑷ 还 书 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 删除书籍 ┃ ⑹ 会员服务 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑺ 软件帮助 ┃ ⑻ 退出系统 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\t 请选择服务项目(1~8):");
}
void chaxun(int i)
{
int m,k,quit=1;
do{
system("cls");
main1();
fflush(stdin);
scanf("%d",&m);
switch(m)
{
case 1:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵所有书籍详细资料∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 2:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看借出书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==0)
printf("\t%d\t%s\t\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 3:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看未借书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==1)
printf("\t%d\t%s\t\t%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai);
break;
case 4:
system("cls");
quit=0;
break;
default:system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 输入错误,请重新输入!");
fflush(stdin);
getchar();
break;
}
if(quit!=0)
{
printf("\n\n\n\n\n\n\t 按ENTER返回目录..");
fflush(stdin);
getchar();
}
}while(quit);
}
void jie()
{
char h;
int d,m=1;
system("cls");
printf("\n\n\t┏━━━━━━━━━━━━━━借 书━━━━━━━━━━━━━━┓");
know();
printf("\n\n\t =====>请按Y确认继续,按其他结束:");
fflush(stdin);
h=getchar();
if(h=='y'||h=='Y')
{
printf("\n\n\n\t 请输入您要借阅的书籍编号:");
fflush(stdin);
scanf("%d",&d);
m=findid(d);
if(m==0)
{
printf("\n\n\t 借阅不成功,没找到此书或此书以借出!");
fflush(stdin);
getchar();
}
else if(m==2)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t您的会员卡卡号没有登记,请先办理会员卡再进行会员服务,谢谢合作!");
fflush(stdin);
getchar();
}
else
m=1;
}
else
getchar();
}
int findid(int d)
{
int k,m=1,h,j,i;
char p;
char a[7];
for(k=0;k<10000;k++)
{
if(book[k].bookid==d&&book[k].zhuangtai)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\n\n");
printf("\t%d\t%s\t\t%s\t%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month);
printf("\n\t 本书未被借阅,请确定是否借阅(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 您是否使用会员卡办理借阅手续(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&h);
for(j=0;j<100;j++)
{
if(h==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
member[j].sfjie++;
check(k);
printf("\n\n\t 使用会员卡借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
else
{
printf("\n\n\t 您密码输入都错误,请退出!");
fflush(stdin);
getchar();
jie();
}
}
else
{
m=2;
break;
}
}
}
else
{ printf("\n\n\t 请付10元/本的押金,还书时候退还。谢谢合作");
check(k);
printf("\n\n\t 借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
}
if(m==2)
{
m=2;
break;
}
else
{
m=3;
break;
}
}
else
m=0;
}
return m;
}
void check(int k)
{
int y,m,d,i;
printf("\n\n");
printf("\t\t系统日期:");
system("date/t");
printf("\n\t 请输入日期(年-月-日):");
fflush(stdin);
scanf("%d-%d-%d",&y,&m,&d);
if(m<1||m>12)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
if((y%4==0&&y%100!=0)||(y%400==0)&&(m==1||m==2))
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else i=1;
break;
case 2:if(d>=1&&d<=29)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
else
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 2:if(d>=1&&d<=28)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 3:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 4:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 5:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 6:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 7:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 8:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 9:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 10:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 11:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 12:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
if(i==1)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
}
int del()
{
int s,k,j,m,d;
char g;
printf("\n\n\t┏━━━━━━━━━━━━━删除书籍━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入要删除的书籍编号:");
fflush(stdin);
scanf("%d",&s);
for(k=0;k<100;k++)
{
if(book[k].bookid==s&&book[k].zhuangtai==1)
{
printf("\n\n\t 此书信息如下:\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
printf("\n\n\t 您确定要删除该书吗(y/n)?:");
fflush(stdin);
g=getchar();
if(g=='y'||g=='Y')
{
for(j=0;j<100;j++)
{
if(s==book[j].bookid)
{
for(m=j;m<100;m++)
book[m]=book[m+1];
}
}
d=1;
break;
}
else
{
d=2;
break;
}
}
else
d=0;
}
return d;
}
void main1()
{
printf("\n\n\n\n\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 查 询 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 查看所有书籍 ┃ ⑵ 查看借出书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 查看未借书籍 ┃ ⑷ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━┻━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择查看方式:");
}
void know()
{
printf("\n\n\n\t 用 户 须 知\n\n");
printf("\t ① 凡在本图书馆借阅书籍的用户都必须爱护好书籍,不允许\n");
printf("\t 任意撕毁、粘贴、折叠、丢失书籍,如发现有以上情况者,\n");
printf("\t 图书馆都将会要求用户赔偿损失。\n\n ");
printf("\t ② 临时会员用户借书时必须交纳10元/本押金,还书时退还押\n");
printf("\t 金。会员则不需要交纳押金。\n\n");
printf("\t ③ 只要借出书籍,就需要支付0.5元/天借书费用。会员按总\n");
printf("\t 费用的 8 折收取。\n\n");
}
int huiyuan(int m)
{
int h,q=1,del,k,j,p=1,a,i,e=1;
char g;
char b[7],f[7],d[7];
do{
system("cls");
printf("\n\n\n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 会 员 服 务 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加会员 ┃ ⑵ 会员查询 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 修改会员密码 ┃ ⑷ 退会办理 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择:");
fflush(stdin);
scanf("%d",&h);
switch(h)
{
case 1:system("cls");
m=tianjia(m);
break;
case 2:system("cls");
chaxunhuiyuan(m);
break;
case 3:system("cls");
printf("\n\n
登陆时:
admin
123456
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#define N 9999
void jiemian();//开始界面
void star();//开始
void administrator();//管理员信息
void starmain();//功能界面
int insert(int);//添加书籍
int search(int d);//书籍查找
void chaxun(int);//查询
void main1();//书籍查询界面
void shezhi();//界面设置
void know();//用户须知
void bye();//结束界面
void jie();//借书
void huan();//还书
int syhyk(double k);//使用会员卡
double jisuan(int k);//计算费用
void check(int k);//月年日合法性
int findid(int d);//办理借阅手续
int del();//删除书籍
int huiyuan(int);//会员功能界面
int tianjia(int m);//添加会员
int jiancha(int temp);//会员卡号检查
void srmima(int m);//输入密码
void srsfz(int m);//输入身份证
void chaxunhuiyuan(int m);//查询会员
void help();//软件帮助
struct members{
int mid;//会员卡号
char name[20];//姓名
char idcard[19];//身份证
char mima[7];
char address[50];
int sfjie;//是否借书
}member[N];
struct books{
int bookid;
char bookname[30];
char writer[10];
int zhuangtai;
int year,month,day;
}book[N]={
{10001,"C语言","谭浩强",1,0,0,0},
{10002,"C++","不详",1,0,0,0},
{10003,"诛仙","不详",1,0,0,0},
{10004,"佛公子","不详",1,0,0,0},
{10005,"鬼律师","不详",1,0,0,0},
{10006,"PHP编程","不详",1,0,0,0},
{10007,"C#编程","不详",1,0,0,0}
};
void main()
{
int m,d,i=7,mem=0;
system("color 0e");//调用颜色函数
jiemian();
printf("\n\n\n\n\n\n");
printf("\t 按ENTER继续...");
fflush(stdin);
getchar();
system("cls");//清屏,等于在DOS上使用cls命令
administrator();
do{
system("cls");
starmain();
scanf("%d",&m);
switch(m)
{
case 1:system("cls");
i=insert(i);
break;
case 2:system("cls");
chaxun(i);
break;
case 3:system("cls");
jie();
break;
case 4:system("cls");
huan();
break;
case 5:system("cls");
d=del();
if(d==0)
{
printf("\n\n\t 无法删除,没找到此书或此书已经借出!");
fflush(stdin);
getchar();
}
else if(d==1)
{
i--;
printf("\n\n\t 删除成功!");
fflush(stdin);
getchar();
}
break;
case 6:system("cls");
mem=huiyuan(mem);
break;
case 0:system("cls");
shezhi();
break;
case 7:system("cls");
help();
fflush(stdin);
getchar();
break;
case 8:system("cls");
bye();
}
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 操作结束,按 ENTER 回到主菜单..");
fflush(stdin);
getchar();
}while(1);
}
void administrator()
{
char id[12],mima[6];
int n,k;
for(k=0;k<3;k++)
{
system("cls");
printf("\n\n\n\n\n\n\t 要进入管理系统请先输入管理员帐号和密码\n\n");
printf("\n\t 请输入管理帐号:");
fflush(stdin);
gets(id);
printf("\n\t 请输入管理密码:");
for(n=0;n<6;n++)
{
fflush(stdin);
mima[n]=getch();//从控制台无回显地取一个字符
printf("*");
}
mima[n]='\0';
fflush(stdin);
getchar();
if(!strcmp(id,"admin")&&!strcmp(mima,"123456"))
break;
else
{
system("cls");
if(k==2)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t很抱歉,您输入次数超过3次,按任意键将退出系统");
fflush(stdin);
getchar();
system("cls");
bye();
break;
}
printf("\n\n\n\n\n\n\n\n\t\t 用户名或密码错误,请重新输入!");
fflush(stdin);
getchar();
}
}
}
void star()
{
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃┏ ┓┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 图 书 管 理 系 统 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┃┗ ┛┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
}
int insert(int i)
{
char a;
int d,k;
for(i=i;i<9999;i++)
{
system("cls");
printf("\n\n\n\t ┏━━━━━━━━━━━━━添加新书━━━━━━━━━━━━┓\n\n\n");
printf("\t 请输入书籍编号:");
fflush(stdin);
scanf("%d",&d);
k=search(d);
if(k==1)
{
book[i].bookid=d;
printf("\n\n\t 请输入书籍名:");
fflush(stdin);
gets(book[i].bookname);
printf("\n\n\t 请输入书的作者名:");
fflush(stdin);
gets(book[i].writer);
fflush(stdin);
book[i].zhuangtai=1;
printf("\n\n\n\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\t 是否还要继续添加新书(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='n'||a=='N')
break;
}
else
i--;
}
return i+1;
}
void huan()
{
char a;
double money,p;
int k,d,f=1;
system("date/t");
printf("\n\n\t┏━━━━━━━━━━━━━━还 书━━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入您要还书的编号:");
scanf("%d",&d);
for(k=0;k<10000;k++)
{
if(d==book[k].bookid&&book[k].zhuangtai==0)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
money=jisuan(k);
printf("\n\n\t 您是否使用会员卡(y/n)?:");
fflush(stdin);
a=getchar();
if(a=='y'||a=='Y')
{
p=syhyk(money);
if(p==0)
{
printf("\n\n\t 没找到该会员卡号,或着您输入错误,请重新办理还书手续!");
fflush(stdin);
getchar();
f=3;
break;
}
if(p==1)
{
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
f=1;
break;
}
}
printf("\n\n\t 您需要支付%.2f元,谢谢光临!",money);
printf("\n\t 押金除去租书费用归,还付你%.2f元",10-money);
book[k].zhuangtai=1;
book[k].year=0;book[k].month=0;book[k].day=0;
fflush(stdin);
getchar();
printf("\n\n\t 还书成功!");
f=1;
fflush(stdin);
getchar();
break;
}
else
f=0;
}
if(f==0)
{
printf("\n\n\t 没找到这本书的编号,或该书没被借阅,请确定是否输入错误!");
fflush(stdin);
getchar();
}
}
int syhyk(double k)
{
int d,j,i,p;
char a[7];
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&d);
for(j=0;j<10000;j++)
{
if(d==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
printf("\n\n\t 谢谢使用会员服务,你只需要支付%.2f元",k*0.8);
member[j].sfjie--;
printf("\n\n\t 还书成功,谢谢光临!");
fflush(stdin);
getchar();
p=1;
break;
}
}
else
p=0;
}
return p;
}
double jisuan(int k)
{
int y,m,r;
double money=0;
printf("\n\n\t 请输入还书日期(年-月-日):");
scanf("%d-%d-%d",&y,&m,&r);
m=m;
r=r;
if(y==book[k].year&&m==book[k].month&&r>=book[k].day)
{
money=(r-book[k].day+1)*0.5;
}
else if(y==book[k].year&&m>book[k].month)
{
if(book[k].month<=2&&m>2)
money=((m-book[k].month)*30+r-book[k].day-2+1)*0.5;
else
money=((m-book[k].month)*30+r-book[k].day+1)*0.5;
}
else if(y>book[k].year)
money=((y-book[k].year)*365+(m-book[k].month)*30+r-book[k].day+1)*0.5;
else
{
printf("\n\n\t 您日期输入错误,请重新输入");
jisuan(k);
}
return money;
}
int search(int d)
{
int k,p=1;
for(k=0;k<10000;k++)
if(d==book[k].bookid)
{
p=0;
printf("\n\n\n\n\t 你输入书籍编号已经存在!");
fflush(stdin);
getchar();
break;
}
return p;
}
void starmain()
{
printf("系统日期:");
system("date/t");//调用年月日函数
printf("系统时间:");
system("time/t");//时间调用函数
printf("\n\t 无聊工作室欢迎您使用图书管理系统 \n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加新书 ┃ ⑵ 查询书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 借 书 ┃ ⑷ 还 书 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 删除书籍 ┃ ⑹ 会员服务 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑺ 软件帮助 ┃ ⑻ 退出系统 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ 无聊工作室制作 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\t 请选择服务项目(1~8):");
}
void chaxun(int i)
{
int m,k,quit=1;
do{
system("cls");
main1();
fflush(stdin);
scanf("%d",&m);
switch(m)
{
case 1:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵所有书籍详细资料∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 2:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看借出书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t借出日期\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==0)
printf("\t%d\t%s\t\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
break;
case 3:
system("cls");
printf("\n\n ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵查看未借书籍∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴\n\n");
printf("\t编号\t书名\t\t状态\t\n\n");
for(k=0;k<i;k++)
if(book[k].zhuangtai==1)
printf("\t%d\t%s\t\t%d\n",book[k].bookid,book[k].bookname,book[k].zhuangtai);
break;
case 4:
system("cls");
quit=0;
break;
default:system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t 输入错误,请重新输入!");
fflush(stdin);
getchar();
break;
}
if(quit!=0)
{
printf("\n\n\n\n\n\n\t 按ENTER返回目录..");
fflush(stdin);
getchar();
}
}while(quit);
}
void jie()
{
char h;
int d,m=1;
system("cls");
printf("\n\n\t┏━━━━━━━━━━━━━━借 书━━━━━━━━━━━━━━┓");
know();
printf("\n\n\t =====>请按Y确认继续,按其他结束:");
fflush(stdin);
h=getchar();
if(h=='y'||h=='Y')
{
printf("\n\n\n\t 请输入您要借阅的书籍编号:");
fflush(stdin);
scanf("%d",&d);
m=findid(d);
if(m==0)
{
printf("\n\n\t 借阅不成功,没找到此书或此书以借出!");
fflush(stdin);
getchar();
}
else if(m==2)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t您的会员卡卡号没有登记,请先办理会员卡再进行会员服务,谢谢合作!");
fflush(stdin);
getchar();
}
else
m=1;
}
else
getchar();
}
int findid(int d)
{
int k,m=1,h,j,i;
char p;
char a[7];
for(k=0;k<10000;k++)
{
if(book[k].bookid==d&&book[k].zhuangtai)
{
printf("\n\n\t编号\t书名\t\t作者\t状态\n\n");
printf("\t%d\t%s\t\t%s\t%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month);
printf("\n\t 本书未被借阅,请确定是否借阅(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 您是否使用会员卡办理借阅手续(y/n)?:");
fflush(stdin);
p=getchar();
if(p=='y'||p=='Y')
{
printf("\n\n\t 请输入您的会员卡卡号:");
scanf("%d",&h);
for(j=0;j<100;j++)
{
if(h==member[j].mid)
{
printf("\n\n\t 请输入您的密码:");
for(i=0;i<6;i++)
{
fflush(stdin);
a[i]=getch();
printf("*");
}
fflush(stdin);
getchar();
a[6]='\0';
if(strcmp(a,member[j].mima)==0)
{
member[j].sfjie++;
check(k);
printf("\n\n\t 使用会员卡借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
else
{
printf("\n\n\t 您密码输入都错误,请退出!");
fflush(stdin);
getchar();
jie();
}
}
else
{
m=2;
break;
}
}
}
else
{ printf("\n\n\t 请付10元/本的押金,还书时候退还。谢谢合作");
check(k);
printf("\n\n\t 借阅成功,谢谢光临,请您爱护好书籍!");
fflush(stdin);
getchar();
book[k].zhuangtai=0;
m=1;
break;
}
}
if(m==2)
{
m=2;
break;
}
else
{
m=3;
break;
}
}
else
m=0;
}
return m;
}
void check(int k)
{
int y,m,d,i;
printf("\n\n");
printf("\t\t系统日期:");
system("date/t");
printf("\n\t 请输入日期(年-月-日):");
fflush(stdin);
scanf("%d-%d-%d",&y,&m,&d);
if(m<1||m>12)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
if((y%4==0&&y%100!=0)||(y%400==0)&&(m==1||m==2))
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else i=1;
break;
case 2:if(d>=1&&d<=29)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
else
{
switch(m)
{
case 1:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 2:if(d>=1&&d<=28)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 3:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 4:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 5:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 6:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 7:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 8:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 9:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 10:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 11:if(d>=1&&d<=30)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
case 12:if(d>=1&&d<=31)
{
book[k].year=y;
book[k].month=m;
book[k].day=d;
}
else
i=1;
break;
}
}
if(i==1)
{
printf("\n\n\t 日期输入错误,请重新输入\n");
check(k);
}
}
int del()
{
int s,k,j,m,d;
char g;
printf("\n\n\t┏━━━━━━━━━━━━━删除书籍━━━━━━━━━━━━━┓");
printf("\n\n\n\t 请输入要删除的书籍编号:");
fflush(stdin);
scanf("%d",&s);
for(k=0;k<100;k++)
{
if(book[k].bookid==s&&book[k].zhuangtai==1)
{
printf("\n\n\t 此书信息如下:\n\n");
printf("\t编号\t书名\t\t作者\t状态\t借出日期\n");
printf("\t%d\t%s\t\t%s\t%d\t%d-%d-%d\n",book[k].bookid,book[k].bookname,book[k].writer,book[k].zhuangtai,book[k].year,book[k].month,book[k].day);
printf("\n\n\t 您确定要删除该书吗(y/n)?:");
fflush(stdin);
g=getchar();
if(g=='y'||g=='Y')
{
for(j=0;j<100;j++)
{
if(s==book[j].bookid)
{
for(m=j;m<100;m++)
book[m]=book[m+1];
}
}
d=1;
break;
}
else
{
d=2;
break;
}
}
else
d=0;
}
return d;
}
void main1()
{
printf("\n\n\n\n\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 查 询 菜 单 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 查看所有书籍 ┃ ⑵ 查看借出书籍 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 查看未借书籍 ┃ ⑷ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━┻━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择查看方式:");
}
void know()
{
printf("\n\n\n\t 用 户 须 知\n\n");
printf("\t ① 凡在本图书馆借阅书籍的用户都必须爱护好书籍,不允许\n");
printf("\t 任意撕毁、粘贴、折叠、丢失书籍,如发现有以上情况者,\n");
printf("\t 图书馆都将会要求用户赔偿损失。\n\n ");
printf("\t ② 临时会员用户借书时必须交纳10元/本押金,还书时退还押\n");
printf("\t 金。会员则不需要交纳押金。\n\n");
printf("\t ③ 只要借出书籍,就需要支付0.5元/天借书费用。会员按总\n");
printf("\t 费用的 8 折收取。\n\n");
}
int huiyuan(int m)
{
int h,q=1,del,k,j,p=1,a,i,e=1;
char g;
char b[7],f[7],d[7];
do{
system("cls");
printf("\n\n\n\n");
printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t ┃ ┃\n");
printf("\t ┃ 会 员 服 务 ┃\n");
printf("\t ┃ ┃\n");
printf("\t ┣━━━━━━━━━━━━┳━━━━━━━━━━━┫\n");
printf("\t ┃ ⑴ 添加会员 ┃ ⑵ 会员查询 ┃\n");
printf("\t ┣━━━━━━━━━━━━╋━━━━━━━━━━━┫\n");
printf("\t ┃ ⑶ 修改会员密码 ┃ ⑷ 退会办理 ┃\n");
printf("\t ┣━━━━━━━━━━━━┻━━━━━━━━━━━┫\n");
printf("\t ┃ ⑸ 返回上级目录 ┃\n");
printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf("\n\n\n\n\n\n\n\t 请选择:");
fflush(stdin);
scanf("%d",&h);
switch(h)
{
case 1:system("cls");
m=tianjia(m);
break;
case 2:system("cls");
chaxunhuiyuan(m);
break;
case 3:system("cls");
printf("\n\n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比较长啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询