数据结构课程设计《商店管理系统》_第1页
数据结构课程设计《商店管理系统》_第2页
数据结构课程设计《商店管理系统》_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浙江农林大学程序设计综合实习报告设计题目:商店管理系统专业电子信息类班级095姓名陈晓艳学号2起止时间20092010学年第三学期目录第一章需求分析 3第二章概要设计 3第三章详细分析 4第四章运行结果分析 11第五章参考文献 17一、需求分析在日常生活中, 商店里所存商品成千上万, 若没有一个方便快捷的系统来对商品进行有 效的管理,我们就会花费很多的人力物力和时间。商店管理系统 这一课题, 是通过运用数据结构知识中线性表的存储结构和查找, 入,删除等基本运算,来实现对商店的商品简单管理,完成对商品的添加,进货,卖出,查 看,删除等基本操作。同时, 通过对这个课题的完成, 让大家更好地理解与运

2、用所学知识,提高动手能力,提 高编程能力和专业水平,更加增强了同学间的合作组织能力。二、概要设计1、抽象数据类型定义因程序中有大量的插入、删除,所以用线性表的链表存储结构来实现,ADT List数据对象:D=ai|ai ElemSet,i=1,2, ,n,n > 0数据关系:R1=<ai-1,ai>|ai-1,ai D,i=2,n2、主程序void main()switch ()Case 1:Case 2:Case 3:3、程序模块:该程序有九个模块:主函数、链表存储结构、添加新商品函数、添加已有商品数量函数、查 询商品函数、删除商品函数、卖出商品函数、查看库存函数,页面函数

3、三、详细分析1、存储结构typedef structchar name25; / 商品名称 int mount; /商品数量 float price; / 商品单价 long data; /入库日期 long num; / 商品编码goods;typedef struct nodegoods data;struct node *next;LNode,*LinkList;2、主函数 void main() int key;LinkList H;H=Creat_LinkList( ); strcpy(H->,"computer"); H->data

4、.data=20100609;H->data.mount=1000;H->data.num=1;H->data.price=20000;H->next=NULL;LinkList L;L=Creat_LinkList( ); strcpy(L->,"car"); L->data.data=20100609;L->data.mount=1000;L->data.num=2;L->data.price=20000;L->next=NULL;H->next=L;while(1)pri(); sca

5、nf("%d",&key); switch(key)(d)eimM !(aiueu111s%11)jueos :(.u:癱多曾凰阴率皐壷墨Y酚舆“)HU!d:i,aseo!(O)jjxa:o eseo (u)qojiMS !(u111p%11)jueos!(.u 用貳、O.)Wuud!(.u咲皐咸膨曾凰纵 ' 乙.)uud!(.u咲皐癱多曾凰纵' X)HU!d!(.u:M .)wuud:H=d 乙Jeiueueqo tiunu 6uo| :d is!uun3! 皐 (H lS!i”U!i)ipEOS P!OA冷 eaiq :(H)PU!d:9 ese

6、o冷 eaiq !(H)I|9S:g eseo 冷 eaiq !(H)lsn>|U!-|_|aa=H:p eseo冷 eaiq !(H)qojeas£ eseo 冷 eaiq!(H)lSj-|>|U!-|_ppe:乙 eseo 冷 eaiq!(H)lsn>|U!-|_pasu|:i eseo!(O)jjxa:o eseoif(!strcmp(p->,name) printf(" 查找成功! n"); printf(" 商品名称 %sn 商品数量 %dn 商品单价 %fn 入库日期 %ldn 商品编 码 ldn ”

7、,p->data .n ame,p->data.m oun t,p->data.price,p->data.data,p->data .nu m);break;else p=p->next;if(!p)printf(" 查找失败,库中不存在此商品! n");break;case 2:printf(" 请输入需要查找的商品编码: n");scanf("%ld",&num);while(p)if(p->data.num=num)printf(" 查找成功! n");pr

8、intf(" 商品名称 %sn 商品数量 %dn 商品单价 %fn 入库日期 %ldn 商品编码 ldn ”,p->data .n ame,p->data.m oun t,p->data.price,p->data.data,p->data .nu m);break;elsep=p->next ;if(!p)printf(" 查找失败,库中不存在此商品! n");break;4、添加商品数量函数void add_LinkList(LinkList H)LinkList p; long num,m; int key;p=H;whi

9、le(key)printf(" 请输入商品编码: n"); scanf("%ld",&num);while(p)/ 在库中查找 if(p->data.num=num) break;else p=p->next;if(p)/ 查到商品printf(" 请输入添加的商品数量: n"); scanf("%d",&m);p->data.mount+=m;printf(" 现在库存此商品 %d 件 n",p->data.mount); elseprintf(&quo

10、t; 库中没有该商品! n"); printf("1. 继续添加 0.退出 n"); scanf("%d",&key);5、添加新商品函数 int Insert_LinkList(LinkList H) LinkList p,q;int key=1,amount;long anum,adata;char aname25;float aprice;while(key)p=H;q=(LinkList)malloc(sizeof(LNode);if(!q)printf(" 申请空间失败 n"); return 0; els

11、e printf(" 输入商品名称: n"); scanf("%s",aname);printf(" 输入商品数量: n"); scanf("%d",&amount);printf(" 输入商品单价: n"); scanf("%f",&aprice);printf(" 输入商品入库日期: n"); scanf("%ld",&adata);printf(" 输入商品编码: n");scanf(&

12、quot;%ld",&anum);/把新商品信息赋给新结点strcpy(q->,aname);q->data.data=adata;q->data.mount=amount;q->data.num=anum;q->data.price=aprice;/修改指针q->next=p->next;p->next=q;printf(" 新商品添加成功! n");printf("1. 继续添加商品 0.退出 n");scanf("%d",&key);re

13、turn 1;6、删除商品函数LinkList Del_LinkList(LinkList H)LinkList p,q;int key=1;long num;while(key)printf(" 请输入需要删除的商品编号: n"); scanf("%ld",&num);p=H;q=p;p=p->next;while(p)if(p->data.num=num)q->next=p->next;free(p);printf(" 删除成功! n");break;elseq=p;p=p->next;if(

14、p=NULL)printf(" 没有你要删除的商品! n");printf("1. 继续删除 0.退出 n");scanf("%d",&key);return H;7、卖出商品函数void Sell(LinkList H)LinkList p;long num,m;int key;p=H;while(key)printf(" 请输入商品编码: n");scanf("%ld",&num);while(p)/ 在库中查找if(p->data.num=num)break;else

15、p=p->next;if(p)/ 查到商品printf(" 请输入卖出的商品数量: n");scanf("%d",&m);if(p->data.mount>=m)/ 库中商品数量够出售 p->data.mount-=m; printf(" 此商品库中还有 %d 件 n",p->data.mount); else printf(" 库中该商品存货不足! n");else printf(" 库中没有该商品! n");printf("1. 继续卖出 0.

16、退出 n"); scanf("%d",&key); 8、查看库存函数 void Find(LinkList H) LinkList p;p=H;printf(" 商品名称 商品数量 商品价格 入库日期 商品编 码 n");while(p)printf("%20s %10d%10.2f%10ld %10ldn",p->,p->data.mount,p->data.price,p->data.data,p->data.num);p=p->next;9、页面函数 voi

17、d pri() printf("=n"); printf("|商店管理系统|n");printf("=n"); printf("|1、添加新商品|n");printf("|2、添加已有商品数量|n");printf("|3、查询商品信息|n");printf("|4、删除商品信息|n");printf("|5、卖出商品|n");printf("|6、查看库存|n");printf("|0、退出|n"

18、;);printf("=n"); printf(" 请输入功能选项: ");四、运行结果分析运行后,进入主界面_ K量数屈息息 品関<-低 横有品民品存 r已寅费再库 那加U垦看岀 袴蛮奎查退1.量数口書苴品品存 新已商WW库 加加洵星看岀添加新商品输入1,进入后,按提示输入新商品各项信息后,显示新商品添加成功 继续添加按1,退出按0返回主界面添加已有商品输入2,输入需添加的商品编码和数量,添加成功后,会显示该商品现有数量 继续添加按1,退出按0返回主界面品良息 品商信S 前有品品品存 tT己商商南应 加加询卷看岀12 3 4 5 6 0= 

19、71; = -= = as S S = SCB ='= 35 3*33 S3 = = = = = SS S S3SS s = i商店管理系统:请蠶入功能选项:2 诗猛入商品编码1001谙输入瘵加的商品数呈:20现在库存此商吕丄翻件 在继蹊拯加叭退出查询商品信息输入3商店管理系统日旦品息息 口LIU商信信 商有品品口器 新己商商商库 加加询嶠看出 afl卖査退 1 2 3 4 5 fi 0I查询按商品名称查询输入 1,按商品编码查询输入 2,退出输入0然后分别按提示输入商品信息,查找成功后,显示出该商品相应的信息 返回主界面询询査查S品品程商商出肉 6 30 _0 找 叢 宜 纭1001

20、 更!aa12la20lu A爰数单口编 输al找品品品库品<数 品息自心 商有品品品存 新己商商商库 加加询疇肴出 *、%*1 2 3 5 6 R请输入场能违项;若所查商品不存在,显示查找失败量£息< 品商<.低 商有品品品存 新已»吏斎库 M加询瓏t岀 添害捌卖杏豆 12 3 4 5 6 0待笹入功能选项:31. 胺商曷嗒祢查询2. 接曲品编码鱼询4退由 2肯输入需舉杳找的商品编码;1063査找失败.库中不存4-itWnri I裔店管理系统品商力力卖出商品输入5,输入要卖的商品的编码和数量 成功后,显示该商品剩余数量按1继续卖出,按0退出斷店管理系统冥量数 S前信信 商有品品品徉 r已商W时库 加算蚩看岀 褂窖删卖吉S 专 毎、 中 F F F 1 2 3 4 5 6 M请嶽入功能赴项Gie&2请输入芙岀的閒品数量:36若所卖商品库中没有,显示库中没有该商品请逾入功能选血,兮 鯛入商品编码= 196壬有该横品! 突田®-退出若卖出的商品数大于库存数,存货全部卖出,并提示存货不足口B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论