轿车销售系统.docx

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

轿车销售系统.docx

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

轿车销售系统.docx

轿车销售系统

轿车销售系统

前言

运算机在二十一世纪成为人们常用的现代工具,每一个有文化的人都应当了解运算机,学会使用运算机来处理面临的事务。

程序设计是软件工作人员的差不多功能,但前提必须有较为完善的数据库系统来实现数据的各种操作。

数据库研究跨过于运算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。

数据库系统的显现是运算机应用的一个里程牌,它使得运算机应用从以科学运算为主转向以数据处理为主,并从而使运算机得以在各行各业乃至家庭普遍使用。

在它之前的文件系统尽管也能处理持久数据,然而文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。

对任意部分数据的快速访问由系统软件〔数据库治理系统〕来完成,而提供给用户的是简单易用的数据库语言。

由于对数据库的操作都由数据库治理系统完成,因此数据库就能够独立于具体的应用程序而存在,从而数据库又能够为多个用户所共享。

因此,数据的独立性和共享性是数据库系统的重要特点。

数据库系统的显现使得一般用户能够方便地将日常数据存入运算机并在需要的时候快速访问它们,从而使运算机走出科研机构进入各行各业、进人家庭。

本文档详细表达了基于VisualC++6.0环境下的用ODBC与SQLSERVER相连的轿车销售信息治理系统的设计过程以及程序源代码。

本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。

此次轿车销售信息治理系统的开发目的是使我们用面向对象的方式来摸索和解决问题的能力,提高数据库的应用能力。

本文档的安排如下:

第一章要紧介绍了数据库系统以及SQLSERVER操作环境。

第二章要紧的介绍说明了轿车销售信息治理系统的编程思想和详细设计。

第三章要紧对轿车销售信息治理系统进行调试,运行程序并截图,显示运行界面和结果。

第四章要紧介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。

程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,字符统计软件和文档中不免会显现一些不期待的错误,望文档读者能够明白得和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。

 

1课程设计概述

数据库系统功能概述

数据库系统〔databasesystems〕,是由数据库及其治理软件组成的系统。

它是为适应数据处理的需要而进展起来的一种较为理想的数据处理的核心机构。

它是一个实际可运行的储备、爱护和应用系统提供数据的软件系统,是储备介质、处理对象和治理系统的集合体。

数据库系统的要紧特点有:

(1)能够保证数据的独立性。

数据和程序相互独立有利于加快软件开发速度,节约开发费用。

(2)冗余数据少,数据共享程度高。

(3)系统的用户接口简单,用户容易把握,使用方便。

(4)能够确保系统运行可靠,显现故障时能迅速排除;能够爱护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发觉。

(5)有重新组织数据的能力,能改变数据的储备结构或数据储备位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。

(6)具有可修改性和可扩充性。

(7)能够充分描述数据间的内在联系。

这些新特性能够更好地利用VisualC++开发工具进行Windows应用程序开发。

 

数据库运行环境——SQLSERVER

图1-1SQL2000运行环境

2总体设计

轿车销售信息治理系统总体设计思想

轿车销售信息治理系统的功能为提供轿车信息,职员信息,客户信息,轿车销售信息,按条件查询,并将销售报表打印输出。

轿车销售信息治理系统的功能模块有:

〔1〕提供成员登录及顾客查看轿车界面,输入用户名及密码进入成员系统。

〔2〕提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按

〔3〕按条件查询库存轿车信息及客户购买信息,并将销售报表打印输出。

〔4〕同意用户输入的客户信息完成注册,同时能够对职员信息进行添加删除修改等操作,依照轿车的类型及颜色查询轿车信息。

程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。

总体设计流程图 

 

图2-1 总体设计流程

 

3轿车销售系统详细设计

数据库

数据库的建立

此次课程设计要紧需要用到数据库,因此,需要对数据库的建立要有一定的了解。

利用SQLserver建立数据库。

建立了图书馆治理系统数据库,来提供一些信息。

完成如新建表及视图、关系等差不多操作

图3-1数据库

储备过程

储备过程〔StoredProcedure〕是一组为了完成特定功能的SQL语句集,经编译后储备在数据库中。

用户通过指定储备过程的名字并给出参数〔假如该储备过程带有参数〕来执行它。

储备过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到储备过程。

图3-2储备过程

储备过程的代码:

储备过程s:

createprocs

@nochar(4)

as

delete

fromMemeberinformation

where@no=mebnum

GO

储备过程CarStoreinfoinsert

CREATEPROCEDURECarStoreinfoinsert

AS

insert

intoStoreinformation(carnum,amount)

selectBuyinformation.carnum,buyamou

fromBuyinformation,Storeinformation

whereStoreinformation.carnumnotin

(selectcarnum

fromcarinformation)

GO

在C++中的调用代码:

CDatabasedb;

db.Open(_T("SellCar"));

db.ExecuteSQL("execs'"+m_num+"'");//调用储备过程并传递参数

db.Close();

触发器

触发器〔trigger〕是个专门的储备过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作〔insert,delete,update〕时就会激活它执行。

触发器经常用于加强数据的完整性约束和业务规那么等。

图3-3触发器

创建数据源

此次课程设计用ODBC语言将数据库与C++连接,在连接之前应创建数据源。

在操纵面板上打开治理工具,能够找到数据源〔ODBC〕,添加数据源,能够创建不同类型的数据库,此次设计用到了SQLServer,便选择其,打开SQLServer中的服务治理器可找到服务器的名称,将默认数据库改为自己的数据库。

点下一步直至完成。

图3-4创建数据源

C++中MFC应用程序编程

Crecordset类的插入

CRecordset类代表一个记录集.该类是MFC的ODBC类中最重要、功能最强大的类。

一样需要用ClassWizard创建一个CRecordset的派生类.

CRecordset类的插入过程:

图3-5新建记录集类

图3-6数据库连接方式及数据源

此程序用ODBC连接数据库,选择SellCar为数据源,记录集类型为动态集。

动态集提供了数据的动态视.当用户修改或删除了记录集中的记录时,会在动态集中反映出来:

当滚动到修改过的记录时对其所作的修改会赶忙反映到动态集中,当记录被删除时,MFC代码会跃过记录集中的删除部分.关于其它用户添加的记录,直到调用Requery时,才会在动态集中反映出来。

本身应用程序对记录的修改、添加和删除会反映在动态集中。

当数据必须是动态的时侯,使用动态集是最适合的

图3-7选择数据库中的表

ClassWizard能够为派生的记录集类创建一批数据成员,这些数据成员与记录的各字段相对应,被称为字段数据成员或域数据成员。

如图:

图3-8字段数据成员

修改、添加和显示记录

1.显示记录集

用CRecordset类将数据库中的数据在C++中显示出来

Ccustomm;//Ccustom是一个与表Memeberinformation相连的记录集类

m.Open();

intn=0;

while(!

m.IsEOF())

{

CStrings;

m_List.InsertItem(n,m.m_mebnum);

m_List.SetItemText(n,1,m.m_name);

m_List.SetItemText(n,2,m.m_sex);

s.Format("%d",m.m_age);

m_List.SetItemText(n,3,s);

m_List.SetItemText(n,4,m.m_address);

m_List.SetItemText(n,5,m.m_edulevel);

m.MoveNext();

n++;

}

m.Close();

2.修改记录集

要修改当前记录,应该按以下步骤进行:

调用Edit成员函数.调用该函数后就进入了编辑模式,程序能够修改域数据成员.不能在一个空的记录集中调用Edit,否那么会产生专门.Edit函数会把当前域数据成员的内容储存在一个缓冲区中,调用Move(AFX_MOVE_REFRESH)或Move(0)可退出编辑模式(AFX_MOVE_REFRESH的值为0),同时该函数会从缓冲区中复原域数据成员.

设置域数据成员的新值;调用Update完成编辑.Update把变化后的记录写入数据源并终止编辑模式.

修改记录的代码如下:

Ccustomg;

g.m_strFilter.Format("mebnum='%s'",m_num);

g.Open();

g.Edit();

if(m_na!

=_T(""))

{

g.m_mebnum=m_num;

g.m_name=m_na;

g.m_sex=m_sex;

g.m_age=m_age;

g.m_address=m_add;

g.m_edulevel=m_edu;

g.Update();

UpdateData(FALSE);

g.Requery();

g.Close();

MessageBox("Modifyok");

}

3.添加记录

要向记录集中添加新的记录的步骤与修改类似,添加记录的代码:

Ccustomn;

n.Open();

n.AddNew();

if(m_na!

=_T(""))

{

n.m_mebnum=m_num;

n.m_name=m_na;

n.m_sex=m_sex;

n.m_age=m_age;

n.m_address=m_add;

n.m_edulevel=m_edu;

n.Update();//更新数据表

n.Requery();//更新记录集

n.Close();

}

4程序测试

登录界面

图4-1 登录界面

如上图所示,该程序为用户提供登录界面,用户能够对程序的各种功能进行选择,方便用户使用。

单击要选择的按钮进行操作。

菜单界面

图4-2 职员菜单界面

图4-3顾客查看车信息

CustormersbuyCars界面

图4-4 CustormersbuyCars界面

AddNewCustomer界面

图4-5 AddNewCustomer界面

Memberinformation界面

图4-6 Memberinformation界面

AddUser界面

图4-7 AddUser界面

inputCar界面

图4-8 inputCar界面

5课程设计总结

为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再制造,学校特安排我们进行为期二周的数据库课程设计实习,并安排了指导老师关心辅导,让我们在规范化、严谨化、有用化上面有了专门大进展。

在此次字符统计程序开发过程中,有专门多东西值得我们摸索并总结。

开发过程大体可分为以下几个步骤:

  〔1〕摸索总体设计方案:

总体结构和模块外部设计,功能分配。

摸索要实现整个程序大体需要的几个模块和其中用到的SQL语言差不多操作符、语句等。

  〔2〕画出总体设计方案流程图:

用流程图的形式展现你的差不多编程思想。

  〔3〕流程图具体化:

立即流程图中的几大模块的具体实现摸索清晰,能够用流程图的形式展现.并想好实现的关键代码。

  〔4〕编辑程序代码:

这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发觉总体设计和模块思想会存在专门多问题,需不断改进.如何实现各函数功能,达到预期成效也将是一项繁复的工作。

  〔5〕代码的调试:

在VisualC++6.0环境下输入代码并进行调试和正确运行。

在调试过程中会遇到专门多需要精化的地点,需要十足的耐心与细心,不断改进完善程序。

  〔6〕最后修饰:

程序能够正确运行之后,再不阻碍程序功能的情形下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化.增强程序的新意与可行性。

 

总之,在通过真正动手之后,我们在数据库的设计和有关它与c++结合的操作方面都获益匪浅,但离真正的数据库设计实施还有相当大的距离和差距。

然而,必须指出的是我们在此次课程设计中,的的确确学到了许多东西。

同时,我认为在进行软件设计的过程中,必须考虑到专门多综合的因素,必须加以自己的创新,只有如此才能让自己设计的东西得到认可。

通过这次课程设计,使我们更加熟悉的把握了数据库系统的运用。

关心我们熟悉了更多数据库的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵体会.同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有爱好。

我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。

 

致 谢

为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再制造,学校特安排我们进行为期二周的VisualC++课程设计实习,并安排了指导老师关心辅导,让我们在规范化、严谨化、有用化上面有了专门大进展。

课程设计开始时老师说的独立摸索和团体合作相结合的思想对我的触动专门大,让我感受到了一个编程人员所应该具有的那种能吃苦,能斗争,不为艰险,勇往直前的精神,让我更加坚信自己所走的道路。

再次感谢老师的耐心辅导和谆谆教诲,感谢学校给我们提供的提高自己的机会。

 

参考文献

[1]马安鹏.VisualC++程序设计导学。

北京:

清华大学出版社,2002

[2]电子书籍.VisualC++技术内幕(第四版).网址:

:

//5xsoft

[3]BeckZaratian.MicrosoftVisualVisualC++6.0程序员指南.期望图书创作室译.北京:

北京期望电脑公司出品,1998

[4]RichardC.Leinecker,TomArcher.VisualC++6宝典.张艳,张谦译.北京:

电子工业出版社,1999

[5]李强,贾云霞.VisualC++项目开发实践.北京:

中国铁道出版社,2004

[6]郑莉,董渊,张瑞丰.C++语言程序设计.2003.

[7]H.M.Deitel,P.J.Deitel.SmallC++HowtoProgram.2006.

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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