超市管理系统课程设计.docx

上传人:b****3 文档编号:5515033 上传时间:2022-12-18 格式:DOCX 页数:28 大小:342.83KB
下载 相关 举报
超市管理系统课程设计.docx_第1页
第1页 / 共28页
超市管理系统课程设计.docx_第2页
第2页 / 共28页
超市管理系统课程设计.docx_第3页
第3页 / 共28页
超市管理系统课程设计.docx_第4页
第4页 / 共28页
超市管理系统课程设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

超市管理系统课程设计.docx

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

超市管理系统课程设计.docx

超市管理系统课程设计

计算机学院信息管理与信息系统专业

《管理信息系统课程设计》报告

(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函数功能模块图

图1

 

3.12模块描述

本超市管理系统可以进行物品的入库,删除,修改,查询,浏览等操作,其中删除,修改,查询都是以物品编号为基准实现操作的。

1、物品信息录入模块:

根据主界面进入输入模块,可以录入物品的编号,名称,生产地,数量及单价信息,录入成功后,系统会做出提示,提示你继续录入。

如果你想继续录入,输入y;否则输入n,退出本模块。

2、物品信息删除模块:

根据主界面进入删除模块,可以通过输入物品编号来进行删除此物品。

如果你想继续进行删除,输入y;否则输入n,退出本模块。

3、物品信息修改模块:

根据主界面进入修改模块,可以通过输入物品编号来进行修改此物品的相关信息。

如果你想继续进行修改,输入y;否则输入n,退出本模块。

4、物品信息查询模块:

根据主界面进入查询模块,可以通过输入物品编号来进行查看本物品的相关信息。

如果你想继续进行查询,输入y;否则输入n,退出本模块。

5、物品信息浏览模块:

根据主界面进入浏览模块,可以浏览物品的相关信息,如编号,名称,生产地,数量及单价。

可以通过回车键控制浏览的进程。

如果你想重新浏览,输入y;否则输入n,退出本模块。

6、应用程序退出模块:

根据主界面进入应用程序退出模块,如果你想退出本程序,输入y;输入其他键将回到主界面。

 

3.2主函数流程图

图2

 

3.3新购物品入库

图3

3.4物品信息删除

图4

3.5物品信息修改

图5

3.6物品信息查询

图6

第四章软件使用说明及运行结果

4.1使用说明

该程序可以实现超市管理功能,安装VisualC++6.0中文版后,在工具栏“文件”

中单击“新建”选项,单击“文件”菜单,选择“C++Sourcefile”输入文件名“学生信息管理系统”,开始输入程序,程序输入完成,单击“组建”工具栏,待程序无误后,开始执行程序。

界面显示后,按要求首先按所提示键开始进行系统工作。

编码操作完成后,先静态检查一下有没有语法错误,然后进行编译,更深一步检查语法错误。

待编译通过时,运行程序,观察是否能够正常运行,如果有问题,再去修改源程序,直至达到了预期的效果

本系统的目的是帮助超市管理部门提高工作效率,通过本管理系统可以很方便的对超市的有关数据进行管理,输入,输出,查找等有关操作,使杂乱无章的是超市能够具体化,直观化,合理化等。

本系统优点:

检索迅速、查询方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

本管理系统在追求完善的同时达到以下目标:

1、界面友好、易于操作;

2、实现基本信息管理,可以使工作人员方便、快捷的查到所需信息,还可以实现对基本信息的建立与设置等功能;

3、实现数据库管理,包括数据库的自动创建,备份与恢复。

 

4.2运行结果

4.21欢迎界面

图7

4.22系统选择界面

图8

4.23新购物品入库

图9

4.24物品信息删除

图10

 

4.25物品信息修改

图11

4.26物品信息查询

图12

4.27物品信息浏览

图13

 

4.28应用程序退出

图14

 

 

第五章课程设计心得与体会

经过此次超市管理系统的设计,我对C程序设计有了更深一步的了解,对设计或者开发系统的思路步骤有了更加全面的认识。

首先,通过对系统进行需求分析,明确系统需要的各个功能及对应的函数;然后一个个具体地对应进行编程,并仔细检查看是否有错;在完成这一步以后,就开始构造主函数,把各个功能的函数和主函数联系起来。

在实际编程过程中会遇到很多不同的错误,有时候是细节上的语法错误,这些错误比较明显,可以通过编译来查找错误的所在,然而那些并不明显难以查找的隐性错误就真让人头痛,只能不断地分步调试,一步步地检查代码中的错误,这样为了找一个错误花费了大量的时间,但是找出错误之后的感觉却是非常好的。

同时我翻阅了大量的书籍,学到了很多。

<1A6Uh

为期三周的C语言课程设计结束了,通过这三个星期的课设,使我对C语言有了更深入、更全面的了解,同时也发现自己的英文和函数基础不是很好,对很多地方不是特别懂,甚至对有些概念都还很模糊,但通过这次课程设计,使我对C语言有了新的认识,在三周的时间里,经过不断的与同学之间进行探讨以及老师的指导,使我的C语言水平有了很大程度的提高。

我认为还有比较重要的是算法,虽然算法并不是代码,但算法能让我们更好的去编写代码,有了算法程序才有灵魂,这是书上说的…….个人认为这是个比喻~算法是事物解决的方法,不仅仅编程我们生活中也经常用到算法,只是自身没发现而已!

当我们的算法到达到一种境界时,我们的思维就会变的灵活,思路就会变的清晰!

当然我也没到这种境界,正在努力中……

总的来说,这次系统设计给我提供了一个机会,去锻炼我的动手能力、动脑能力、自学能力、和独立实践的勇气,使我养成了勤翻资料的习惯,把书本上的理论知识和实际操作结合起来,还锻炼了实际分析问题和解决问题的能力,提高了适应实际、实践编程的能力,为今后的学习和实践打下了扎实的基础。

 

附录1:

参考文献

1.《C语言程序设计教程》谭浩强等著高等教育出版社

2.《C语言程序设计习题解析与应用案例分析》,黄维通编,清华大学出版社,2005

3.《C语言程序设计》,李大友主编,清华大学出版社,1999

 

附录2:

程序清单

以下是超市管理系统的源代码:

#include

#include

#include

#include

structima

{

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∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞【超市库存管理系统】∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\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***************物品信息******************");

printf("\n\t物品编号...%30d\n",i.id);

printf("\n\t-----------------------------------

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

当前位置:首页 > 经管营销

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

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