q->nextproduct=p
q=p
}
}
return ok
}//ProductInsert
void ProQuantity_add(sqmountlink&L,char pkindname 1[],char pname 1[],int n)
{//添加顺序表挂接链表的某产品的总量,且需添加的产品总量为n
int i,k
plinklist p
for(i=0i<L.lengthi++)
{
if(strcmp(L.kindelem[i]).pkindname,pkindname 1)!=0)
continue
else
break
}
if(i<L.length)
{
for(p=L.kindelem[i].firstproductp!=NULLp=p->nextproduct)
{
k=strcnp(p->pname.pname)
if(k==0)
{
p->totalquantity=p->totalquantity+n
printf("查看添加后产品的各项输出:%s %d%d,%d %d %d,%d,%d\n",p-pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goods).day,
p->salequanlity,(p->salestime).year,(p->salestime).month,(p->salestime).day)
}
}
}
}//ProQuantity_add
void Visit(sqmountlink&L,char pkindname3[],char pname3[])
{//在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息
int i,k
plinklist p
for(i=0i<L.lengthi++)
{
if(strcmp((L.kindelem[i]),pkindname.pkindname3)!=0)
continue
else
break
}
if(i<L.length)
{
for(p=L.kindelem[i].firstprodicyp!=NULLp=p->nextproducy)
{
k=strcmp(p->pname.pname3)
if(k==0)
break
}
if(k!=0)
printf("此产品不存在:\n")
else
{
printf("输出带查询产品的各项信息:\n")
printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goodsdate).day,
p->salequantity,(p->salestime).year,(p->salestime).month,(p->salestime).day)
}
}
}//Visit
void DisplayList(sqmountlink&L)
{//显示各产品所属产品类,产品名称、产品总量,进货日期,销出数量,销售时间
int i;
plinklist p
printf("产品类 产品 进货日期 销出数量 销售时间\n")
for(i=0i<L.lengthi++)
{
if(!(L.kindelem[i],firstproduct))
printf("%s\n",(L.kindelem[i]).pkindname)
for(p=L.kindelem[i].firstproductpp=p->nextproduct)
printf("%s %s %d %d,%d,%d %d %d,%d,%d \n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(P->goodsdate).month,(p->goodsdate).day,p->salesquantity,(p->salestime).year,(p->salestime).month,(p->salestime).day)
}
}//DisplayList
void DestoryMountList(sqmountlink&L)
{//销毁已存在的顺序表挂接链表L
int i
kindlnode *p
for(i=L.lengthi>=0
{
p=&(L.kindelem[i])
if(*p).firstproduct==NULL)
free(p)
else
{
while((*p).firstproductq->nextproductq=q->nextproduct)
free(q)
}
free(q)
}
}
}//DestroyMountList
void menu_operation()
{// *** 作菜单
printf("----输入所要执行 *** 作:-------\n")
printf("----产品类的添加:1------\n")
printf("----产品的添加:2-----\n")
printf("----产品数量的添加:3-----\n")
printf("----查询每种产品所属产品类,产品总量,进货日期,销出数量,销售时间:4-----------\n")
printf("----释放L所占内存空间,退出程序:0-----\n")
}//menu_operation
/*--------------主程序-------------*/
void main(void)
{
int order,
int i,n
char a[30]
char b[30]
sqmountlink L
InitMountList(L)
printf("-----创建初始的产品类、产品顺序表挂接链表L-----\n")
CreatMuntList(L)
DisplayList(L);
printf("-----初始的产品类、产品顺序表挂接链表L创建完成-----\n")
menu_operation()
loop:
printf("输入命令:")
scanf("%d",&order)
switch(order)
{
case 1:
printf("需添加产品类的个数:")
scanf("%d",&i)
kindinsert(L,i)
printf("输出修改后的产品库存管理表:\n")
DisplayList(L)
goto loop
case 2:
printf("需添加产品所属产品类的名称:")
scanf("%s",&a)
printf("需向此产品类添加产品的个数:")
scanf("%d",&i)
ProductInsert(L,a,i)
printf("输出修改后的产品库存管理表:\n")
DisplayList(L)
goto loop
case 3:
printf("输入需添加数量的产品所属产品类的名称:")
scanf("%s",&a)
printf("输入需添加数量的产品的名称:")
scanf("%d",&n)
ProQuantity_add(L,a,b,n)
printf("输出修改后的产品库存管理表:\n")
DisplayList(L)
goto loop
case 4:
printf("输入待查询产品所属产品类的名称:")
scanf("%s",&b)
printf("输入待查询产品的名称:")
scanf(%s",&b)
Visit(L<a,b)
goto loop
case ():
DestroyMountList(L)
exit(0)
}
}
毕业设计ASP《网上订餐系统》:1、浏览管理:对菜单的浏览主要是建立在首页,在浏览时可以看到顾客登录,美食检索,我的订单,美食分类,最新特价美食。
2、用户注册管理:用户注册模块的功能是接受用户注册,在检查过用户注册数据的合法性后将用户信息写入数据库。注册用户注册流程图(如图2-3)所示:
图2-3 注册用户流程图
3、查询订购菜单:此模块要实现的功能是让顾客根据自己的喜好、口味等查找适合自己美食,此模块在我们设计中主要是对上架的美食进行查询,对自己查询后感兴趣对菜式,可以下订单,下单后也可以取消订单或者继续添加订单。
4、用户结账:这个模块就是顾客下完订单,准备结账。这里分为三步,第一步为防止顾客下错单,在一次确认,菜名,数量:第二步填写顾客个人资料姓名,性别,送餐的地址:第三步就是价钱的统计。如果没有下订单直接结账就出现提示:对不起,您没有点菜,请在点菜后,再去“结算中心”。你也可以对此菜发表评论或者说明一下此菜,如果顾客需要的话,餐馆也会提供发票。
5、管理员登录:管理员可以对网站的所有信息进行更改,本订餐系统的管理员功能主要包括:修改管理员的密码,注销管理员登录,添加商品,对已有的商品的信息进行修改,处理订单,客户留言以及投诉,管理所有的注册用户,可删除注册用户,分类管理可以对已有商品进行分类,数据处理,数据库 *** 作等功能。管理员登录模块与用户登录模块基本类似,它是通过数据库对管理员的帐号密码进行核对,如果发现管理员帐号与密码不匹配,则返回错误信息。
网上订餐系统全文 http://www.77lw.com/asp/230.html
^程^有偿解决此类问题,^序^
^设^如果您的要求与此类似,此回复有效.
^计^功能可定制,适应不同程度
^制^
^作^可 Baidu Hi / 私信/追问/求助联系,
补考管理系统
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)