超市密码存储箱系统(含源代码).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二小组实验报告 数据结构试验报告 实验二 线性表的基本操作 实验题目: 专业班级: 计科系1103班 组 长: 王艳愉 2011100323 组 员: 武文辉 2011100310 赵玉鑫 2011100339 孙伟杰 2011100340 2013年4 月 2日 第二小组实验报告 实验报告 实验类型 综合设计__ 实验室 软件实验室一 一、实验题目 线性表的基本操作 二、实验目的和要求 1、掌握线性表的特点 2、掌握线性表的顺序存储结构和链式存储结构的基本运算及应用。 3、尽可能考虑算法的健壮性 4、实验报告中要写出测试数据、错误分析以及收获。 三、需求分析 本演示程序用c++6.0编写,完成单链表和顺序表的生成,任意位置的插入、删除,以及确定某一元素在单链表中的位置。 1、输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数 2、输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置 3、程序所能达到的功能:完成能完成两种存储结构的基本运算以及二级菜单的运用 4、测试数据 1)输入1,存包查看链表1是否为空,若为空,则显示“箱满,请稍侯!”,若非空,则取出一个结点,随机产生一个六位数密码,并将些密码和链表2中所有结点的密码相比较,若有重复,则再随机产生一个新密码,直到无重复;将密码信息写入此结点,并将其插入链表2。 2)输入2,取包,查看链表2是否为空,若为空,则提示“存储箱为空”,若不为空,则提示输入密码,与链表2中的密码进行比较,如果找不到,则提示密码错误,请重新输入。如果找到,则取出一节点并插入到链表1中。 四、 概要设计 为了实现上述程序功能,需要定义 第二小组实验报告 1、单链表的抽象类型如下: ADT LinkList { 数据对象:D={ai|ai∈IntegerSet,i=0,1,2,?,n,n≥0} 数据关系:R={ai,ai+1|ai,ai+1 ∈D} 基本操作: creat_linklist(LinkList L1) 操作结果:构造一个空的单链表L. insert_node(LinkList L,Node *p) 初始条件:单链表L已存在 操作结果:将节点p插入到单链表L中 del_node(LinkList L) 初始条件:单链表L已存在 操作结果:将单链表L中的投节点删除 creat_password() 操作结果:随机产生一个六位数的密码 compare_password(LinkList L,int x) 初始条件:单链表L1已存在,已有一个六位数的密码 操作结果:若密码相同,则返回1,否则返回0 password_compare(LinkList L,int x) 初始条件:单链表L2已存在 操作结果:玉输入密码进行比较,若密码相同,则返回1,否则返回0 } 2、本程序包含三个模块 1)主菜单模块: 协调各函数的调用,实现所要求的功能; 2)取包模块: 实现超市密码箱存包的基本操作; 3)存包模块: 第二小组实验报告 实现超市密码箱取包的基本操作 3、各模块之间的调用关系如下: 主菜单模块 存包模块 取包模块 五、 详细设计 1、链表元素的基本类型 typedef struct node { int num; /*箱子的号码*/ int password; /*箱子的密码(满箱有,空箱无)*/ struct node *next; /*指向下个结点的指针*/ }Node,*LinkList; 2、链表的基本操作 creat_linklist(LinkList L1) //构造一个新的链表,如果没有开辟成功返回错误 LinkList del_node(LinkList L) //在表头删除一个节点 insert_node(LinkList L,Node *p) //在表头插入一个节点 int creat_password() //创建一个密码 int compare_password(LinkList L,int x) //判断是否予以产生密码重复 LinkList password_compare(LinkList L,int x) //密码比较 其中部分操作的伪码算法如下: creat_linklist(LinkList L1) { int i; Node *p,*q; q=L1; for(i=0;i12;i++) { p=(Node*)malloc(sizeof(Node)); p-password=0; p-num=i+1; p-next=q-next; q-next=p; q=q-next; }

文档评论(0)

44488569 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5101121231000003

1亿VIP精品文档

相关文档