📄 2337-书籍信息管理系统(子图版).c
字号:
#include <stdio.h>
void memu();
struct book
{
int num;
char name[50];
char zuozhe[50];
char leibie[50];
float jiage;
int kucun;
int year;
int month;
int day;
};struct book stu[1]; //定义书籍信息结构体数组
int number=0;
void shuru() /*1.添加书籍信息的函数*/
{
int i;
loop1:
printf("\n请依次输入编号:");
scanf("%d",&stu[number].num );
for(i=0;i<number;i++)
{
if(stu[i].num==stu[number].num)
{
printf("\n此编号已有!");
goto loop15;
}
}
printf("书名:");
scanf("%s",stu[number].name);
printf("作者:");
scanf("%s",stu[number].zuozhe);
printf("类别:");
scanf("%s",stu[number].leibie);
printf("价格:");
scanf("%f",&stu[number].jiage);
printf("出版日期(1999-12-11):");
scanf("%d-%d-%d",&stu[number].year,&stu[number].month,&stu[number].day);
printf("库存:");
scanf("%d",&stu[number].kucun);
number = number + 1;
loop15:
printf("\n按1继续添加,按0返回上级菜单:" );
while( 1 )
{
char c;
scanf("%1s",&c);
if( c=='1')
goto loop1;
else break;
}
}
void shuchu() /*2.输出书籍信息的函数*/
{
int i;
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
for(i=0;i<number;i++)
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
}
void xiugai() /*3.修改书籍信息的函数*/
{
int x,i;
loop2:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
printf("\n请输入要修改书籍的编号:");
scanf("%d",&x);
for(i=0;i<number;i++)
{
if(stu[i].num==x)
{
printf("\n你要修改的书籍原资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
printf("\n按1确定要修改,按0取消修改:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop3;
else
goto loop4;
}
loop3:
printf("\n请依次输入编号:");
scanf("%d",&stu[i].num );
printf("书名:");
scanf("%s",stu[i].name);
printf("作者:");
scanf("%s",&stu[i].zuozhe);
printf("类别:");
scanf("%s",&stu[i].leibie);
printf("价格:");
scanf("%f",&stu[i].jiage);
printf("出版日期(1999-12-11):");
scanf("%d-%d-%d",&stu[i].year,&stu[i].month,&stu[i].day);
printf("库存:");
scanf("%d",&stu[i].kucun);
printf("\n按1确定修改,按0取消修改:" );
while( 1 )
{
char c1;
scanf("%1s",&c1);
if( c1=='1')
goto loop4;
else
goto loop3;
}
}
}
printf("\n没有找到你要修改的书籍。\n" );
loop4:
printf("\n按1继续修改其他书籍,按0返回上级菜单:" );
while( 1 )
{
char c2;
scanf("%1s",&c2);
if(c2=='1')
goto loop2;
else break;
}
}
void shanchu() /*4.删除书籍信息的函数*/
{
int x,i,j,k;
loop7:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
printf("\n请输入要删除书籍的编号:");
scanf("%d",&x);
for(i=0;i<number;i++)
{
if(stu[i].num==x)
{
printf("\n你要删除的书籍资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
printf("\n按1确定要删除,按0取消删除:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop5;
else
goto loop6;
}
loop5:
for(j=i;j<number-1;j++)
{
k=j+1;
stu[j].num=stu[k].num;
strcpy(stu[j].name,stu[k].name);
strcpy(stu[j].zuozhe,stu[k].zuozhe);
strcpy(stu[j].leibie,stu[k].leibie);
stu[j].jiage=stu[k].jiage;
stu[j].year=stu[k].year;
stu[j].month=stu[k].month;
stu[j].day=stu[k].day;
stu[j].kucun=stu[k].kucun;
}
number=number-1;
printf("\n删除成功。\n");
goto loop6;
}
}
printf("\n没有找到你要删除的书籍。\n" );
loop6:
printf("\n按1继续删除其他书籍,按0返回上级菜单:" );
while( 1 )
{
char c2;
scanf("%1s",&c2);
if(c2=='1')
goto loop7;
else break;
}
}
void chaxun1() /*1.查询给定库存的书籍信息的函数*/
{
int x,i,tmp;
loop8:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
tmp=0;
printf("\n请输入要查找书籍的库存数:");
scanf("%d",&x);
printf("\n你要查找的所有书籍资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
for(i=0;i<number;i++)
{
if(stu[i].kucun==x)
{
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
tmp=1;
}
}
printf("\n查找完毕!\n" );
if(tmp==0)
{
printf("\n没有查找到你要的书籍!\n" );
}
printf("\n按1继续,按0返回上级菜单:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop8;
else break;
}
}
void chaxun2() /*2.查询大于或小于给定库存的书籍信息的函数*/
{
int x,y,i,tmp;
loop9:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
tmp=0;
y=0;
printf("\n请输入要查找书籍的库存数范围(如:11-20):");
scanf("%d-%d",&x,&y);
printf("\n你要查找的所有书籍资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
for(i=0;i<number;i++)
{
if(stu[i].kucun>=x&&stu[i].kucun<=y)
{
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
tmp=1;
}
}
printf("\n查找完毕!\n" );
if(tmp==0)
{
printf("\n没有查找到你要的书籍!\n" );
}
printf("\n按1继续,按0返回上级菜单:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop9;
else break;
}
}
void chaxun3() /*3.查询大于或小于给定价格的书籍信息的函数*/
{
int i,tmp;
float x,y;
loop11:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
tmp=0;
y=0;
printf("\n请输入要查找书籍的价格范围(如:10.0-20.0):");
scanf("%f-%f",&x,&y);
printf("\n你要查找的所有书籍资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
for(i=0;i<number;i++)
{
if(stu[i].jiage>=x&&stu[i].jiage<=y)
{
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
tmp=1;
}
}
printf("\n查找完毕!\n" );
if(tmp==0)
{
printf("\n没有查找到你要的书籍!\n" );
}
printf("\n按1继续,按0返回上级菜单:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop11;
else break;
}
}
void chaxun4() /*4.查询大于或小于给定出版时间的书籍信息的函数*/
{
int x1,y1,z1,x2,y2,z2,i,tmp,tmp1,tmp2,tmp3;
loop12:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
tmp=0;
x2=0;
y2=0;
z2=0;
printf("\n请输入要查找书籍的出版时间范围(如:1990-1-1--2000-1-1):");
scanf("%d-%d-%d--%d-%d-%d",&x1,&y1,&z1,&x2,&y2,&z2);
tmp2=x1*365+y1*30+z1;
tmp3=x2*365+y2*30+z2;
printf("\n你要查找的所有书籍资料:");
printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");
for(i=0;i<number;i++)
{
tmp1=stu[i].year*365+stu[i].month*30+stu[i].day;
if(tmp1>=tmp2&&tmp1<=tmp3)
{
printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);
tmp=1;
}
}
printf("\n查找完毕!\n" );
if(tmp==0)
{
printf("\n没有查找到你要的书籍!\n" );
}
printf("\n按1继续,按0返回上级菜单:" );
while( 1 )
{
char c3;
scanf("%1s",&c3);
if( c3=='1')
goto loop12;
else break;
}
}
void chaxun5() /*5.查询给定数值段中库存最值的书籍信息的函数*/
{
int x,y,i,i1,i2,tmp,min,max;
loop13:
if(number==0)
{
printf("\n还未有书籍信息!\n");
return;
}
max=0;
tmp=0;
y=0;
printf("\n请输入要查找书籍的库存数范围(如:11-20):");
scanf("%d-%d",&x,&y);
min=y;
for(i=0;i<number;i++)
{
if(stu[i].kucun>=x&&stu[i].kucun<=y)
{
if(stu[i].kucun>=max)
{
max=stu[i].kucun;
i1=i;
tmp=1;
}
if(stu[i].kucun<=min)
{
min=stu[i].kucun;
i2=i;
tmp=1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -