超市密码存储箱系统设计

超市密码存储箱系统设计

ID:5475193

大小:31.46 KB

页数:12页

时间:2017-12-14

超市密码存储箱系统设计_第1页
超市密码存储箱系统设计_第2页
超市密码存储箱系统设计_第3页
超市密码存储箱系统设计_第4页
超市密码存储箱系统设计_第5页
资源描述:

《超市密码存储箱系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、面向对象程序设计大作业------超市密码存储箱系统学院名称数学与系统科学学院专业班级统计学2012-2学生姓名李军学号201201051509指导教师孙红梅完成时间:2014年5月4日超市密码存储箱系统【系统简介】该系统能够实现超市内储物箱的开空箱子存物品和凭密码开箱子取物品的操作。【基本要求】该系统能够实现:1、寻找空箱子,产生密码2、打印密码,打开箱子3、放入物品关闭箱子4、输入密码,打开箱子5、关闭箱子,成为空箱【系统分析】该系统能够实现上述功能并且操作简单、界面清晰、灵活、使用、方便。1.顾客使用箱子的流程为“投一元硬

2、币”--------“找到一个空箱子,同时产生密码”(系统完成)--------“打印密码,打开箱子”(系统完成)--------“取密码纸存包,并关闭箱子,入超市购物”--------“购物结束”--------“输入密码”--------“找到对应箱子并打开”(系统完成)--------“取包”。2.现要求设计程序模拟以上系统完成的功能①界面:在我们的模拟系统中,箱子在屏幕上被画出来,并编号,空箱为蓝色,被使用时变成红色,再变为空后则恢复蓝色;②通过按“1”键模拟顾客投币;③当空箱子被顾客申请得到的同时,系统自动生成6位数密

3、码,此密码不能与正在被使用的任何一个箱子的密码相同。3.在设计时,可利用链表来组织所有的箱子,所有的箱子以结点的形式表示,结点中存放箱号、密码(满箱有,空箱无)以及指向下一个结点的指针。空箱结点放在一个链表1中,满箱结点放在另一个链表2中。若有顾客投币(这里按下“1”键模拟),查看链表1是否为空,若为空,则显示“箱满,请稍侯!”,若非空,则取出一个结点,随机产生一个六位数密码,并将些密码和链表2中所有结点的密码相比较,若有重复,则再随机产生一个新密码,直到无重复;将密码信息写入此结点,并将其插入链表2;将此箱的颜色改为红色。【源

4、代码】#include#include#include#include#includetypedefstructnode{intnum;intpassword;structnode*next;}Node,*Linklist;shuchu(LinklistLK,LinklistLM)/*输出所有箱子情况界面*/{Linklistp,q;p=LK->next;q=LM->next;while(p)/*空箱*/{printf("******"

5、);printf("**");printf("**");printf("******");if(p->password)printf("红色");elseprintf("蓝色");p=p->next;}while(q)/*满箱*/{printf("******");printf("**");printf("**");printf("******");if(q->password)printf("红色");elseprintf("蓝色");q=q->next;}}cu

6、nbao(LinklistLK,LinklistLM)/*存包*/{Linklistp,q;srand((unsigned)time(NULL));q=LM->next;p=LK->next;if(!p)/*判断箱子是否已空*/{printf("箱满,请稍侯!");return;}while(p->password=rand()%900000+100000)/*生成密码*/{if(!q)break;q=LM->next;while((p->password!=q->password)){q=q->next;if(!q)b

7、reak;}if(!q)break;}q=LM;/*空箱满想的链接*/while(q->next){q=q->next;}LK->next=p->next;q->next=p;p->next=NULL;shuchu(LK,LM);printf("申请成功!您的密码是:");printf("%d",p->password);}qubao(LinklistLK,LinklistLM)/*取包*/{Linklistp,q,t;intn;q=LM->next;t=LM;p=LK;printf("请输入您的密码:");scan

8、f("%d",&n);while(q&&(q->password!=n)){q=q->next;t=t->next;}if(!q)/*判断密码是否正确*/{printf("您输入的密码错误!");return;}q->password=0;t->next

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。