毕业论文-Visual_C++超市管理系统课程设计37403.doc_第1页
毕业论文-Visual_C++超市管理系统课程设计37403.doc_第2页
毕业论文-Visual_C++超市管理系统课程设计37403.doc_第3页
毕业论文-Visual_C++超市管理系统课程设计37403.doc_第4页
毕业论文-Visual_C++超市管理系统课程设计37403.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

超市管理系统(设计)课程设计报告书设计名称: visaul c+课程设计 题 目: 超市管理系统 学生姓名: 林业辉 张玉山 覃美芬 专 业: 计算机科学与技术(数字媒体) 班 别: 计科本092 班 学 号: 0904402201 0904402217 0904402228 指导老师: 黄东 日 期: 2011 年 6 月 10 日目 录第一章 超市管理系统概述 3 1.1引言3 111系统开发的目的与意义3 112系统开发背景3 113系统概述3 114采用的体系结构4第二章 超市管理系统分析4 21可行性研究4211技术可行性5212经济可行性5 213运行可行性5 22需求分析5221系统的目的5222系统功能及用户需求6第三章 超市管理系统设计63.1系统的总体63.2数据表的建立73.3数据表截图83.4功能的模块11第四章 超市管理系统的实现114.1登陆界面114.2主界面134.3主要模块操作界面类型154.4主窗口界面类型214.5销售额查询结果显示254.6退出系统27第五章 结束语16参考文献 17 第一章 超市管理系统概述11引言111系统开发的目的与意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对超市进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高超市管理的效率,也是超市的科学化、正规化管理,与世界接轨的重要条件。因此,开发一个代替手工操作的新型的计算机管理的超市管理系统对本超市来说刻不容缓。112系统开发背景 传统人工的方式管理超市,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,而且容易丢失。因此,开发一个代替手工操作的新型的计算机管理的超市管理系统对本超市来说刻不容缓。113系统概述1、任务:超市管理系统对职员商品信息进行高效简洁的管理,使之能正常高效的进行售卖活动。系统充分考虑到超市管理系统对货物资料进行登记并处理。考虑到进货、退货、库存预警、年月日销售额结算等多种特殊情况,同时可将相关资料进行有效处理。2、目标: 当代社会中伴随着计算机技术在各行各业日益广泛和深入的应用,超市对货品于职员的管理不在像过去一样靠手工去做,在一些超市管理中也开始信息化。信息化的管理可以为超市节省大量人力物力,提高其运行效率,从而为顾客提供更好的服务,实现超市的业务提升。本系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便。大大减少了超市的人力和物力。 本系统大致要做到以下几点:(1) 操作简便,节省大量人力;(2)可以方便的进行货品管理,安全、高效;(3) 可以迅速计算销售额和所买卖货品;(4) 可以迅速查到所需信息,便于管理。114采用的体系结构本超市管理系统是基于cs模式结构构建的。clients/server结构(简称cs结构)是九十年代流行的信息系统结构,在cs结构下,应用系统被分为前台(客户机)和后台(服务器)两部分,其作用分别是:应用处理由客户机完成,数据访问和事务处理由服务器完成。这种方案实现了功能分布,即由客户机端提出查询请求,而服务器完成对数据库的查询任务,并把查询结果通过网络返回给客户机。cs模式响应速度快,网络通信负担小,适用于超市内部局域网,在超市内部的集中管理模式中发挥了重要作用。 超市管理系统是基于vc+前台,access做后台的系统。第二章 超市管理系统分析21可行性研究 现在时间行进到21世纪,以计算机技术为主体的高新技术群体已经将触角深入到国发经济的方方面面。在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行名类管理,交流的便捷。应用之一就是超市中的计算机管理了。如何利用先进的技术手段,提高进出帐的效率,是每一家超市所面临的重要课题。现代超市所面临的问题是:商品数目众多,商品内容繁杂,日常需要耗费大量人力和物力。要想解决这一难题,就必须有一套科学、高效、严密、实用的超市管理系统。采用现代计算机管理系统是实现此目标的主要途径。在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的超市管理系统,实现超市的销售、财务自动化的计算机系统,为超市的决策层提供准确、精细、迅速的销售信息。211技术可行性根据系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展操作人员。212经济可行性 估算系统的开发费用和今后的运行、维护费用,估计系统将获得的效益,并将费用与效益进行比较,看是否有利。本系统的维护不需太多费用,适合于中小超市的管理操作。系统的效益可以从经济效益和社会效益两方面考虑。对于超市管理系统则应着重分析其经济效益。例如,系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于管理人员进行决策提供了多少帮助等等,同时可以减少管理人员,从而节省了大量的工资开出。213运行可行性 系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。22需求分析221系统的目的本系统的总目标是为管理者提供迅速、高效的服务,减免手工处理的繁琐与误差,整个系统包括八大模块:用户管理,职员管理,商品管理,进货管理,库存管理,销售管理,操作日志,退出系统。其中商品管理,进货管理,库存管理,销售管理是本系统要实现的主要功能。各模块主要的几种操作: 用户管理模块对管理者进行用户的注册,修改,删除操作。 职员管理模块对职员的信息相应操作。 商品管理模块对商品的信息进行相应操作。 进货管理模块对商品进行买进,入库,退货,及供货商等相应操作。 库存管理模块对库存商品进行相应操作,以及商品预警操作。 销售管理模块对各天购物信息的相关操作。 操作日志模块对管理者进行过的操作记录显示出来。 退出系统模块是退出本系统的一切操作。222系统功能及用户需求1、功能需求:该系统只为管理员登陆操作。(1)管理员信息的注册、修改和删除和查看注册时间。(2)职员管理。该模块包括职员的添加,修改,删除和查询,主要是为了实现新职员的加入登记,离职员工的删除记录,以及员工信息的管理,如修改查询。(3)商品管理。对超市内的商品进行管理,对商品进行查看,添加和修改。(4)进货管理。对进货的商品进行管理,并且可以查看所退商品的信息及供货商信息。(5)库存管理。可以查看商品的当前库存、最大库存及最小库存,并且对商品库存量提供预警功能。(6)销售管理。可以查看商品销售信息,并且可以对具体时间的销售额进行查询。(7)操作日志。功能可以查看各个管理员进行的操作,也可查看管理员的操作时间与内容,增强系统的安全性。2、用户需求:本系统主要针对的用户是超市人事处的管理员。本系统能够完成任务是管理员登陆,并对超市信息进行管理。 第三章 超市管理系统的设计3.1系统的总体登录主界面用户管理职员管理商品管理进货管理库存管理销售管理操作日志退出系统供货商查询退货查询库存警报销售额查询图3-1系统总框架图从图中可以得出该系统的总体框架,现在逐个实现。3.2数据表的建立本系统用access建立数据库,使用odbc连接,此方法较容易完成了数据的建立。共计有十一个表,包括:用户管理表:(用户编号、用户名、用户密码、注册时间)职员信息表(职员编号、职员姓名、职员性别、职员年龄、职员电话、职员地址)商品信息表(商品编号、商品名称、商品类别、商品售价、商品进价、商品单位、商品所属厂商)进货管理表(商品编号、商品名称、商品类别、商品进价、商品单位、商品数量、商品总价、所属厂商、经手人、进货日期)退货管理表(商品编号、商品名称、商品类别、商品进价、商品单位、商品数量、商品总价、所属厂商、经手人、进货日期)供货商信息表(供货商编号、厂家名称、所供货品、经手人、联系电话、地址)库存信息表(商品编号、商品名称、当前库存、最大库存、最小库存、商品单位)库存警报表(商品编号、商品名称、当前库存、最大库存、最小库存、商品单位)销售信息表(商品编号、商品名称、商品进价、商品单位、商品数量、商品总价、销售日期)销售额信息表(商品编号、商品名称、商品进价、商品单位、商品数量、商品总价、销售年份、销售月份、销售日期(具体到年、月、日)操作日志表(操作员、所做事件、操作时间)3.3数据表截图图3-2 用户管理表图3-3 职员信息表图3-4 商品信息表图3-5 进货管理表图3-6 退货管理表图3-7供货商信息表图3-8 库存信息表图3-9 库存预警表图3-10 销售信息表图3-11 销售额信息表图3-12 操作日志表3.4功能的模块总体结构出来了,还有建立数据表,这两样工作做好了才能更加好的编码,从整体的设计开始,到建立数据表,一步一个脚印,只有走好了前面两步,打好基础,后面才回走得顺。第四章 超市管理系统的实现4.1登陆界面图4-1 系统登陆界面采用vc+对用户管理表的筛选出正确的用户名和密码登陆,代码如下:if(m_name.isempty()|m_pass.isempty() messagebox(用户名或密码为空); return ; if(yh.isopen() yh.close();yh.m_strfilter.format(y_name=%sand y_pass=%s,m_name,m_pass); yh.open();if(yh.iseof() messagebox(没有该用户,请重新输入); m_name=; m_pass=; /admin=m_pass; ruji(登录失败); updatedata(false); return; else cabc abc; admin=m_pass;ruji(登录成功); this-showwindow(sw_hide); abc.domodal();4.2主界面1、 对对话框进行初始化,为背景插入图片代码(示例如下):void ctubiaodlg:onpaint() cpaintdc dc(this);cbitmap m_bmpbk;m_bmpbk.loadbitmap(idb_bitmap1);crect rect;getclientrect(&rect);/获得目标尺寸,即窗口客户区的坐标bitmap bitmap;/位图结构体m_bmpbk.getbitmap(&bitmap);/获得原图片尺寸cdc dcmem; /目标dcdcmem.createcompatibledc(&dc); /创建与dc兼容的内存dcdcmem.selectobject(&m_bmpbk);/将位图对象m_bmpbk选入内存dcdc.stretchblt(0,0,rect.width(),rect.height(),&dcmem,0,0,bitmap.bmwidth,bitmap.bmheight,srccopy);2、 对主界面按钮导入图标代码如下:m_bt1.subclassdlgitem(idc_yh,this);/设置图标按钮m_bt1.seticon(idi_yh); m_bt2.subclassdlgitem(idc_zy,this);m_bt2.seticon(idi_zy);m_bt3.subclassdlgitem(idc_sp,this);m_bt3.seticon(idi_sp);m_bt4.subclassdlgitem(idc_jh,this);m_bt4.seticon(idi_jh);m_bt5.subclassdlgitem(idc_xs,this);m_bt5.seticon(idi_xs);m_bt6.subclassdlgitem(idc_kc,this);m_bt6.seticon(idi_kc);m_bt7.subclassdlgitem(idc_rz,this);m_bt7.seticon(idi_rz);m_bt8.subclassdlgitem(idc_tc,this);m_bt8.seticon(idi_tc);3、对列表进行初始化及显示代码如下:yhb.open();m_list.insertcolumn(0,用户编号);m_list.insertcolumn(1,用户名);m_list.insertcolumn(2,用户密码);m_list.insertcolumn(3,注册时间);rect rect;m_list.getwindowrect(& rect);int wid=rect.right-rect.left;m_list.setcolumnwidth(0,wid/4);m_list.setcolumnwidth(1,wid/4);m_list.setcolumnwidth(2,wid/4);m_list.setcolumnwidth(3,wid/4); yhxs();return true; 4.3主要模块操作界面类型初始化代码:bool ckcgl:oninitdialog() centerwindow();dword dwstyle=aw_center;hinstance hinst=loadlibrary(user32.dll); typedef bool(winapi myfunc(hwnd,dword,dword);myfunc* animatewindow;animatewindow=(myfunc *):getprocaddress(hinst,animatewindow);animatewindow(this-m_hwnd,1000,dwstyle);freelibrary(hinst); cdialog:oninitdialog(); uint array4;for(int i=0;i4;i+)arrayi = 100+i;m_statusbar.create(this); /创建状态栏窗口m_statusbar.setindicators(array,4); /添加面板for(int n=0;ngetsafehwnd(),1000,aw_hide | dwstyle);freelibrary(hinst);onok();查询代码:void ckcgl:onchaxun() / todo: add your control notification handler code hereupdatedata();ruji(库存查询); cstring x,str,str1;m_com.getwindowtext(x);if(x=商品编号)str=k_code;elsestr=k_name; if (m_nb.isempty() afxmessagebox(查询条件不能为空!您可以按编号或姓名来查询!);return ;if (!m_nb.isempty() if(kcb.open() kcb.close(); str1=str+=%s; kcb.m_strfilter.format(str1,m_nb); kcxs(); messagebox(结果是按+x+查询到的!); m_list.setextendedstyle(lvs_ex_fullrowselect|lvs_ex_gridlines); kcb.close();修改代码:void ckcgl:onxiugai() / todo: add your control notification handler code herectgkc tgkc; ruji(修改库存); if (t=-2)afxmessagebox(你没有选中要修改的记录);return;else t=m_list.getselectionmark(); tgkc.m_code=m_list.getitemtext(t,0); tgkc.m_name=m_list.getitemtext(t,1); tgkc.m_now=atoi(m_list.getitemtext(t,2); tgkc.m_max=atoi(m_list.getitemtext(t,3); tgkc.m_min=atoi(m_list.getitemtext(t,4); tgkc.m_danwei=m_list.getitemtext(t,5);updatedata(false);t=-2;append=2;if (tgkc.domodal()=idc_tuichu)kcxs();删除代码:void ckcgl:onshanchu() / todo: add your control notification handler code herecstring b; ruji(删除库存);if(t=-2)afxmessagebox(你没有选中要删除的记录); t=-2; return;else t=m_list.getselectionmark(); b=m_list.getitemtext(t,0); updatedata();if(kcb.open()kcb.close();kcb.m_strfilter.format(k_code=%s,b);kcb.open(); kcb.delete(); kcb.m_strfilter=;kcb.requery();kcb.close();kcxs();t=-2;afxmessagebox(删除成功啦!);4.4子窗口界面类型确定代码:void ctiangai:onqueding() / todo: add your control notification handler code herecjb jb; updatedata();if(append=1) if(jb.open()jb.close();jb.m_strfilter.format(j_code=%s,m_code);jb.open();int p=0;p=jb.getrecordcount();jb.close();if(p!=0)afxmessagebox(该商品已经存在);m_code=;m_name=;m_type=;m_jinjia=0;m_danwei=;m_number=0; m_changshang=; m_man=; m_riqi=;updatedata(false);else updatedata(); jb.open();jb.addnew();if(m_code.isempty()|m_name.isempty()|m_type.isempty()|m_jinjia=0|m_danwei.isempty()|m_changshang.isempty()|m_man.isempty()|m_riqi.isempty() messagebox(添加失败,请重新输入!);elsejb.m_j_code=m_code;jb.m_j_name=m_name;jb.m_j_type=m_type;jb.m_j_jinjia=m_jinjia; jb.m_j_danwei=m_danwei;jb.m_j_number=m_number; jb.m_j_zongjia=m_jinjia*m_number; jb.m_j_changshang=m_changshang; jb.m_j_man=m_man; jb.m_j_date=m_riqi;jb.update();jb.requery(); messagebox(添加成功!请点击显示按钮即可查看!);if(cb.isopen()cb.close();cb.m_strfilter.format(k_name=%s,m_name);cb.open();cb.edit();cb.m_k_now=cb.m_k_now+m_number;cb.update();if(cb.m_k_nowcb.m_k_max)if(yjb.isopen()yjb.close();yjb.open(); yjb.addnew(); yjb.m_c_code=cb.m_k_code;yjb.m_c_name=cb.m_k_name;yjb.m_c_now=cb.m_k_now;yjb.m_c_max=cb.m_k_max; yjb.m_c_min=cb.m_k_min; yjb.m_c_danwei=cb.m_k_danwei;yjb.update();else if(append=2) /修改职员 updatedata();if(jb.open()jb.close();jb.m_strfilter.format(j_code=%s,m_code);jb.open(); jb.edit();jb.m_j_code=m_code;jb.m_j_name=m_name;jb.m_j_type=m_type;jb.m_j_jinjia=m_jinjia; jb.m_j_danwei=m_danwei;jb.m_j_number=m_number; jb.m_j_zongjia=m_jinjia*m_number; jb.m_j_changshang=m_changshang; jb.m_j_man=m_man; jb.m_j_date=m_riqi;jb.update();jb.m_strfilter=; jb.requery();messagebox(修改成功!请点击显示按钮即可查看!);4.5销售额中查询的结果:4.3退出系统以上界面与代码为选择一些具有代表性的进行展示,本系统的各个功能的代码是所学到的知识,还有美化功能是我们通过在网上找资料,去图书馆借相关书籍回来学习实现的。如创建状态栏时间,系统皮肤,为按钮导入图标,标题栏活动字体等等。通过大家的共同努力及合作,最后圆满的完成了此系统的开发。第五章 结束语通过近三周的来的设计及编写代码,通过我们共同的努力及合作,终于完成了超市管理系统的开发,此次课程设计,过程中遇到了许许多许多的难题,但最后都被我们一一克服,在增长了知识的同时,也增强了我们的能力。参考文献1 王育坚. visual c+ 面对对象编程教程m.清华大学出版社,2007.2 visual c+程序设计与应用教程题解及课程设计/马石安,魏文平编著.北京:清华大学出版社,2009.73 张立. visual c+高级编程,北京:人民邮电出版社,2002年4何炜,张励.visual c+.net 2003程序设计,冶金工业出版社,2004年5 /g an employment tribunal claimemployment tribunals sort out disagreements between employers and employees.you may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.for more information about dismissal and unfair dismissal, seedismissal.you can make a claim to an employment tribunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. however, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. if your application is received after this time limit, the tribunal will not usually accept it.if you are worried about how the time limits apply to you, take advice from one of the organisations listed underfurther help.employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.most people find making a claim to an employment tribunal challenging. if you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed underfurther help.if you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. this is known as adamages-based agreement. in england and wales, your solicitor cant charge you more than 35% of your compensation if you win the case.if you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. it might be best to get advice from an experienced adviser, for example, at a citizens advice bureau. to find your nearest cab, including those that give advice by e-mail, click onnearest cab.for more information about making a claim to an employment tribunal, seeemployment tribunals.the (lack of) air up there watch mcayman islands-based webb, the head of fifas anti-racism taskforce, is in london for the football associations 150th anniversary celebrations and will attend citys premier league match at chelsea on sunday.i am going to be at the match tomorrow and i have asked to meet yaya toure, he told bbc sport.for me its about how he felt and i would like to speak to him first to find out what his experience was.uefa hasopened disciplinary proceedings against cskafor the racist behaviour of their fans duringcitys 2-1 win.michel platini, president of european footballs governing body, has also ordered an immediate investigation into the referees actions.cska said they were surprised and disappointed by toures complaint. in a statement the russian side added: we found no racist insults from fans of cska.age has reached the end of the beginning of a word. may be guilty in his seems to passing a lot of different life became the appearance of the same day; may be back in the past, to oneself the paranoid weird belief disillusionment, these days, my mind has been very messy, in my mind constantly. always feel oneself should go to do something, or write something. twenty years of life trajectory deeply shallow, suddenly feel something, do it.一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。the end of our life, and can meet many things really do?而穷尽我们的一生,又能遇到多少事情是真正地非做不可?during my childhood, think lucky money and new clothes are necessary for new year, but as the advance of the age, will be more and more found that those things are optional; junior high school, thought to have a crush on just means that the real growth, but over the past three years later, his writing of alumni in peace, suddenly found that isnt really grow up, it seems is not so important; then in high school, think dont want to give vent to out your inner voice can be in the high school children of the feelings in a

温馨提示

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

评论

0/150

提交评论