#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include"windows.h"
struct cai /*cai结构体 实现对菜品 已点份数、名称、原材料 的记录*/
{
int fenshu;
char name[50];
int use;
int price;
};
typedef int ElemType;
struct List /*该线性表实现对菜品原材料的剩余量的记录,线性表【i】对应菜品的点餐菜单编码*/
{
ElemType* list;
int size;
int MaxSize;
};
/*以下为线性表的函数*/
void InitList(struct List* L,int ms)
{
if(ms<=0){printf("ms 值非法!\n");exit(1);}
L->MaxSize=ms;
L->list=malloc(ms*sizeof(ElemType));
if(!L->list)
{
printf("动态存储分配失败!");
exit(1);
}
L->size=0;
}
void againMalloc(struct List *L)
{
ElemType *p=realloc(L->list,2*L->MaxSize*sizeof(ElemType));
if(!p){
printf("分配存储空间失败!");
exit(1);
}
L->list=p;
L->MaxSize=2*L->MaxSize;
}
void InsertLastList(struct List *L,ElemType x)
{
if(L->size==L->MaxSize)
againMalloc(L);
L->list[L->size]=x;
L->size++;
}
/*表格函数*/
void cddayin(struct cai a[])
{
int i=0,j=0,s=0;
for(i=0;i<30;i++)
{if(a[i].fenshu>0) j++;}
if(j!=0)
{
printf("已点菜/酒品编号 已点菜品名称 已点份数/瓶数 价格\n");
for(i=0;i<30;i++)
if(a[i].fenshu>0)
{printf(" %5d %10s%14d %d¥ \n",i,a[i].name,a[i].fenshu,a[i].fenshu*a[i].price);