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 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败