bighomew.cpp
来自「VC6.0小型图书馆管理程序。建议具有书籍存储与信息检索、借阅者信息存储与检索、」· C++ 代码 · 共 1,009 行 · 第 1/3 页
CPP
1,009 行
scanf("%f",&goo[count].inprice);
printf("\nInput inquantity:");
scanf("%d",&goo[count].inquantity);
goo[count].outquantity=0; /*商品售出量、利润、销量和营业额取零*/
goo[count].acc=0.0;
goo[count].sellnum=0;
goo[count].selltur=0;
printf("\n*************************************************************************\n");
printf("New Goods' Information:\n"); /*打印新商品信息*/
printf("\n");
printf("No. ");
printf("Goods name\t\t\t\n");
printf("%d ",goo[count].serial);
for (j=0;j<30;j++)
{
printf("%c",goo[count].name[j]);
}
printf("\n");
printf("--------------------------------------------------------------------------\n");
printf("Whole Sale Price Single Sale Price\n");
printf(" %f",goo[count].wholesaleprice);
printf(" %f\n",goo[count].singlesaleprice);
printf("--------------------------------------------------------------------------\n");
printf("Inprice Inquantity \n");
printf("%f",goo[count].inprice);
printf(" %d",goo[count].inquantity);
printf("\n\n");
getch();
printf("Press any key back......");
count++;
}
/*
Function: Delgoods()
Description: 删除商品
Returns: None
*/
void Delgoods()
{
int i,ch1;
char c;
clrscr();
printf("**********Delete Goods**********\n\n");
printf("No. "); /*打印商品清单,包括序号和名称*/
printf("Goods name\t\t\t \n");
printf("-----------------------------------------------------------------------\n");
for (i=0;i<count;i++)
{
printf("%d ",goo[i].serial);
printf("%s",goo[i].name);
printf("\n");
}
printf("\n");
printf("Choose the goods which you want to delete(Input the goods' serial):");
/*选择商品,输入0即退出选择状态*/
printf("\n(Or press 0 to quit!)");
while (1)
{
scanf("%d",&ch1);
if (ch1==0) Goodsmanagement(); /*容错处理:输入数字超出商品序号范围则重新输入*/
else if (ch1>count)
{
printf("Error input!\nPlease re-input:");
}
else break;
}
printf("%s have been deleted!\n\n\n",goo[ch1-1].name);
for (i=ch1-1;i<count;i++) /*覆盖掉选定商品的信息*/
goo[i]=goo[i+1];
strcpy(goo[i].name,"");
printf("Press any key back...\n");
getch();
count--; /*商品数自减1*/
}
/*
Function: Searchgoods()
Description: 查询商品信息
Returns: None
*/
void Searchgoods()
{
int i,j,ch3;
char name[50];
clrscr();
printf("**********Search Goods**********\n\n");
printf("Input the name you want to search:"); /*提示输入商品名*/
fflush(stdin);
gets(name);
for (i=0;i<count;i++)
{
if (!strcmp(goo[i].name,name)) /*核对商品名称*/
{
printf("Find!\n");
printf("\n*************************************************************************\n");
printf("Goods' Information:\n");
/*打印商品信息,包括序号、名称、批发价、零售价、库存量、售出量*/
printf("\n");
printf("No. ");
printf("Goods name\t\t\t\n");
printf("%d ",goo[i].serial);
for (j=0;j<30;j++)
{
printf("%c",goo[i].name[j]);
}
printf("\n");
printf("--------------------------------------------------------------------------\n");
printf("Whole Sale Price Single Sale Price\n");
printf(" %f",goo[i].wholesaleprice);
printf(" %f\n",goo[i].singlesaleprice);
printf("--------------------------------------------------------------------------\n");
printf("Inprice Inquantity Outquantity \n");
printf("%f",goo[i].inprice);
printf(" %d",goo[i].inquantity);
printf(" %d",goo[i].outquantity);
printf("\n\n");
break;
}
}
printf("Search over!\n");
printf("Press any key back...\n");
getch();
}
/*
Function: Modifygoods()
Description: 修改商品信息
Returns: None
*/
void Modifygoods()
{
int i,ch2;
char c;
float tmp1;
clrscr();
printf("**********Modify Goods!**********\n\n"); /*打印商品清单,包括序号和名称*/
printf("No. ");
printf("Goods name\t\t\t \n");
printf("-----------------------------------------------------------------------\n");
for (i=0;i<count;i++)
{
printf("%d ",goo[i].serial);
printf("%s",goo[i].name);
printf("\n");
}
printf("\n");
printf("Choose the goods which you want to modify(Input the goods' serial):");
printf("\n(Or press 0 to quit!)");
while (1)
{
scanf("%d",&ch2); /*选择商品,输入0即退出选择状态*/
if (ch2==0) Goodsmanagement();
else if (ch2>count)
{
printf("Error input!\nPlease re-input:"); /*容错处理:输入数字超出商品序号范围则重新输入*/
}
else break;
}
clrscr();
fflush(stdin);
printf("Input Goods' Name:"); /*重新输入各商品信息*/
strcpy(goo[ch2-1].name,"");
gets(goo[ch2-1].name);
printf("\nInput single sale price:");
scanf("%f",&tmp1);
goo[ch2-1].singlesaleprice=tmp1;
printf("\nInput whole sale price:");
scanf("%f",&goo[ch2-1].wholesaleprice);
printf("\nInput inprice:");
scanf("%f",&goo[ch2-1].inprice);
printf("\nInput inquantity:");
scanf("%d",&goo[ch2-1].inquantity);
printf("\nInput outquantity:");
scanf("%d",&goo[ch2-1].outquantity);
printf("\n*************************************************************************\n");
printf("Goods' New Information:\n");
/*打印修改后商品信息,包括序号、名称、批发价、零售价、库存量、售出量*/
printf("\n");
printf("No. ");
printf("Goods name\t\t\t\n");
printf("%d ",goo[ch2-1].serial);
printf("%s\n",goo[ch2-1].name);
printf("--------------------------------------------------------------------------\n");
printf("Whole Sale Price Single Sale Price\n");
printf(" %f",goo[ch2-1].wholesaleprice);
printf(" %f\n",goo[ch2-1].singlesaleprice);
printf("--------------------------------------------------------------------------\n");
printf("Inprice Inquantity Outquantity \n");
printf("%f",goo[ch2-1].inprice);
printf(" %d",goo[ch2-1].inquantity);
printf(" %d",goo[ch2-1].outquantity);
printf("\n\n");
printf("Press any key back......");
getch();
}
/*
Function: Caltc()
Description: 统计总营业额和总利润
Returns: None
*/
void Caltc()
{
int i,j,k;
float tur=0.0,acc=0.0,acct=0.0;
printf("\n");
for (i=0;i<=buynum;i++)
tur=tur+buy[i].totalcost;
printf("Calculate Turnover: %f\n\n",tur);
for (j=0;j<=buynum;j++)
for (k=0;k<=buy[j].goonum;k++)
acct+=buy[j].goo[k].inprice;
acc+=tur-acct;
printf("Calculate Account: %f\n",acc);
fflush(stdin);
getch();
}
/*
Function: Calgoodstc()
Description: 统计各商品利润及其在总利润中的比例
Returns: None
*/
void Calgoodstc()
{
int i,j,k,l;
float tur=0.0,acc=0.0,acct=0.0,bili[30];
printf("\n");
for (i=0;i<=buynum;i++)
tur=tur+buy[i].totalcost;
for (j=0;j<=buynum;j++)
for (k=0;k<=buy[j].goonum;k++)
acct+=buy[j].goo[k].inprice;
acc+=tur-acct;
printf("\nGoods'Account/Total Account:\n");
printf("\nCalculate Account: %f\n",acc);
printf("\nName \tGoods'Account \t%\n");
for (l=0;l<count;l++)
{
bili[l]=goo[l].acc/acc;
printf("%s\t%f\t%f\n",goo[l].name,goo[l].acc,bili[l]);
}
fflush(stdin);
getch();
}
/*
Function: Goodssort()
Description: 商品排序(按销量和营业额)
Returns: None
*/
void Goodssort()
{
int index[30],i,j,temp;
clrscr();
printf("**********Goods Sort!**********\n\n");
printf("Sort by sell Quantity!\n\n"); /*按商品销量排序*/
printf("Goods'name\tSell Quantity\n");
for(i=0;i<count;i++) index[i]=i;
for(i=0;i<count;i++)
for(j=0;j<count-i-1;j++)
if(goo[index[j]].sellnum<goo[index[j+1]].sellnum)
{
temp=index[j]; index[j]=index[j+1]; index[j+1]=temp;
}
for(i=0;i<count;i++)
printf("%s\t%d\n",goo[index[i]].name,goo[index[i]].sellnum);
printf("\nPress any key to continue...\n");
fflush(stdin);
getch();
clrscr();
printf("**********Goods Sort!**********\n\n");
printf("Sort by sell Turnover!\n\n"); /*按商品营业额排序*/
printf("Goods'name\tSell Turnover\n");
for(i=0;i<count;i++) index[i]=i;
for(i=0;i<count;i++)
for(j=0;j<count-i-1;j++)
if(goo[index[j]].selltur<goo[index[j+1]].selltur)
{
temp=index[j]; index[j]=index[j+1]; index[j+1]=temp;
}
for(i=0;i<count;i++)
printf("%s\t%f\n",goo[index[i]].name,goo[index[i]].selltur);
printf("\nPress any key back...\n");
fflush(stdin);
getch();
}
/*
Function: Storagemanagement()
Description: 库存管理
Returns: None
*/
void Storagemanagement()
{
int i;
clrscr();
printf("**********Storage Management!*********\n\n");
printf("No. "); /*打印商品清单,包括序号、名称、库存量、售出量、是否需要调整提示*/
printf("Goods name\t\tInquantity\tOutquantity\tNeed Restore!\n");
printf("-----------------------------------------------------------------------\n");
for (i=0;i<count;i++)
{
printf("%s\t\t",goo[i].name);
if (goo[i].inquantity*3<goo[i].outquantity) /*若售出量大于库存量的三倍,则显示库存过少*/
{
printf("%d\t",goo[i].inquantity);
printf("\t%d",goo[i].outquantity);
printf("\t\tToo Few Goods!");
printf("\n");
}
else if(goo[i].inquantity>goo[i].outquantity*3) /*若库存量大于售出量的三倍,则显示库存过多*/
{
printf("%d\t",goo[i].inquantity);
printf("\t%d",goo[i].outquantity);
printf("\t\tToo Many Goods!");
printf("\n");
}
else
{
printf("%d\t",goo[i].inquantity);
printf("\t%d",goo[i].outquantity);
printf("\n");
}
}
printf("\n\n"); /*提示可在商品信息修改菜单里修改商品库存量*/
printf("You can modify the inquantity & outquantity number\nof the goods in ""MODIFY GOODS""\n");
printf("\n\nPress any key back...");
fflush(stdin);
getch();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?