📄 wangtao.cpp
字号:
char choice='y';
fp=fopen("D:\\计035.txt","r");
printf("\n请输入书本的种类:");
scanf("%s",form1);
fflush(stdin);
do
{
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp)!=0;i++)
{
if(form1==books[i].form)
{
printf("\n找到要查询的书,具体资料如下:\n");
printf("编号:%2d\n",books[i].number);
printf("日期:%d.%d.%d",books[i].date.year,books[i].date.month,books[i].date.day);
printf("书名:%s\n",books[i].name);
printf("作者名:%s\n",books[i].writer);
printf("类型:%s\n",books[i].form);
printf("租借情况:%s\n",books[i].lend);
flag=1;
}
}
if(flag==0)
{
printf("\n没有找到种类为%s的书!",form1);
}
fflush(stdin);
printf("是否要继续查找Y/N:");
scanf("%c",&choice);
}while(choice=='Y'||choice=='y');
fclose(fp);
}
/*以下为排序部分*/
void ordernumber()
{
FILE *fp;
struct bookstype temp;
int i,j;
fp=fopen("D:\\计035.txt","r");
/*运用"直接插入排序"的方法进行排序*/
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp)!=0;i++)
{
temp=books[i+1];
j=i;
while(j>-1&&temp.number<books[j].number)
{
books[j+1]=books[j];
j--;
}
books[j+1]=temp;
}
fflush(stdin);
output();
/*调用输出函数,显示排序结果*/
fclose(fp);
}
void orderform()
{
FILE *fp;
struct bookstype temp;
int i,j;
fp=fopen("D:\\计035.txt","r");
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp)!=0;i++)
{
temp=books[i+1];
j=i;
while(j>-1&&temp.form<books[j].form)
{
books[j+1]=books[j];
j--;
}
books[j+1]=temp;
}
fflush(stdin);
output();
/*调用输出函数,显示排序结果*/
fclose(fp);
}
/*删除函数*/
void delenumber()
{
FILE *fp,*fp2;
int i;
int booknumber;
char choice;
fp=fopen("D:\\计035.txt","r");
fp2=fopen("E:\\计031.txt","w");
printf("请输入你要删除的书名\n");
printf("如果你输入的书名存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");
scanf("%d",&booknumber);
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp)!=0;i++)
{
if(booknumber==books[i].number)
{
fwrite(&books[i],sizeof(struct bookstype),1,fp2);
}
}
fclose(fp);
fclose(fp2);
printf("是否真的要删除该书籍?删除后该书籍的所有信息将无法恢复Y/N\n");
scanf("%s",&choice);
if(choice=='y'||choice=='Y')
{
fp=fopen("D:计035.txt","w");
fp2=fopen("D:计035.txt","r");
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp2)!=0;i++)
{
fwrite(&books[i],sizeof(struct bookstype),1,fp);
}
fclose(fp);
fclose(fp2);
fp2=fopen("D:计035.txt","w");
fclose(fp2);
printf("按任意键返回\n");
getch();
return;
}
else
{
printf("按任意键返回\n");
getch();
return;
}
}
void delename()
{
FILE *fp,*fp2;
int i;
char bookname[10],choice;
fp=fopen("D:\\计035.txt","r");
fp2=fopen("D:\\计035.txt","w");
printf("请输入你要删除的书名\n");
printf("如果你输入的书名存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");
scanf("%s",bookname);
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp)!=0;i++)
{
if(strcmp(bookname,books[i].name)!=0)
{
fwrite(&books[i],sizeof(struct bookstype),1,fp2);
}
}
fclose(fp);
fclose(fp2);
printf("是否真的要删除该书籍?删除后该书籍的所有信息将无法恢复Y/N\n");
scanf("%s",&choice);
if(choice=='y'||choice=='Y')
{
fp=fopen("D:\\计035.txt","w");
fp2=fopen("D:\\计035.txt","r");
for(i=0;fread(&books[i],sizeof(struct bookstype),1,fp2)!=0;i++)
{
fwrite(&books[i],sizeof(struct bookstype),1,fp);
}
fclose(fp);
fclose(fp2);
fp2=fopen("D:\\计035.txt","w");
fclose(fp2);
printf("按任意键返回\n");
getch();
return;
}
else
{
printf("按任意键返回\n");
getch();
return;
}
}
void main()
{
char ch1,ch2;
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **\n");
printf("** * * **\n");
printf("** * 欢迎访问图书馆管理系统 * **\n");
printf("** * * **\n");
printf("**——————————————————————————**\n");
printf("**——————————————————————————**\n");
printf("**——————————————————————————**\n");
printf("** || 学校:广西工学院 || **\n");
printf("** || 系别:计算机工程系 || **\n");
printf("** || 班别:计算机035 || **\n");
printf("** || 学号: 2003041222 || **\n");
printf("** || 姓名:王涛 || **\n");
printf("** || 地址:南区6#702 || **\n");
printf("** || 电话:2684876 || **\n");
printf("** || || **\n");
printf("** || —————————————— || **\n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **\n");
printf("首先你要输入正确口令,方可进入!");
path();
do
{
printf("\n");
printf("请选择操作类型:\n");
printf("1 图书管理模块\n");
printf("2 图书借阅模块\n");
scanf("%s",&ch1);
switch(ch1)
{
case'1':
{
printf("\n欢迎访问管理模块!\n");
printf("1 输入输出与保存\n");
printf("2 查询\n");
printf("3 排序\n");
printf("4 删除\n");
printf("0 退出\n");
printf("请输入0-4:\n");
scanf("%s",&ch1);
switch(ch1)
{
case'1':
{
printf("\2欢迎访问输入输出与保存模块!\n");
printf("1 输入书籍\n");
printf("2 保存\n");
printf("3 输出书籍\n");
printf("请输入1-3:");
scanf("%s",&ch2);
switch(ch2)
{
case'1':
input();
break;
case'2':
save();
break;
case'3':
output();
break;
default:
printf("无此操作!\n");
getch();
break;
}
break;
}
case'2':
{
printf("\n 欢迎进入书籍查询系统! \n");
printf("1: 按书号查询 \n");
printf("2: 按日期查询 \n");
printf("3: 按书名查询 \n");
printf("4: 按作者名查询 \n");
printf("5: 按书的类型查询 \n");
printf(" 请输入1-5 \n");
scanf("%s",&ch2);
switch(ch2)
{
case'1':
seeknumber();
break;
case'2':
seekdate();
break;
case'3':
seekname();
break;
case'4':
seekwriter();
break;
case'5':
seekform();
break;
default:
printf("无此操作!\n");
break;
}
break;
}
case'3':
{
printf("\2欢迎进入书籍的排序系统!\n");
printf("1 按书号排序\n");
printf("2 按日期排序\n");
printf("3 按类型排序\n");
printf("请输入1-3:\n");
scanf("%s",&ch2);
switch(ch2)
{
case'1':
ordernumber();
break;
case'2':
/* orderdate();*/
break;
case'3':
orderform();
break;
default:
printf("无此操作!\n");
}
break;
}
case'4':
{
printf("\n欢迎进入书籍的删除系统!\n");
printf("1: 按书号删除\n");
printf("2: 按书名删除\n");
printf("请输入1-2:\n");
scanf("%s",&ch2);
if(ch2=='1')
delenumber();
else
delename();
break;
}
case'0':
exit(0);
default:
printf("无此操作!\n");
}
}
case'2':
{
printf("欢迎访问书籍借阅模块:\n");
printf("1借阅书籍\n");
printf("2归还书籍\n");
printf("请输入1-2:\n");
scanf("%s",&ch2);
if(ch2=='1')
book_borrowed();
else
returnbooks();
}
}while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -