商店管理系统课程设计报告.docx

上传人:b****6 文档编号:8489246 上传时间:2023-01-31 格式:DOCX 页数:19 大小:490.95KB
下载 相关 举报
商店管理系统课程设计报告.docx_第1页
第1页 / 共19页
商店管理系统课程设计报告.docx_第2页
第2页 / 共19页
商店管理系统课程设计报告.docx_第3页
第3页 / 共19页
商店管理系统课程设计报告.docx_第4页
第4页 / 共19页
商店管理系统课程设计报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

商店管理系统课程设计报告.docx

《商店管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《商店管理系统课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。

商店管理系统课程设计报告.docx

商店管理系统课程设计报告

黄淮学院信息工程学院2011级

程序设计基础课程设计报告

 

题目:

商店销售管理系统

姓名:

班级:

软件工程1101B

学号:

指导教师:

杨锋英

完成地点:

机房606

完成时间:

2012-6-6

 

目录

一.设计目的……………………………………..3

二.设计要求…………………………………….3

三.模块设计……………………………………….3

四.主要数据结构………………………………….4

五.流程图…………………………………………4

六.源代码………………………………..............5

七.测试结果及分析……………………………..8

八.小结……………………………………………10

九.参考文献………………………………………..10

 

一、设计目的

随着现代生活质量的提高,超市这种便利的服务开始走进我们的生活,同时随着超市涌入我们的生活,如何更便利的对超市进行系统和有序的操作,成为了我们需要考虑的问题,本程序运用C语言程序设计了一个超市管理系统。

关系系统的的功能主要有新购物品入库、物品信息删除、物品信息修改、物品信息查询、物品信息浏览功能,

二、设计要求

1、用C语言实现程序的设计;

2、利用结构体数组和指针实现信息的数据结构设计;

3、系统的各个功能模块:

新购商品入库、物品查询、不需要信息的删除、物品修改、浏览等等都可以用函数的形式实现;

4、界面友好(良好的人机交互)。

三、模块设计

系统功能模块结构图

 

 

四、主要数据结构

/*定义存储单元基本信息的结构*/

structthing

{

charname[10];//商品名字

intnum;//商品编号

intkucun;//商品库存

floatdanjia;//商品单价

structthing*next;//指向下一个商品信息的链

};

 

五、流程图

 

六、源代码

//**************************************************************

//*程序名:

商店管理管理系统*

//*作者:

孙太明汪腾飞张红福陈红彪胡培鑫巩持烁*

//*时间:

2012-6-6*

//*功能:

实现对商品的输入、输出、增加、减少、库存等*

//**************************************************************

/*用链表实现学生成绩信息的管理*/

//商店商品信息管理系统

#include

#include

//#include

//defineSPstructthing

structthing

{

charname[10];

intnum;

intkucun;

floatdanjia;

structthing*next;

};

structthing*creat(void);

voidproduct(structthing*p);

structthing*del(structthing*p);

//structthing*p;

structthing*sell(structthing*head);

//structthing*head;

structthing*insert(structthing*head,intn);

//structthing*head;

structthing*review(structthing*head);

//structthing*head;

//intn=0;

structthing*duqu();

voidbaocun(structthing*head);

//主函数

voidmain()

{

system("color3a");

intn=0,b;

structthing*head;

intchoose;

do{

printf("\n\n\n\t\t请选择:

1菜单,任意数结束\n");

scanf("%d",&b);

if(b!

=1)

exit(0);

system("cls");

printf("\t\t◤☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◥");

printf("\t\t\t*\t\t*欢迎使用商店管理系统**\n");

printf("\t\t**\n");

printf("\t\t**\n");

printf("\t\t*【1】:

商品列表*\n");

printf("\t\t*【2】:

商品买卖*\n");

printf("\t\t*【3】:

库存商品增新*\n");

printf("\t\t*【4】:

库存商品删除*\n");

printf("\t\t*【5】:

商品详细修改*\n");

printf("\t\t*【6】:

建立库存*\n");

printf("\t\t*【7】:

提取信息*\n");

printf("\t\t*【0】:

退出管理系统*\n");

printf("\t\t◣☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◢");

printf("请输入要选择的功能:

");

scanf("%d",&choose);

if(choose>=0&&choose<=7)

{

switch(choose)

{

case1:

product(head);break;

case2:

product(head);head=sell(head);break;

case3:

head=insert(head,n);n++;break;

case4:

head=del(head),n--;break;

case5:

head=review(head);break;

case6:

head=creat();n=n+4;break;

case7:

head=duqu();break;

case0:

baocun(head);printf("欢迎使用商店管理系统!

\n");exit(0);

}

}

elseprintf("输入错误!

\n");

}while

(1);

}

//原始创建

structthing*creat()

{

structthing*head,*p,*q;

inti;

printf("请输入四种商品\n");

for(i=1;i<5;i++)

{

if(i==1)head=p;

elseq->next=p;

q=p;

printf("请输入商品名字、编号、数量、单价\n");

p=(structthing*)malloc(sizeof(structthing));

scanf("%s%d%d%f",p->name,&p->num,&p->kucun,&p->danjia);

if(i==1)

{

head=p;

q=p;

}

else

{

q->next=p;

q=p;

}

}

p->next=NULL;

returnhead;

}

//显示商品信息

voidproduct(structthing*p)

{

if(p==NULL)

gotoend;

printf("\t\t商品详细信息\n");

printf("\t产品编号\t产品名字\t库存\t单价\n");

do

{

printf("\t%d\t\t%s\t\t%d\t%.2f\n",p->num,p->name,p->kucun,p->danjia);

p=p->next;

}

while(p!

=NULL);

end:

;

}

//商品出售

structthing*sell(structthing*head)

{

intnum,n;

floatsum;

structthing*p;

p=head;

printf("请输入购买商品的编号:

\n");

scanf("%d",&num);

printf("请输入购买的数量:

\n");

scanf("%d",&n);

while(p->num!

=num&&p->next!

=NULL)

{

p=p->next;

}

if(p->kucun

{

printf("商品库存不足!

\n\n\n\n");

gotoend;

}

if(p->num==num)

p->kucun=p->kucun-n;

else

{

printf("对不起,没有此商品!

\n\n\n");

gotoend;

}

sum=p->danjia*n;

printf("\t\t购买清单\n\n");

printf("\t商品名:

\t%s\n",p->name);

printf("\t商品单价:

\t%.2f\n",p->danjia);

printf("\t数量:

\t%d\n",n);

printf("\t总金额:

\t%.2f\n\n\n",sum);

end:

returnhead;

}

/*删除商品信息*/

structthing*del(structthing*p)

{

structthing*head,*q;

intnum;

if(p==NULL)

{

printf("无库存!

\n");

gotoend;

}

head=p;

q=p;

printf("请输入商品的编号:

\n");

scanf("%d",&num);

while(p->num!

=num&&p->next!

=NULL)

{

q=p;p=p->next;

}

if(p->num==num)

{

if(p==head)

head=p->next;

elseq->next=p->next;

printf("%d号商品已删除!

\n");

//n=n-1;

}

else

printf("无此商品!

\n");

end:

returnhead;

}

//商品插入

structthing*insert(structthing*head,intn)

{

structthingfood;

structthing*p0,*p1;

p0=&food;

p1=head;

food.num=n+1;

printf("物品的名称:

");

scanf("%s",food.name);

printf("物品的数量:

");

scanf("%d",&food.kucun);

printf("物品的单价:

");

scanf("%f",&food.danjia);

if(head==NULL)

{

head=p0;

p0->next=NULL;

}

else

{

while(p1->next!

=NULL)

{

p1=p1->next;

}

p1->next=p0;

p0->next=NULL;

}

return(head);

}

//商品修改

structthing*review(structthing*head)

{

intnum,kucun;

floatdanjia;

printf("请输入要修改的编号:

\n");

scanf("%d",&num);

printf("请输入修改后的价格和库存:

\n");

scanf("%f%d",&danjia,&kucun);

structthing*p1;

if(head==NULL)

{

printf("\nthelistisNULL!

\n");

gotoend;

}

p1=head;

while(p1->num!

=num&&p1->next!

=NULL)

{

p1=p1->next;

}

if(p1->num==num)

{

p1->danjia=danjia;

p1->kucun=kucun;

}

elseprintf("找不到该编号\n");

end:

return(head);

}

//文件保存

voidbaocun(structthing*head)

{

structthing*p;

p=head;

FILE*p1;

if((p1=fopen("file","w"))==NULL)

{

printf("不能打开文件!

\n");

gotoend;

}

while(p->next!

=NULL)

{

fwrite(p,sizeof(structthing),1,p1);

p=p->next;

}

fclose(p1);

end:

;

}

//文件读取

structthing*duqu()

{

intn=0;

structthing*head,*p,*q;

FILE*p1;

if((p1=fopen("file","rb"))==NULL)

{

printf("不能打开文件!

");

gotoend;

}

p=(structthing*)malloc(sizeof(structthing));

fread(p,sizeof(structthing),1,p1);

n++;

while(!

feof(p1))

{

n++;

if(n==1)

{

head=p;

q=p;

}

else

{

q->next=p;

q=p;

}

p=(structthing*)malloc(sizeof(structthing));

fread(p,sizeof(structthing),1,p1);

}

p->next=NULL;

fclose(p1);

end:

returnhead;

}

七、测试结果及分析

1、欢迎界面:

2、商品输入:

3、显示商品列表操作:

4、商品买卖:

5、商品新增操作:

6、商品删除操作:

7、商品修改操作:

8、提取操作:

9、退出:

八、小结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。

我的题目是商店商品信息管理系统,对于我们这些新手来说,这是很大的考验,怎么才能找到课堂所学与实际应用的最佳结合点?

怎么才能让我们的程序在篇幅上简单,在使用价值上丰富?

怎样让自己的计划更具有序性,而不会忙无一用?

我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。

回顾起此次课程设计,至今我仍感慨颇多,的确,从确定题目到完成整个编程,从理论到实践,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体、链表、文件……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在我们的坚持不懈的努力下,终于游逆而解。

在课程设计过程中,我们学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。

没有了柳暗花明的一天,那么我怎么能说经受住了考验?

不得不说这是精神的胜利,是永不言败的精神让我们的程序重见天日。

九、参考文献

C程序设计(第三版)谭浩强著清华大学出版社

程序设计基础(第三版)吴文虎著清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1