超市管理系统课程设计.docx
- 文档编号:8909427
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:32
- 大小:118.11KB
超市管理系统课程设计.docx
《超市管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《超市管理系统课程设计.docx(32页珍藏版)》请在冰点文库上搜索。
超市管理系统课程设计
计算机学院信息管理与信息系统专业
《管理信息系统课程设计》报告
(2010/2011学年第一学期)
学生姓名:
学生班级:
学生学号:
指导教师:
2011年1月15日
第一章课程设计的目的和要求1
1.1课程设计的目的1
1.2课程设计的要求1
第二章课程设计任务内容2
2.1
背景
2
2.2功能需求
2
2.3性能要求2
第三章模块设计说明3
3.1模块3
3.11函数功能模块图3
3.12模块描述4
3.2主函数的流程图5
3.3新购物品入库流程图6
3.4物品信息删除流程图6
3.5物品信息修改流程图7
3.6物品信息查询流程图7
第四章软件使用说明及运行结果8
4.1使用说明8
4.2运行结果9
第五章课程设计心得及体会14
附录1:
参考文献15
附录2:
程序清单16
超市管理系统
第一章课程设计的目的和要求
1.1课程设计的目的
本次课程设计主要目的是让我们认识到必须重视实践环节,多读程序,多编写程序,多上机实践。
进一步培养我们的结构化程序设计的思想,加深对高级语言要素和控制结构的理解,培养我们综合运用高级语言程序设计课程所学到的知识,编写C语言程序解决实际问题的能力,独立完成有一定工作量的程序设计任务,同时强调良好的程序设计风格。
本次课程设计着眼于知识的运用,把平常学的知识运用到课程设计中来,考察我们知识运用能力,对我们所学的理论知识进一步深化。
通过课程设计的训练,我们了解到了程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。
1.2课程设计的要求
1、分析课程设计题目的要求;
2、所设计的系统应包含简单的输入输出、查询、删除等基本功能;
3、编写程序代码,代码量要求不少于300行,调试程序使其能正确运行;
4、设计完成的软件要便于操作和使用;
5、根据课程设计3周时间的安排选择适当大小的设计课题,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明;
6、设计完成后提交课程设计报告。
第二章课程设计任务内容
本次课程设计的主要内容是编写超市管理系统。
2.1背景
最初的超市资料管理,都是靠人力来完成的。
但近几年我国超市经营规模日益扩大,销售额和门店数量大幅度增加,而且许多超市正在突破以食品为主的传统格局,向品种多样化发展。
小型超市在业务上需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息,并对商品信息进行统计分析。
因此,需要这样一款现代化的管理程序来实现超市庞大商品的控制和传输,从而方便销售行业的管理和决策,为超市和超市管理人员解除后顾之忧。
2.2功能说明编写程序实现超市管理系统,物品信息包括编码,名称,生产地,数量,单价。
本系统以菜单模式实现以下功能:
1、物品信息录入功能
2、物品信息删除功能
3、物品信息修改功能
4、物品信息查询功能
5、物品信息浏览功能
6、退出系统功能
2.3性能要求
1、系统易操作性
所开发的系统应操作简单,使学生不受电脑水平的限制。
2、系统具有可维护性
由于系统设计的范围较广,数据库中的信息需定期修改,为了使系统运作的更可以对系统数据及简单的功能进行简单的维护及调整。
3、系统具有稳定性
该系统能够在开发的硬件系统中运行不会因外部系统的不同面做不同的修改
3.1模块
第二章模块设计说明
3.11函数功能模块图
3.12模块描述本超市管理系统可以进行物品的入库,删除,修改,查询,浏览等操作,其中删除,修改,查询都是以物品编号为基准实现操作的。
1、物品信息录入模块:
根据主界面进入输入模块,可以录入物品的编号,名称,生产地,数量及单价信息,录入成功后,系统会做出提示,提示你继续录入。
如果你想继续录入,输入y;否则输入n退出本模块。
2、物品信息删除模块:
根据主界面进入删除模块,可以通过输入物品编号来进行删除此物品。
如果
你想继续进行删除,输入y;否则输入n,退出本模块。
3、物品信息修改模块:
根据主界面进入修改模块,可以通过输入物品编号来进行修改此物品的相关信息。
如果你想继续进行修改,输入y;否则输入n,退出本模块。
4、物品信息查询模块:
根据主界面进入查询模块,可以通过输入物品编号来进行查看本物品的相关信息。
如果你想继续进行查询,输入y;否则输入n,退出本模块。
5、物品信息浏览模块:
根据主界面进入浏览模块,可以浏览物品的相关信息,如编号,名称,生产地,数量及单价。
可以通过回车键控制浏览的进程。
如果你想重新浏览,输入y;否则输入n,退出本模块。
6、应用程序退出模块:
根据主界面进入应用程序退出模块,如果你想退出本程序,输入y;输入
其他键将回到主界面。
3.2主函数流程图
新购
物品
入库
结束
3.3新购物品入库
图3
3.4物品信息删除
3.5物品信息修改
3.6物品信息查询
第四章软件使用说明及运行结果
4.1使用说明
该程序可以实现超市管理功能,安装VisualC++6.0中文版后,在工具栏“文件”中单击“新建”选项,单击“文件”菜单,选择“C++Sourcefile”输入文件名“学生信息管理系统”,开始输入程序,程序输入完成,单击“组建”工具栏,待程序无误后,开始执行程序。
界面显示后,按要求首先按所提示键开始进行系统工作。
编码操作完成后,先静态检查一下有没有语法错误,然后进行编译,更深一步检查语法错误。
待编译通过时,运行程序,观察是否能够正常运行,如果有问题,再去修改源程序,直至达到了预期的效果
本系统的目的是帮助超市管理部门提高工作效率,通过本管理系统可以很方便的对超市的有关数据进行管理,输入,输出,查找等有关操作,使杂乱无章的是超市能够具体化,直观化,合理化等。
本系统优点:
检索迅速、查询方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
本管理系统在追求完善的同时达到以下目标:
1、界面友好、易于操作;
2、实现基本信息管理,可以使工作人员方便、快捷的查到所需信息,还可以实现对基本信息的建立与设置等功能;
3、实现数据库管理,包括数据库的自动创建,备份与恢复。
4.2运行结果
4.21欢迎界面
欢迎使用
4.22系统选择界面
CQCOCOCOCOCOCOC088COC0008CO£超帀库存管理系统】88888COOOCOCOCOCOCOCOCOCO
系统菜单显吓如下
①一==一
—[
刼匸列品入库
】
②一=一
—[
物品信息劃除
]
③U—1
—[
物品信息修改
]
④■■■■■■■■■■■■■■■■
—[
物品倍息查询
]
⑤一…一
—【
物品信息浏览
]
®
-----[
应用程序退岀
]
请输入您要选择的菜单
搜狗拼音半,
4.23新购物品入库
物品信息倏改
物品信息查询
费_—
应用程序退出
请输入您要选择的萦孕……1
糖西3生山02-1匕S0lTtt12nV■■一#■■■■靠产墨价编名箋单IU--IFB■■IU-n■<--1-H■品品品品品
请想输入要入库物品的信息
请您输\5A库物品的信鬥
4.24物品信息删除
8CQOOQOCQ8O^CQ8CCXJQOC>C088[超市库存管理系统】88Q^CQ8O^CQOOC08
———————————
一系统菜单显示如下
——————
e
_r
新购伞厂品k库
1
W-
②====================
=[
物品信息删除
1
■LJtvsbbSB1-es1■"—-^―*^9*s?
««■
=[
物品信息修改
J
...................
r
物品信息查询
]
Vtz■■■■■■■■■■■■■■■■■■■■•
■L
⑤一一
=L
物品信息側览
1
®=
=[
应用程序退出
1
请輸入您妾选择的菓单…
…*2
请输入要删除的物品的编号汕
物品信息己淸除?
忡
您想继续吗?
權狗拼咅半:
图10
系统菜单显示如下
1“I新购物品入库】
2===========___=_=[物品信息删除1
3.KKKKKKKKKK【物品信息傷改]
4===============^====^【物品信息査询I
5=====================[物品信息測览I
6=====================[应用程序遐出]
请输入您要选择的菜单3
请输入要修改的信息的物品的编号M
韧品名称條改为:
钢牟
物品生产地修改为:
山西太原物品数量條改为愜物品箪价傷改为汀5
物品信息己修改
您想继纬吗?
<”仍搜為誹音4=
图11
4.26物品信息查询
©=====================[应用程序退岀J
请输入您要选择的菜单……4
请输入要查询的物品的編号…1
物品编号—
***物品信J息、貝風貝貝絃員淘■盖貝風貝良■員1<図盖
1
物品茗称■…
钢笔
主产厂家・■・
山西太原
进口数量….
50
批发价格•…
15.00B
您想继续吗T32
搜狗拼音辛;
请输入您曼选择的菓单……5
f脚且偿白FNwwHw
***恻pq15WHMMH
物品编号--・
1
物品名称—
钢笔
生产厂家-…
山西太原
进口数量…
批发价格….
ICXIOOCXICKXJCK其记[勿息2WM;梵弭M;梵梵*K疋*itM;*i<
物品编万
2
物品名林…-
牛奶
生产厂家….
内篆古
进口数量….
120
批发价格…
1•莎
图13
4.28应用程序退出
您确定要退岀系统吗?
如果您想退岀请按几其它犍将返回主菜单
图14
第五章课程设计心得与体会
经过此次超市管理系统的设计,我对C程序设计有了更深一步的了解,对设计或者开发系统的思路步骤有了更加全面的认识。
首先,通过对系统进行需求分析,明确系统需要的各个功能及对应的函数;然后一个个具体地对应进行编程,并仔细检查看是否有错;在完成这一步以后,就开始构造主函数,把各个功能的函数和主函数联系起来。
在实际编程过程中会遇到很多不同的错误,有时候是细节上的语法错误,这些错误比较明显,可以通过编译来查找错误的所在,然而那些并不明显难以查找的隐性错误就真让人头痛,只能不断地分步调试,一步步地检查代码中的错误,这样为了找一个错误花费了大量的时间,但是找出错误之后的感觉却是非常好的。
同时我翻阅了大量的书籍,学到了很多。
为期三周的C语言课程设计结束了,通过这三个星期的课设,使我对C语言有了更深入、更全面的了解,同时也发现自己的英文和函数基础不是很好,对很多地方不是特别懂,甚至对有些概念都还很模糊,但通过这次课程设计,使我对C语言有了新的认识,在三周的时间里,经过不断的与同学之间进行探讨以及老师的指导,使我的C语言水平有了很大程度的提高。
我认为还有比较重要的是算法,虽然算法并不是代码,但算法能让我们更好的去编写代码,有了算法程序才有灵魂,这是书上说的个人认为这是个比喻~算法是事物解决的方法,不仅仅编程我们生活中也经常用到算法,只是自身没发现而已!
当我们的算法到达到一种境界时,我们的思维就会变的灵活,思路就会变的清晰!
当然我也没到这种境界,正在努力中……
总的来说,这次系统设计给我提供了一个机会,去锻炼我的动手能力、动脑能力、自学能力、和独立实践的勇气,使我养成了勤翻资料的习惯,把书本上的理论知识和实际操作结合起来,还锻炼了实际分析问题和解决问题的能力,提高了适应实际、实践编程的能力,为今后的学习和实践打下了扎实的基础。
附录1:
参考文献
1.《C语言程序设计教程》谭浩强等著高等教育出版社
2.
2005
《C语言程序设计习题解析与应用案例分析》,黄维通编,清华大学出版社,
3.《C语言程序设计》,李大友主编,清华大学出版社,1999
附录2:
程序清单
以下是超市管理系统的源代码:
#include
#include
#include
#include
{
intid;
charname[20];
charproduce[30];
intnumber;
floatprice;
};
voidAppend();
voidSelldelete();
voidAmend();
voidFindin();
voidBrowse();
voidEndprogram();
voidinitialization()
{
FILE*fp;
structimai={1,"花生牛奶","湖北武汉",1200,2.5};
fp=fopen("ima.dat恶","w");
if(fp==NULL)
{
printf("\t\t\t系统错误,请重试");
exit(0);
fwrite(&i,sizeof(structima),1,fp);fclose(fp);
}
voidmenu()
{
intchoice;
printf("\n【超市库存管理系统】XXXXXXXXXX\n");
printf("系统菜单显示如下
");
printf("\n\t①=====================新购物品入库】
\n");
printf("\n\t②=====================物品信息删除】
\n");
printf("\n\t③=====================物品信息修改】
\n");
printf("\n\t④=====================物品信息查询】
\n");
printf("\n\t⑤=====================物品信息浏览】
\n");
printf("\n\t⑥=====================应用程序退出】
\n");
printf("\n\t请输入您要选择的菜单");
scanf("%d",&choice);
switch(choice)
{
case1:
Append();
break;
case2:
Selldelete();
break;
case3:
Amend();
break;
case4:
Findin();
break;
case5:
Browse();
break;
case6:
Endprogram();
break;
default:
printf("\n\t\t\t\t\t输入无效,请您重新输入");
getch();
system("cls");
menu();
}
}
intvalidateID(intid)
{
FILE*fp;
structimai;
fp=fopen("ima.date","r");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试");
exit(0);
}
fread(&i,sizeof(structima),1,fp);while(!
feof(fp))
{
if(i.id==id)
{fclose(fp);return1;break;
}
fread(&i,sizeof(structima),1,fp);
}
fclose(fp);return0;
}
voidAppend()
{structimai;
charchoice;
FILE*fp;fp=fopen("ima.date","ab");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试");
exit(0);
labID:
printf("\n\t请您输入要入库物品的信息...\n");printf("\t\t\t\t物品的编号:
");scanf("%d",&i.id);
if(validateID(i.id)==1){
printf("\t\t\t\t此编号已被使用,请您重新输入");
gotolabID;
}printf("\t\t\t\t物品的名称:
");
scanf("%s",i.name);
printf("\t\t\t\t物品的生产地:
");
scanf("%s",i.produce);
printf("\t\t\t\t物品的数量:
");
scanf("%d",&i.number);
printf("\t\t\t\t物品的单价:
");
scanf("%f",&i.price);
fwrite(&i,sizeof(structima),1,fp);fclose(fp);
printf("\t\t\t\t\t\t物品信息已入库成功!
!
!
\n");
printf("\n您想继续吗?
(y/n)");scanf("%c",&choice);if(choice=='Y'||choice=='y'){
Append();
}else{
system("cls");menu();
}
}
voidSelldelete()
{structimai[1000];
structimatemp;
intdelID;
charchoice;
intindex=0;
intj=0;
FILE*fp;
fp=fopen("ima.date","r");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试");
exit(0);
}
fread(&temp,sizeof(structima),1,fp);while(!
feof(fp))
{
i[index]=temp;
index++;
fread(&temp,sizeof(structima),1,fp);}fclose(fp);
printf("\n\t请输入要删除的物品的编号:
");
scanf("%d",&delID);
fopen("f:
\\ima.date","w");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试");
exit(0);
}
for(j=0;j { if(i[j].id! =delID) { fwrite(&i[j],sizeof(structima),1,fp); } } fclose(fp); printf("\t\t\t\t\t物品信息已清除! ! ! \n"); printf("\n您想继续吗? (y/n)"); scanf("%c",&choice); if(choice=='Y'||choice=='y') { Selldelete(); } else { system("cls"); menu(); } } voidAmend() {intindex=0; intID,j; charchoice; structimai[1000]; structimatemp; FILE*fp; fp=fopen("ima.date","r"); if(fp==NULL) { printf("\t\t\t系统错误,请您重试"); exit(0); } fread(&temp,sizeof(structima),1,fp); while(! feof(fp)) { i[index]=temp; index++; fread(&temp,sizeof(structima),1,fp); } fclose(fp); fp=fopen("ima.date","w"); if(fp==NULL) { printf("\\t\t\t系统错误,请您重试"); exit(0); } printf("\n\t请输入要修改的信息的物品的编号: "); scanf("%d",&ID); for(j=0;j<=index-1;j++) { if(i[j].id! =ID) { fwrite(&i[j],sizeof(structima),1,fp); } else { printf("\t\t物品名称修改为: ");scanf("%s",i[j].name); printf("\t\t物品生产地修改为: ");scanf("%s",i[j].produce); printf("\t\t物品数量修改为: ");scanf("%d",&i[j].number); printf("\t\t物品单价修改为: "); scanf("%f",&i[j].price); fwrite(&i[j],sizeof(structima),1,fp); } } fclose(fp); printf("\t\t\t\t物品信息已修改"); printf("\n您想继续吗? (y/n)"); scanf("%c",&choice);if(choice=='Y'||choice=='y') { Amend(); } else system("cls"); menu(); } } voidFindin() { FILE*fp; intfindID;charchoice;structimai; fp=fopen("ima.date","r"); if(fp==NULL) { printf("\t\t\t系统错误,请你重试"); exit(0); } finID: printf("\n\t请输入要查询的物品的编号.."); scanf("%d",&findID); fread(&i,sizeof(structima),1,fp); while(! feof(fp)) { if(i.id==findID) printf("\n\n\t* ************** 物品信息 ****
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 课程设计