1、这里没有商品信息,需要自己编码添加。#include #include typedef struct ln /会员信息char id20;/会员账号char key20;/会员密码int sum;/会员积分struct ln *next; member;struct lm/商品信息int id;/商品编号char name50;/商品名称int stock;/商品库存 goods1000;member *registe(member *t);/注册;void buy();int main()member *head=(member *)malloc(sizeof(member);strcpy(
2、head-id, “0“), strcpy(head-key, “0“);/超市管理员head-next=NULL;int i, a, n, boo=0;while(1)printf(“ 注册会员请按 1:n“);printf(“ 会员直接登录请按 2:n“);printf(“ 退出请按 0:n“);scanf(“%d“, if(a=0) break;if(a=1) head=registe(head);else if(a=2) boo=login(head);if(boo) break;if(a buy();printf(“ 已经安全退出n“);member *registe(member
3、*t)/注册printf(“ 现在开始会员注册nn“);char id20, key20;member *p, *q, *r;p=t;while(p-next) p=p-next;/寻找链表中最后一个结点while(1)printf(“ 请输入您注册的账号,密码:n“);scanf(“%s %s“, id, key);q=t;while(q)/判断该账号是否已经被注册if(strcmp(q-id, id)=0) break;else q=q-next;if(q=NULL)/账号没有注册r=(member *)malloc(sizeof(member);r-next=NULL;p-next=r;
4、strcpy(r-id, id);strcpy(r-key, key);r-sum=1000;/会员默认的积分为 1000break;else printf(“该账号已被注册,请重新输入账号,密码n“);printf(“恭喜您,已经注册成功。现在可以登录了nn“);return t;int login(member *t)/登录printf(“ 现在开始登录n“);member *p;char id20, key20;int a, boo=0;while(1)printf(“ 请输入您的账号,密码:n“);scanf(“%s“, id);if(strcmp(id, “#“)=0) break;
5、scanf(“%s“, key);p=t;while(p)if(strcmp(p-id, id)=0 else p=p-next;if(p=NULL)printf(“对不起,该账号不存在或密码错误。请重新登录n“);printf(“ 退出登录请按#n“);else if(strcmp(id, “0“)!=0)boo=1;break;return boo;void buy()char s20;int n, i;while(1)printf(“ 请输入商品的编号或者名称:n“);scanf(“%s“, s);if(strcmp(s, “0“)=0) break;if(s0=1 elseprintf(“ 您已购买成功。n“);elsefor(i=0; i=1000)printf(“ 商品不存在请重新输入,退出请按 0n“);elseprintf(“ 您已购买成功。n“);