📄 function.cpp
字号:
int read_message()
{
FILE *fp;
int i=0;
if((fp=fopen("book.txt","rb"))==NULL)
{
printf("\n\n*****暂时还没有任何信息,按回车键进入主菜单选择基本信息的录入!*****\n");
getchar();
getchar();
return 0;
}
while(feof(fp)!=1)
{
fread(&book[i],sizeof(struct book_type),1,fp);
if(book[i].num==0) break;
else i++;
}
fclose(fp);
return 1;
}
void input_message() /*图书信息输入······*/
{ system("cls");
printf("\n\n 录入图书信息:\n");
FILE *fp;
int i=0,num=0;
fp=fopen("book.txt","a+");
printf("您要录入的图书的数目(1~50)\n");
scanf("%d",&num);
do
{
printf("\n\n 第%d种图书",i+1);
printf("\n 图书编号:" );
scanf("%d",&book[i].num);
printf("\n 图书名称:" );
scanf("%s",&book[i].name);
printf("\n 图书作者:" );
scanf("%s",&book[i].writer);
printf("\n 图书出版社:" );
scanf("%s",&book[i].chubanshe);
printf("\n 图书数量:" );
scanf("%d",&book[i].amount);
book[i].totalamount=book[i].amount;
fwrite(&book[i],sizeof(struct book_type),1,fp);
i++;
}while(i<num);
printf("\n --%d种图书信息输入完毕!--\n",i);
fclose(fp);
printf("输入完毕,任意键返回\n");
getchar();
getchar();
}
int inq_name() /*按书名查询*/
{
int i,choice,j=0;
char inquire_name[15];
system("cls");
printf("\n\n\n 输入要查询的书名:");
scanf("%s",&inquire_name);
printf("\n \t\t\t----图书信息----\n");
PRINT1;
PRINT2;
for(i=0;i<sum;i++)
if(strcmp(book[i].name,inquire_name)==0&&book[i].num!=0)
{
PRINT3;
printf("\n");
getchar();
getchar();
}
// printf("按回车键返回·············\n");
// getchar();
// getchar();
else j++;
if(j==sum) {
printf("\n 该图书不存在!请输入任意键返回··········");
getchar();
getchar();
return 0;
}
}
/*按图书作者查询*/
void inq_writer()
{
int i,choice,j=0;
char inquire_writer[15];
system("cls");
printf("\n\n\n 输入要查询的著书作者:");
scanf("%s",&inquire_writer);
printf("\n ----图书信息----\n");
PRINT1;
PRINT2;
for(i=0;i<sum;i++)
if(strcmp(book[i].writer,inquire_writer)==0&&book[i].num!=0)
{
PRINT3;
printf("\n");
printf("按回车键返回·············\n");
getchar();
getchar();
}
else j++;
if(j==sum)
printf("\n 该图书不存在!");
}
/*按出版社查询*/
void inq_chubanshe()
{
int i,choice,j=0;
char inquire_chubanshe[15];
system("cls");
printf("\n\n\n 输入要查询的出版社:");
scanf("%s",&inquire_chubanshe);
printf("\n ----图书信息----\n");
PRINT1;
PRINT2;
for(i=0;i<sum;i++)
if(strcmp(book[i].chubanshe,inquire_chubanshe)==0&&book[i].num!=0)
{
PRINT3;
printf("\n");
printf("按回车键返回·············\n");
getchar();
getchar();
}
else j++;
if(j==sum)
printf("\n 该图书不存在!");
}
/*按图书编号查询*/
void inq_num()
{
int i,choice,j=0;
int inquire_num;
system("cls");
printf("\n\n\n 输入要查询的图书编号:\n\n");
scanf("%d",&inquire_num);
for(i=0;i<sum;i++)
if(book[i].num==inquire_num&&book[i].num!=0)
{
printf("\n ----图书信息----\n");
PRINT1;
PRINT2;
PRINT3;
printf("\n");
printf("按回车键返回·············\n");
getchar();
getchar();
}
else j++;
if(j==sum)
printf("\n 该图书不存在!");
}
void inquire_message() //查询图书信息
{
int choice;
do
{ system("cls");
printf(" \t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
printf(" \t\t※ **************欢迎进入查询图书信息! ************* ※\n");
printf(" \t\t※ ※\n");
printf(" \t\t※ 请你选择操作类型: ※\n ");
printf(" \t\t※ 1:<按书名查询> ※\n");
printf(" \t\t※ 2:<按作者查询> ※\n");
printf(" \t\t※ 3:<按出版社查询> ※\n");
printf(" \t\t※ 4:<按书籍编号查询> ※\n");
printf(" \t\t※ 0:<返回上一级菜单> ※\n");
printf(" \t\t※ 请输入0--4,其他输入是非法的哦! ※\n");
printf(" \t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
scanf("%d",&choice);
switch(choice)
{
case 1:inq_name();break;
case 2:inq_writer();break;
case 3:inq_chubanshe();break;
case 4:inq_num();break;
case 0:break;
default:printf("你在开玩笑吧?无此操作啦·····\n");break;
}
}while(choice!=0);
}
/* void del_message()//此处功能有待实现
{
int i,choice;
int del_num;
system("cls");
if(*h==NULL)return 0;
printf("\n\n\n 请输入要删除的图书编号")
scanf(%d,&del_num);
for(i=0,i<sum;i++)
if(book[i].num==inquire_num&&book[i].num!=0)
{
printf("\n ----图书信息----\n");
PRINT1;
PRINT2;
PRINT3;
printf("\n\n 确定要删除本图书信息(Y/N)");
}
if(choice=='y'||choice=='Y')
{//此处功能有待实现
}
else j++;
if(j==sum)
printf("\n\n\n 该图书不存在!");
} */
/*修改模块*/
void renew_message()
{
int i=0,choice,revise_num,flag;
do
{
system("cls");
printf("\n 输入要修改的图书编号:");
scanf("%d",&revise_num);
for(i=0;i<sum;i++)
if(book[i].num==revise_num)
{
printf("\n ----图书信息----\n");
PRINT1;
PRINT2;
PRINT3;
printf("\n 您要修改那一项 \n");
printf("\n 1.书名\n");
printf("\n 2.作者\n");
printf("\n 3.出版社\n");
printf("\n 0.放弃修改,返回上一级菜单\n");
printf("\n 请选择(0-4):");
scanf("%d",&choice);
switch(choice)
{
case 1:printf("\n 输入修改后的名称:");
scanf("%s",&book[i].name);break;
case 2:printf("\n 输入修改后的作者:");
scanf("%s",&book[i].writer);break;
case 3:printf("\n 输入修改后的出版社:");
scanf("%s",&book[i].chubanshe);break;
case 0:break;
default:printf("你在开玩笑吧?无此操作啦·····\n");break;
}
PRINT1;
PRINT2;
PRINT3;
break;
}
if(i==sum)
{
printf("\n 该图书不存在!");
}
printf("\n\n 确定放弃修改 (Y/N)");
choice=getchar();
if(choice=='N'||choice=='n')
{
flag=1;
printf("\n 继续!\n");
}
else flag=0;
}
while(flag==1);
printf("\n 按任意键返回主菜单!");
}
int lendbook() //图书借阅
{
FILE *fp,*fp2;
int i,n;
int carnum;
printf("请你输入你的卡号\n");
scanf("%d",&carnum);
fp=fopen("car.txt","r");
for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++)
{
if(car[i].carnum==carnum)
{
n=i;
fclose(fp);
printf("请输入你要借阅的书的名字\n");
scanf("%s",student[n].lendbook);
fp=fopen("book.txt","r");
for(i=0;fread(&book[i],sizeof(struct book_type),1,fp)!=0;i++)
{
if(strcmp(book[i].name,student[n].lendbook)==0)
{
if(book[i].amount==0) {printf("对不起,此书已经无库存,请借其他书\n");
fclose(fp);
getchar();
getchar();
}
else
fclose(fp);
fp=fopen("record.txt","a+");
student[n].carnum=carnum;
fwrite(&student[n],sizeof(struct student),1,fp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -