You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shu-dian-cun-huo-qing-dan/计算机大类1807班18408000733冯晨.cpp

112 lines
3.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int cmp(char str0[],char str1[]) //比较两行字符串是否相等相等则返回0否则返回非0
{
int i;
for(i=0;str0[i]!=0 && str1[i]!=0 && str0[i]==str1[i];i++);
return str0[i]-str1[i];
}
int main(void)
{
char sm[100];
int c=1,i=0,n=0,flag=0,j=0;
struct kc //定义结构体数组以每个名词的首字母取员名如”书名“为”sm“
{
char sm[100];
char zz[100];
char cbs[100];
long cbrq;
double jg;
int wz;
int sl;
};
struct kc a[10]=
{ //定义书籍资料
{"怨女","张爱玲","北京十月文艺出版社",20090520,29.80,1,100},
{"围城","钱钟书","人民文学出版社",19910214,19.00,2,10},
{"红楼梦","曹雪芹","人民文学出版社",19961225,59.70,3,100},
{"看见","柴静","广西师范大学出版社",20131001,39.80,4,100},
{"一只特立独行的猪","王小波","北方文艺出版社",20060927,18.80,5,50},
{"芳华","严歌苓","人民文学出版社",20171116,39.00,6,60},
{"穆斯林的葬礼","霍达","北京十月文艺出版社",19880707,32.00,7,80},
{"我的前半生","亦舒","新世界出版社",20070504,22.00,8,100},
{"挪威的森林","村上春树","上海译文出版社",20010807,18.80,9,6},
{"我们仨","杨绛","新知三联书店",20031101,18.80,10,20}
};
flag1:
printf("***********书店库存管理系统***********:\n");
printf("**** 1.书本录入 ****:\n");
printf("**** 2.书本查询 ****:\n");
printf("**************************************:\n");
int choose;
printf("请选择:\t");
scanf("%d",&choose); //选择序号
if(choose==1)
{
printf("录入成功!");
}
if(choose==2){
printf("请输入书名:\n");
fflush(stdin);
gets(sm);
j=0; //未找到书籍而跳到这里时使j清零防止当再次没找到书籍时因j已大于10而无法进入最后的if语句即无法得到未查找到的提示
for(i=0;i<10;i++)
{
j++; //当j加到10时则说明没有找到书籍
if(cmp(a[i].sm,sm)==0)
{
printf("书名:");
puts(a[i].sm);
printf("作者:");
puts(a[i].zz);
printf("出版社:");
puts(a[i].cbs);
printf("出版日期:%d\n",a[i].cbrq);
printf("价格:%lf\n",a[i].jg);
printf("位置:%d\n",a[i].wz);
printf("库存:%d\n",a[i].sl);
printf("请输入所需数量:\n");
fflush(stdin);
scanf("%d",&n);
if(n<=a[i].sl)
printf("总价为 %lf\n",(n*a[i].jg));
else
printf("所需数量不在库存范围内\n");
printf("是否还想买其他书籍?(是 1: 否 0:双击回车键)\n");
fflush(stdin);
scanf("%d",&c);
if(c==1)
goto flag1;
else
{
j=0; //当要退出时使j清零防止当所找书籍位置为10时跳出for语句后因j也为10而误进入下面的if语句
printf("谢谢,再见!\n");
}
}
}
if(j=10)
{
j=0;
printf("未查找到该书籍是否还想买其他书籍是Y或y否N或n)\n");
fflush(stdin); //清空输入缓存,防止干扰下次输入
scanf("%c",&c);
if(c==1)
goto flag1;
else
{
printf("谢谢,再见!\n");
}
}
return 0;
}
}