药品销售管理系统.docx

上传人:b****8 文档编号:9205651 上传时间:2023-05-17 格式:DOCX 页数:37 大小:352.42KB
下载 相关 举报
药品销售管理系统.docx_第1页
第1页 / 共37页
药品销售管理系统.docx_第2页
第2页 / 共37页
药品销售管理系统.docx_第3页
第3页 / 共37页
药品销售管理系统.docx_第4页
第4页 / 共37页
药品销售管理系统.docx_第5页
第5页 / 共37页
药品销售管理系统.docx_第6页
第6页 / 共37页
药品销售管理系统.docx_第7页
第7页 / 共37页
药品销售管理系统.docx_第8页
第8页 / 共37页
药品销售管理系统.docx_第9页
第9页 / 共37页
药品销售管理系统.docx_第10页
第10页 / 共37页
药品销售管理系统.docx_第11页
第11页 / 共37页
药品销售管理系统.docx_第12页
第12页 / 共37页
药品销售管理系统.docx_第13页
第13页 / 共37页
药品销售管理系统.docx_第14页
第14页 / 共37页
药品销售管理系统.docx_第15页
第15页 / 共37页
药品销售管理系统.docx_第16页
第16页 / 共37页
药品销售管理系统.docx_第17页
第17页 / 共37页
药品销售管理系统.docx_第18页
第18页 / 共37页
药品销售管理系统.docx_第19页
第19页 / 共37页
药品销售管理系统.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

药品销售管理系统.docx

《药品销售管理系统.docx》由会员分享,可在线阅读,更多相关《药品销售管理系统.docx(37页珍藏版)》请在冰点文库上搜索。

药品销售管理系统.docx

药品销售管理系统

 

沈阳工程学院

课程设计

 

设计题目:

高级程序设计课程设计

-----药品销售管理系统

 

系别信息工程系班级计本071

学生姓名罗松、韩余、古智海、成先镜、王博

学号13号、19号、12号、30号、06号

指导教师张楠、吕海华职称讲师、讲师

起止日期:

2009年12月14日起——至2009年12月25日止

沈阳工程学院

课程设计任务书

课程设计题目:

药品销售管理系统

 

系别信息工程系班级计本071

学生姓名罗松、韩余、古智海、王博、成先镜学号13号、19号、12号、06号、30号

指导教师张楠、吕海华职称讲师、讲师

课程设计进行地点:

实训F

任务下达时间:

2009年12月10日

起止日期:

2009年12月14日起——至2009年12月25日止

教研室主任姜柳2009年12月09日批准

一、课程设计的原始资料及依据

查阅有关资料,进一步理解面向对象程序设计的思想,并利用MFC框架编写一个简单的windows系统。

通过本设计可以加深理解使用面向对象程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。

二、课程设计主要内容及要求

设计内容:

主要完成药品销售信息的管理

1)实现销售登记,并作相应纪录,将记录保存在文件中

2)实现销售退货,并作相应纪录,将记录保存在文件中

3)实现销售查询

4)实现销售退货查询

设计要求:

(1)要求利用面向对象的方法以及MFC框架来完成系统的设计;

(2)要求在设计的过程中建立清晰的类层次,并画出类图;

(3)设计功能满足要求、易于操作的友好界面;

(4)界面中需有菜单、工具栏、状态栏;

(5)在系统的设计中,至少要用到面向对象的一种机制:

继承、多态等;

(6)在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。

三、对课程设计说明书撰写内容、格式、字数的要求

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:

设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。

一般不应少于3000字。

2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。

4.课程设计说明书手写或打印均可。

手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。

文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。

5.课程设计说明书装订顺序为:

封面、任务书、成绩评定表、目录、正文、参考文献。

四、设计完成后应提交成果的种类、数量、质量等方面的要求

1.完成“任务书”中指定的功能,运行结果正确。

2.课程设计说明书。

五、时间进度安排

顺序

阶段日期

计划完成内容

备注

1

第1天

进行设计准备,阅读资料,分析设计任务书,明确设计要求、内容和步骤

2

第2—4天

编写相应的程序代码

3

第5—7天

程序调试

4

第8—9天

整理程序,撰写课程设计报告

5

第10天

成绩评定

六、主要参考资料(文献)

[1]王育坚.主编《VisualC++面向对象编程教程》(第二版).北京:

清华大学出版

[2]陈维兴,林小茶.《C++高级程序设计教程》.北京:

清华大学出版社

[3]谭浩强.《C++程序设计教程》.北京:

中国科学技术出版社

[4]王燕.《面向对象的理论与C++实践》.北京:

清华大学出版社

[5]马石安,魏文平.主编《VisualC++程序设计与应用教程》.北京:

清华大学出版社

[6]郑莉董渊张瑞丰编着.《C++语言程序设计》(第3版).北京:

清华大学出版社.2006

 

 

沈阳工程学院

高级程序设计课程设计成绩评定表

系(部):

信息工程系班级:

计本071

学生姓名:

罗松、韩余、古智海、成先镜、王博

指导教师评审意见

评价内容

具体要求

权重

评分

加权分

调研

论证

能独立查阅文献,收集资料;能制定课程设计方案和日程安排。

5

4

3

2

工作能力

态度

工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,

5

4

3

2

工作量

按期圆满完成规定的设计任务,工作量饱满,难度适宜。

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

5

4

3

2

指导教师评审成绩(加权分合计乘8)

加权分合计

指导教师签名:

年月日

评阅教师评审意见

评价内容

具体要求

权重

评分

加权分

查阅

文献

查阅文献有一定广泛性;有综合归纳资料的能力

5

4

3

2

工作量

工作量饱满,难度适中。

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

5

4

3

2

评阅教师评审成绩

(加权分合计乘以4)

加权分合计

评阅教师签名:

年月日

答辩小组评审意见

评价内容

具体要求

权重

评分

加权分

学生汇报

汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。

5

4

3

2

答辩

思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。

5

4

3

2

答辩小组评审成绩

(加权分合计乘以8)

加权分合计

答辩小组教师签名:

年月日

课程设计总评成绩

摘要

伴随着社会的复杂化,传统的“一支笔,一本帐簿”的药品销售管理方式也慢慢的无法适应形势的变化。

随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。

而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。

软件产业已成为社会信息化进程中的一个战略性产业。

在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。

不断开发适应用户需求、市场需要的新型软件产品。

随着社会的发展,软件也在不断的更新换代。

随着信息化的发展,为了让管理更快捷、更准确,实现商业活动的信息化管理已经成为各个领域的当务之急。

我们知道VisualC++有许多组件组成,包括编辑器、编译器、调试器以及程序向导AppWizard、类向导ClassWizard等,这些组件通过一个名为DeveloperStudio的组件集成为一个和谐的开发环境。

利用这个开发环境,我们可以很容易的编写一个应用于一个特定环境的软件系统。

本次课设我们小组就是利用这个环境来开发我们的应用系统的。

我们的这个系统主要是针对医药管理行业的,主要是用来对药品销售的商业活动进行管理的。

应用本系统,我们可以使药品销售管理简单而有效的运行,这就是计算机的优点。

下来我来简单介绍一下我们所开发出来的这个系统,在我们的这个系统中,主要有四大方面的功能,即登录系统功能、药品采购管理、药品销售管理、药品退货管理。

另外,利用我们利用文件来对数据进行管理,从而使系统更加完善,功能更加强大。

 

关键词:

VisualC++、AppWizard、ClassWizard、文件、DeveloperStudio

第1章绪论

紧张而又繁忙的课程设计过去了,在这一个星期里,让我尝到了以前我没有体验过的辛苦与劳累。

经过本次的课程设计,使我克服了很多在程序设计上的弊端和难点,也让我体会到了冲出重围的幸福与喜悦。

编写了几百行的代码最后写出一个程序觉得很有成就感。

对VisualC++的掌握提高到了一个新的水平,能够利用VisualC++编程平台编写出一个实用的程序,很大程度提高了程序综合设计能力、分析能力和编程能力。

掌握了很多新的编程技巧,积累了一些编程经验。

世纪之初,以微电子、计算机、软件和通信技术为主导的信息技术革命给我们生存的社会所带来的变化令人目不暇接。

VisualC++由许多组件组成,包括编辑器、编译器、调试器、以及程序向导AppWizard、类向导ClassWizard等,这些组件通过一个名为DeveloperStudio的组件集成为一个和谐的开发环境。

这给我们的编程提供了很大的方便。

本组选择药品销售管理系统,它可以应用在任何医药企业和和医药销售有关的事业单位的药品销售管理中,为药品销售的各项管理及信息保存提供了一个良好的操作环境,为这些单位提供了很大的方便。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对药品销售进行管理,具有着手工管理所无法比拟的优点.例如:

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

这些优点能够极大地提高企业对药品销售管理的效率,从而使企业取得更大的利润。

同时,这也是企业的科学化、正规化管理,与世界接轨的重要条件。

我们的课程设计结束了,但是它留给我的印象是不可磨灭的。

无论我以后会不会涉及这方面的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢课程设计,它的确教会我很多。

紧张的设计时光接近收尾,我们的设计成果也达到了设计的要求,我们每个人的心里头都画上了圆满的句号,在这次实践中,让我感受到了团队的力量,无论我们遇到多么大的困难,只要我们齐心协力,没有什么事情可以难倒我们,虽然我们很累,但是我们很满足,因为我们学到了知识,学到了人与人之间更好的配合与合作。

 

 

第2章系统功能介绍

系统功能总框图

在本次课程设计中,我们小组所做的课设题目是药品销售管理系统,根据它的基本要求和经过我们查阅相关资料。

经过我们组组员之间的讨论研究,最后我们终于制定出了本系统的总体功能。

因为我们所做的系统涉及到了销售,所以我们为它设计了四个主要的功能模块,即系统登录管理模块、药品采购管理模块、药品销售管理模块和药品退货管理模块。

另外还有两个文件管理模块,即文件的保存和文件的打开。

系统总体功能框图如图所示。

药品销售管理系统

药品采购管理

药品销售管理

药品退货管理

系统登录

管理

保存文件

打开文件

图药品销售管理总框图

模块功能介绍

在系统功能总框图中我们已经介绍了我们这个系统的总体功能模块,即系统登录管理模块、药品采购模块、药品销售管理模块、药品退货管理模块、打开文件和保存文件。

下面我来具体介绍一下它们。

(1)系统登录模块:

此模块用来管理系统用户的登录,禁止非法的用户进入系统。

(2)药品采购模块:

此模块主要用来管理系统药品采购中的一些操作。

有药品采购、显示采购的药品列表、显示采购的药品的单个信息和修改已采购药品的信息。

(3)药品销售模块:

此模块主要用来管理系统药品销售中的一些操作。

有销售记录、修改销售的药品信息、显示销售列表、显示单个货物的销售具体信息、计算销售总价和查询系统中当前的销售情况。

(4)药品退货模块:

此模块主要用来管理系统药品退货中的一些操作。

有退货记录、退货列表、修改单个物品的退货信息、查询当前系统的退货情况和计算归还总价。

第3章文件介绍

文件的总体介绍

如图所示为本系统的主操作界面。

本系统采用文件的方式对系统中的信息进行管理。

有保存文件、打开文件和关闭文件等操作。

系统中定义一条信息的属性包括:

药名、种类、数量、价格,其作为文件保存的基本单位。

系统首先采用三组动态数组用来保存信息在内存中的存储,分别用来保存采购信息、销售信息、退货信息。

当保存文件时,就将三组信息分别写到三个文件之中。

当文件打开时,就将文件中的内容依次读到三个动态数组之中。

图系统总体界面

保存文件

(1)当单击保存文件按钮时,系统就会出现如图所示的保存文件的界面。

再此界面中,我们可以看到文件被默认为.ALC格式的,这是我们在代码中规定的。

文件的保存类型为药品销售文件(*.ALC),这也是我们根据系统的功能设定的。

当你选择好保存文件的路径,然后点击确定按钮,文件就可以顺利的被保存到你所选择的位置。

当然,在此过程中,你最好能给文件起一个新的名称,因为我们一次性必须保存的文件有三个,即药品采购文件、药品销售文件、药品退货文件。

这样就可以防止所要保存的文件被覆盖的情况。

图保存文件界面

(2)核心代码

boolSinInf:

:

WriteFile(CString&m_OFile,inta)//文件写入函数,参数为要写入的文件路径

{

CMedManageApp*app=(CMedManageApp*)AfxGetApp();

ofstreamOFile(m_OFile);

if())

{

TRACE("文件创建失败!

");

returnfalse;

}

intindex=app->(a);

for(inti=0;i

{OFile<<(LPTSTR)(LPCTSTR)app->(i,a)->YName<

<<(LPTSTR)(LPCTSTR)app->(i,a)->YKind<

<<(LPTSTR)(LPCTSTR)app->(i,a)->YNumber<

<<(LPTSTR)(LPCTSTR)app->(i,a)->YPrice<

}

();

returntrue;

}

打开文件

(1)当点击从文件中打开按钮时,将会出现如图所示的打开文件的界面。

此界面虽然和保存文件界面相似,但其功能大不相同。

当你单击你所要打开的文件时,文件名就会显示在文件名一栏中。

然后单击打开按钮,文件就可以顺利的被保存在内存当中。

当然,因为本系统有三个文件,所以每次必须依次性打开三个文件。

图打开文件界面

(2)核心代码

boolSinInf:

:

ReadFile(CString&m_IFile,inta)//文件读入函数,参数为要读入的文件路径

{

CMedManageApp*app=(CMedManageApp*)AfxGetApp();

ifstreamIFile(m_IFile);

if())

{

TRACE("文件打开失败!

");

returnfalse;

}

while(!

())//eof()测试文件是否结束

{

char*P1=newchar[20];

char*P2=newchar[20];

char*P3=newchar[20];

char*P4=newchar[20];

IFile>>P1>>P2>>P3>>P4;

CStringTName(P1);

CStringTKind(P2);

CStringTNumber(P3);

CStringTPrice(P4);

app->(TName,TKind,TNumber,TPrice,a);

delete[]P1;

delete[]P2;

delete[]P3;

delete[]P4;

}

();

returntrue;

}

第4章系统功能实现

系统登录模块的实现

(1)在此模块中,主要实现对用户登录系统的管理。

我们知道,对于每个软件应用系统都有其特定的使用人员,尤其是用于商业活动的软件系统,就更应该注意它的保密功能,所以我们必须为我们的系统设计一个用于保护本系统的密码登录功能。

如图所示为我们药品销售管理系统的登录界面。

它所具有的功能是验证用户的登录信息,即用户名和对应的用户密码,检验预进入本系统的用户是不是合法用户。

另外,为了加强其安全性,我们设定如果用户输入的非法信息超过三次,系统将强制退出,不允许其登录到主界面。

图登录界面

(2)核心代码

intnCount=0;

while(nCount<3)

{

DengLuPassDlg;

if()==IDOK)

if((strcmp,"song")!

=0)||

(strcmp,"song")!

=0))

{

MessageBox(NULL,"用户名或口令错误,请重试!

","错误信息",MB_ICONERROR);

nCount++;

}

else

break;

else

{

returnFALSE;

}

}

if(nCount>=3)

{

MessageBox(NULL,"口令输入已经超过3次,请退出!

",

"错误信息",MB_OK|MB_ICONERROR);

returnFALSE;

}

采购模块的实现

(1)药品销售系统的药品采购功能模块实现药品采购的相关操作,如图所示。

为药品采购功能界面药品采购功能模块由药名、类别、数量、价格组成,此对话框由四个静态文本框、四个可编辑文本框、一个按钮构成,实现采购药品的功能,主要输入购买的药品的药名、类别、数量及价格即可完成,对库存已有的药品不可再进行采购,否则,显示“列表已有该项”。

图药品采购功能模块

(2)各控件的说明如下:

药品:

输入销售的药品名,为字符型变量,否则出错

类别:

输入销售的药品类别,为字符型变量

数量:

输入销售的药品数量,为整形变量,其值不能小于0,大于采购的数量,否则库存不够,无法进行销售

价格:

输入销售的药品价格,为整形变量,其值大于0

OK按钮:

点击,采购完毕,保存到库存

(3)核心代码:

boolCheck1(CString&m_Numberx)//检查是否含不是数字的项

{

for(inti=0;i<();i++)

{

if(!

isdigit(m_Numberx[i]))

returnfalse;

}

returntrue;

}

voidGouMai:

:

OnOK()

{

UpdateData(true);

intIndex1;

boolJin=true;

CMedManageApp*app=(CMedManageApp*)AfxGetApp();

if())//若药名栏为空

{

MessageBox("请输入药名!

");

}

elseif())//若类别栏为空

{

MessageBox("请输入药品类别!

");

}

elseif(!

Check1(m_Number))//若类别栏中含非法字符

{

MessageBox("数据栏含非法字符!

");

}

else

{

Index1=app->

(1);

while(Index1--)

{

if(app->(Index1,1)->YName==m_Name)

{

MessageBox("列表中已经有该项了");

Jin=false;

}

}

if(Jin==true)

{

app->(m_Name,m_Kind,m_Number,m_Price,1);

}

CDialog:

:

OnOK();

}

}

销售模块的实现

(1)药品销售系统的药品销售功能模块实现药品销售的相关操作,如图所示,为药品销售界面。

药品销售功能模块由药名、类别、数量、价格、总价、销售列表和销售详情组成,此对话框由七个静态文本框、四个可编辑文本框、列表和四个按钮构成,实现销售药品的功能,分为售出、查询、修改和退出等功能,在药品采购完之后,从库存里售出相应的药品,如果库存里没有相应药品的采购,则无法进行销售。

图药品销售界面

(2)各控件的说明如下:

药品:

输入销售的药品名,为字符型变量,否则出错;

类别:

输入销售的药品类别,为字符型变量。

数量:

输入销售的药品数量,为整形变量,其值不能小于0,大于采购的数量,否则库存不够,无法进行销售。

价格:

输入销售的药品价格,为整形变量,其值大于0。

总价:

在输入完药品名、类别、数量和价格之后,进行相应的操作时,总价会显示总的价格。

销售列表:

在输入完药品名、类别、数量和价格,售出药品之后,销售列表会显示当前销售的药品名。

销售详单:

在售出药品之后,在销售列表中有相应的药品名,而对应的销售记录在销售详单里,通过列表显示出来。

售出:

在输入完药品名、类别、数量和价格,点击售出,则将相应的药品名和记录添加到销售列表和销售详单里。

查询:

点击查询按钮之后,销售列表里会显示售出的药品名进行查询,通过销售详单显示相应的记录。

修改:

只能对销售的数量进行修改,修改成功后将记录添加到销售列表和销售详单里。

退出:

点击该按钮即实现退出销售界面。

(3)核心代码:

boolCheck(CString&m_Numberx)//检查是否含不是数字的项

{

for(inti=0;i<();i++)

{

if(!

isdigit(m_Numberx[i]))

returnfalse;

}

returntrue;

}

voidSell:

:

OnTotal()

{

UpdateData(true);

intIndex1,JiShu;

boolJin=true,Kcheck=true;

CMedManageApp*app=(CMedManageApp*)AfxGetApp();

if())//若药名栏为空

{

MessageBox("请输入药名!

");

}

elseif())//若类别栏为空

{

MessageBox("请输入药品类别!

");

}

elseif(!

Check(m_Number))//若类别栏中含非法字符

{

MessageBox("数据栏含非法字符!

");

}

elseif(!

Check(m_Price))//若类别栏中含非法字符

{

MessageBox("价格栏含非法字符!

");

}

else

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2