话不多说,直接上代码,大学生最懂大学生
这是用.h文件对我们的函数定义和结构体定义进行一个汇总
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
#pragma once
typedef int DataType;
typedef struct Good
{
char name[11];
char BianHao[11];
DataType JinJia;
DataType ShouJia;
DataType Input;
DataType OutPut;
DataType Selling;
DataType KuCun;
float Profit;
struct Good* next;
}Good;
void Init(Good** L);
void InPut(Good** L,int n);
void GoodAdd(Good** L);
void GoodChange(Good** L);
void GoodDelete(Good** L);
void GoodNewInput(Good** L, Good* node);
void GoodNewOutput(Good** L,Good*node);
void GoodUseLessness(Good** L);
void GoodSelling(Good** L);
void GoodKucun(Good** L);
void GoodProfit(Good** L);
Good* NameSearch(Good** L,char* s);
Good* KucunSearch(Good** L,int m,int n);
void GoodShow(Good** L);
Good* GoodProfitShow(Good** L);
Good* GoodSellingShow(Good** L);
bool GoodIsEmpty(Good** L);
Good* SortList(Good** L);
void ScorePreserve(Good** L);
void ScoreDocfin(Good** L);
下面是主函数部分,也就是菜单部分
#define _CRT_SECURE_NO_WARNINGS 1
#include"shop.h"
int main()
{
Good* head = (Good*)malloc(sizeof(Good));
head->next = NULL;
int m;
do {
printf("请选择你要进行的操作:\n");
printf("-------------------------\n");
printf("------1.创建商品档案-----\n");
printf("------2.编辑商品信息-----\n");
printf("------3.统计销售情况-----\n");
printf("------4.查询商品信息-----\n");
printf("------5.显示商品信息-----\n");
printf("------6.保存商品信息-----\n");
printf("------7.读取文件信息-----\n");
printf("------0.退出菜单---------\n");
printf("-------------------------\n");
scanf("%d", &m);
switch (m)
{
case 1:
{
printf("请输入您要创建的商品档案个数:");
Init(&head);
int n;
scanf("%d", &n);
InPut(&head, n);
break;
}
case 2:
{
if (!GoodIsEmpty(&head))
{
printf("未录入任何商品,请重新选择。\n");
continue;
}
int a;
do
{
printf("请选择你要进行的操作:\n");
printf("-------------------------------\n");
printf("------1.添加新商品-------------\n");
printf("------2.修改商品信息-----------\n");
printf("------3.删除原有商品-----------\n");
printf("------0.退出编辑---------------\n");
printf("-------------------------------\n");
scanf("%d", &a);
switch (a)
{
case 1:
{
GoodAdd(&head);
break;
}
case 2:
{
if (!GoodIsEmpty(&head))
{
printf("未录入任何商品,请重新选择。\n");
continue;
}
GoodChange(&head);
break;
}
case 3:
{
if (!GoodIsEmpty(&head))
{
printf("未录入任何商品,无法删除,请重新选择。\n");
continue;
}
GoodDelete(&head);
break;
}
}
} while (a);
if (a == 0)
{
printf("退出编辑\n");
}
break;
}
case 3:
{
if (!GoodIsEmpty(&head))
{
printf("未录入任何商品,请重新选择。\n");
continue;
}
GoodSelling(&head);
GoodKucun(&head);
GoodProfit(&head);
break;
}
case 4:
{
if (