weixin_58546305 2021-06-21 15:39 采纳率: 50%
浏览 13
已采纳

解释一下这段代码,越详细越好,新手

void deleteInfo(List* list)

{

 printf("请输入待删除商品的代号:");

 char s[12];

 scanf("%s", s);

 while (!hasExist(list, s))

 {

  printf("该商品不存在,请重新输入或输入#退出\n");

  scanf("%s", s);

  if (strcmp("#", s) == 0)

   return;

 }

 node* pro = list->head;

 node* ptr;

 if (strcmp(pro->no, s) == 0)

 {

  ptr = pro;

 }

 else {

  while (pro != NULL)

  {

   if (strcmp(pro->link->no, s) == 0)

    break;

   pro = pro->link;

  }

  node* ptr = pro->link;

 }

 printf("------该商品信息-------\n");

 printf("代号:%s\n", ptr->no);

 printf("姓名:%s\n", ptr->name);

 for (int i = 0; i < 12; i++)

  if (ptr->sales[i] != 0)

   printf("%d月销售额:%.2f\n", i + 1, ptr->sales[i]);

 printf("总销售额:%.2f\n", ptr->total);

 printf("----------------------\n");

 printf("请按'1'确认删除,其余键返回主菜单\n");

 if (getch() == '1')

 {

  if (pro == ptr)

  {

   list->head = list->end = NULL;

   free(ptr);

   printf("删除成功!\n请按任意键返回");

   getch();

  }

  else

  {

   pro->link = ptr->link;

   free(ptr);

   printf("删除成功!\n请按任意键返回");

   getch();

  }

 }

 else

  return;

}

void showTotal(List* list)

{

float tal = 0;

node* ptr = list->head;

while (ptr != NULL)

{

tal += ptr->total;

ptr = ptr->link;

}

printf("------------------\n");

printf("总销售额为%.2f\n", tal);

printf("-------------------\n");

printf("请按任意键返回\n");

getch();

}

 

void findMaxMin(List* list)

{

float maxMonth, minMonth;

char* maxNo, *minNo;

float maxYear, minYear;

char* maxYearNo, *minYearNo;

 

node* ptr = list->head;

if (ptr != NULL)

{

minMonth = maxMonth = ptr->sales[0];

maxNo = minNo = ptr->no;

maxYear = minYear = ptr->total;

maxYearNo = minYearNo = ptr->no;

}

else

return;

while (ptr != NULL)

{

for (int i = 0; i < 12; i++)

{

if (minMonth > ptr->sales[i])

{

minMonth = ptr->sales[i];

minNo = ptr->no;

}

if (maxMonth < ptr->sales[i])

{

maxMonth = ptr->sales[i];

maxNo = ptr->no;

}

}

 

if (maxYear < ptr->total)

{

maxYear = ptr->total;

maxYearNo = ptr->no;

}

 

if (minYear > ptr->total)

{

minYear = ptr->total;

minYearNo = ptr->no;

}

ptr = ptr->link;

}

printf("-------------------------------------");

printf("最大月销售额:%.2f 代号:%s\n", maxMonth, maxNo);

printf("最小月销售额:%.2f 代号:%s\n", minMonth, minNo);

printf("最大年销售总额:%.2f 代号:%s\n", maxYear, maxYearNo);

printf("最小年销售总额:%.2f 代号:%s\n", minYear, minYearNo);

printf("-------------------------------------");

getch();

}

 

  • 写回答

2条回答 默认 最新

  • 套你的猴子 2021-06-21 15:42
    关注

    deleteInfo函数是用于删除商品信息的。

    showTotal函数用于计算总销售额。

    findMaxMin函数用于查找最大月销售额,最小月销售额,最大年销售额,最小年销售额,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab