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 + -
显示快捷键?