S07154拍卖.docx

上传人:b****7 文档编号:9544304 上传时间:2023-02-05 格式:DOCX 页数:54 大小:401.84KB
下载 相关 举报
S07154拍卖.docx_第1页
第1页 / 共54页
S07154拍卖.docx_第2页
第2页 / 共54页
S07154拍卖.docx_第3页
第3页 / 共54页
S07154拍卖.docx_第4页
第4页 / 共54页
S07154拍卖.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

S07154拍卖.docx

《S07154拍卖.docx》由会员分享,可在线阅读,更多相关《S07154拍卖.docx(54页珍藏版)》请在冰豆网上搜索。

S07154拍卖.docx

S07154拍卖

拍卖

1题目简述

1.1题目要求

拍卖过程:

委托(物品信息、可提出保留价)

公告(物品信息、保留价)

多次竞价

成交或流排

设计一个监控程序:

维护拍卖过程各个环节的所有信息

最后保留所有物品的拍卖结果信息

1.2题目要求细化

1.2.1程序基本功能

拍卖品的委托:

实现对拍卖物品名称,保留价和功能的初始化。

拍卖过程:

实现对拍卖工程中参与者的初始化(既有多少人参与拍卖)。

拍卖品的公告:

实现对已经委托的物品进行公告,显示出物品信息。

拍卖品的竞拍:

实现对已经有的拍卖品进行竞价拍卖。

拍卖品的结果:

实现已经拍卖完的物品显示是竞拍成功还是流拍。

拍卖品的监控:

实现对拍卖过程的监控,即有多少流拍,多少成功竞拍的相关信息,或者查看指定拍卖品的相关信息。

1.2.2需要处理的数据

实体型:

拍卖品的信息,包括拍卖品名称、底价、功能、成交价、流拍还是竞拍成功。

管理型:

记录管理方面的信息,包括创建多个物品的静态链表、初始化各个拍卖品、插入,删除、查看拍卖品动态信息。

 

2用例建模

2.1用例图

2.2用例规约

用例名称

拍卖信息管理系统

用户ID

角色

系统用户

用例说明

登入系统后拍卖物品和查询拍卖物品信息

前置条件

登入系统

基本事件流

参与者动作

管理员动作

系统响应

1输入是否参与竞拍

2输入竞拍价格

1输入拍卖品的相关信息

2查询相关拍卖品的信息

3选择进入相关的界面

1进入用户选定界面

2提供终端信息输入界面

3对于错误操作报错

4打印用户和管理员需求的信息

其他事件流

异常事件流

1.输入非法字符

2.查询不存在的信息

后置条件

正确响应用户和管理员的操作

 

3静态建模

3.1类图

 

3.2类的定义

类名

goods

成员变量名

变量类型

属性

描述

reserve_cost

int

private

保留价

name

string

private

拍卖品名称

function

string

private

拍卖品功能

成员函数原型

返回值

属性

描述

DisplayGoods()

void

public

输出拍卖品的相关信息

SetGoods()

void

public

输入拍卖品的相关信息

SetGoods(goodsgood)

void

public

重载输入拍卖品的相关信息

GetGoodFunction()

string

public

获取拍卖品功能

Get_Reserve_Cost()

int

public

获取保留价

ResetData()

void

public

复位所有参数

GetGoodName()

string

public

获取物品名

类名

ManyGoods

成员变量名

变量类型

属性

描述

*FirstGoods

GoodList

private

第一个拍卖品的指针

GoodsNum

int

private

拍卖品的数目

成员函数

返回值

属性

描述

SetManyGoodsInfo(intnum)

bool

public

设置多个拍卖物品信息

GetOneGoodsInfo(intn,goods®oods)

bool

public

获取某个拍卖物品信息

InsertOneGoods(goodsgood)

bool

public

插入一个拍卖品

GetAllGoods()

void

public

获取所有拍卖品

DeleteAllGoods()

void

public

释放所有内存

类名

FinishSaleGood

成员变量名

变量类型

属性

描述

No

int

private

拍卖到该物品的物品人信息

price

bool

private

成交价格

sucessful

bool

private

是否成功拍卖

成员函数

返回值

属性

描述

GetFinishSaleGood()

void

public

获取拍卖结束的物品信息

GetNo()

int

public

获取拍卖物品编号

Getprice()

int

public

获取拍卖品价格

GetSucess()

bool

public

是否拍卖成功

SetFinishSaleGood(goodsgood,intnum,intpri,intsucess)

void

public

设置拍卖结束的物品信息

operator=(FinishSaleGoodstr)

void

public

重载=

类名

monitor

成员变量

变量类型

属性

描述

*FirstGood

FinishSaleGood

private

指向第一个拍卖物品

*EndGood

FinishSaleGood

private

指向最后一个拍卖物品

GoodNum

int

private

拍卖物品个数

成员函数

返回值

属性

描述

GetGoodInfo()

void

public

查看物品信息

GetOneGood(stringname)

bool

public

查找某个拍卖品信息

InsertOneGood(goodsgood,intnum,intpri,intsucess)

bool

public

插入一个拍卖物品

PrintAllGood()

void

public

打印所有拍卖品信息

PrintAllSucess()

void

public

打印所有拍卖成功的物品

PrintAllUnSucess()

void

public

打印所有流拍物品

PrintAllGoodName()

void

public

打印所有物品名字

PrintAllSucessGoodName()

void

public

打印所有拍卖成功物品名字

PrintAllUnSucessGoodName()

void

public

打印所有流拍物品名字

类名

sale

成员变量

变量类型

属性

描述

sale_money

int

private

成交价

Many_Sale_Goods

ManyGoods

private

多个拍卖品

mon

monitor

private

监控类

sale_good

goods

private

物品类

sale_flag

bool

private

是否拍卖物品

finish_compete

bool

private

完成拍卖标志位

compete_money

int

private

竞拍的价格

compete_person

int

private

每轮竞拍的人数

all_sale_times

int

private

总共拍卖次数

buyer

int

private

拍卖成功的获得者编号

InitCanyuMan

int

private

开始参与竞拍的人数

Sale_Goods_Num

int

private

拍卖品个数

成员函数

返回值

属性

描述

sale_process()

bool

public

拍卖过程

DisCaiDan()

void

public

进入选择菜单

wait_sale()

void

public

等待拍卖者委托

DisSale(int)

void

public

显示竞拍的结果

angecy_sale()

bool

public

委托

start_sale()

void

public

启动拍卖

compete_sale(intperson)

void

public

是否竞拍

reset_data()

void

public

参数清0

fail_sale()

void

public

流拍

SetInitMan()

void

public

设置参与拍卖的初始人数

in_monitor()

void

public

进入监控模式

 

4.动态建模

4.1活动图

4.2状态图

4.3时序图

 

4.4协作图

5系统实现

5.1运行界面

5.1.1初始菜单选择界面

5.1.2进入拍卖界面

5.1.3初始化拍卖相关信息

5.1.4开始竞拍

5.1.5拍卖结束

5.1.6进入监控界面

5.1.7查看所有流拍商品

5.1.8查看所有拍卖成功的商品

5.1.9指定查看某个商品

5.2关键代码解析

以上函数使用静态链表实现最终拍卖品的存储和释放,这种方式比数组更加灵活,节省内存。

以上函数通过使用了动态链表的方式实现了对于拍卖品的动态分配,这种方式节省内存空间,可以实现动态申请和释放,原则上可以实习任意个拍卖品进行拍卖。

6总结提高

6.1课程设计总结

遇到的问题:

1.再开始的类设计的不好,导致经常反复重新设计,这里主要是得与类的开发原则和单一职责原则不是很了解

2.在C++语法上也不是很熟悉

3.在使用画图软件上不是很熟练,需要查看很多论坛资料

收获:

通过这次课设作业,我对于C++的语法更加熟悉,对于C++封闭开放原则和单一职责原则理解更加深入,对于整个C++各种类之间的关系,类图,活动图,状态图,时序图,协作图,用例图的区别以及绘制比以前更加熟悉,对于VISIO软件的使用更加熟悉,对于动态建模,静态建模有的更深入的了解。

6.2对本课程意见与建议

希望老师在各种类图的绘制上多给点指导,以及类直接的相互关系,有时间希望能够在C++的容器,泛型算法,模板之类的给些指点。

 

附件:

#include

#include

#include

usingnamespacestd;

classgoods//单蹋_个?

商Θ_品·类え_

{

private:

intreserve_cost;//保馈_留?

价?

stringname;//物?

品·名?

称?

stringfunction;//物?

品·功|能ü

public:

goods(intcost=0,stringmingzi="",stringgongneng=""):

\

reserve_cost(cost),name(mingzi),function(gongneng){}//默?

认?

够?

着?

函ˉ数簓初?

始?

化ˉ

voidDisplayGoods();//输?

出?

拍?

卖?

品·的?

信?

息¢

voidSetGoods();//输?

入?

拍?

卖?

品·的?

信?

息¢

voidSetGoods(goodsgood);//重?

载?

输?

入?

拍?

卖?

物?

品·信?

息¢

intGet_Reserve_Cost();//获?

取?

保馈_留?

价?

stringGetGoodFunction();//获?

取?

物?

品·功|能ü

voidResetData();//复′位?

所ù有瓺参?

数簓

stringGetGoodName();//获?

取?

物?

品·名?

};

/*****************************************************************************

函ˉ数簓名?

阰Get_Reserve_Cost

参?

数簓:

阰无T

功|能ü:

阰获?

取?

物?

品·保馈_留?

价?

返う_回?

值μ:

阰物?

品·保馈_留?

价?

******************************************************************************/

intgoods:

:

Get_Reserve_Cost()

{

returnreserve_cost;

}

/*****************************************************************************

函ˉ数簓名?

阰GetGoodFunction()

参?

数簓:

阰无T

功|能ü:

阰获?

取?

物?

品·功|能ü

返う_回?

值μ:

阰物?

品·功|能ü

******************************************************************************/

stringgoods:

:

GetGoodFunction()

{

returnfunction;

}

/*****************************************************************************

函ˉ数簓名?

阰GetGoodName()

参?

数簓:

阰无T

功|能ü:

阰获?

取?

物?

品·名?

返う_回?

值μ:

阰物?

品·名?

字?

******************************************************************************/

stringgoods:

:

GetGoodName()

{

returnname;

}

/*****************************************************************************

函ˉ数簓名?

阰ResetData()

参?

数簓:

阰无T

功|能ü:

阰所ù有瓺参?

数簓归é0

返う_回?

值μ:

阰无T

******************************************************************************/

voidgoods:

:

ResetData()

{

reserve_cost=0;

name="";

function="";

}

/*****************************************************************************

函ˉ数簓名?

阰SetGoods()

参?

数簓:

阰goods:

物?

品·类え_

功|能ü:

阰通_过y形?

参?

直±接ó对?

物?

品·对?

象ó初?

始?

化ˉ

返う_回?

值μ:

阰无T

******************************************************************************/

voidgoods:

:

SetGoods(goodsgood)

{

name=good.name;

function=good.function;

reserve_cost=good.reserve_cost;

}

/*****************************************************************************

函ˉ数簓名?

阰SetGoods()

参?

数簓:

阰无T

功|能ü:

阰打洙_印?

拍?

卖?

品·的?

相à关?

信?

息¢

返う_回?

值μ:

阰无T

******************************************************************************/

voidgoods:

:

SetGoods()

{

cout<<"拍?

卖?

品·名?

称?

阰"<

cin>>name;

cout<<"拍?

卖?

品·功|能ü:

阰"<

cin>>function;

cout<<"保馈_留?

价?

是?

阰"<

cin>>reserve_cost;

}

/*****************************************************************************

函ˉ数簓名?

阰DisplayGoods

参?

数簓:

阰无T

功|能ü:

阰打洙_印?

拍?

卖?

品·的?

相à关?

信?

息¢

返う_回?

值μ:

阰无T

******************************************************************************/

voidgoods:

:

DisplayGoods()

{

cout<<"拍?

卖?

品·名?

称?

阰"<

cout<<"拍?

卖?

品·功|能ü:

阰"<

cout<<"保馈_留?

价?

是?

阰"<

}

typedefstructGoodsList

{

structGoodsList*next;//下?

个?

物?

品·

goodsGoodsData;//物?

品·信?

息¢

}GoodList;

//多à个?

拍?

卖?

商Θ_品·类え_

classManyGoods

{

private:

GoodList*FirstGoods;//第台_一?

个?

要癮拍?

卖?

的?

商Θ_品·

intGoodsNum;//拍?

卖?

物?

品·个?

数簓

public:

ManyGoods()

{

FirstGoods=NULL;

GoodsNum=0;

}

boolSetManyGoodsInfo(intnum);//设Θ_置?

多à个?

拍?

卖?

物?

品·信?

息¢

boolGetOneGoodsInfo(intn,goods®oods);//获?

取?

某3个?

拍?

卖?

物?

品·信?

息¢

boolInsertOneGoods(goodsgood);//插?

入?

某3个?

物?

品·

voidGetAllGoods();//获?

取?

所ù有瓺物?

品·信?

息¢

voidDeleteAllGoods();//释酣_放?

所ù有瓺内ú存?

~ManyGoods()

{

GoodList*p=FirstGoods;

if(GoodsNum>0)

for(inti=0;i

缓o存?

{

FirstGoods++;

deletep;

FirstGoods=FirstGoods->next;

}

FirstGoods=NULL;

}

};

//释酣_放?

所ù有瓺内ú存?

voidManyGoods:

:

DeleteAllGoods()

{

GoodList*p=FirstGoods;

if(GoodsNum>0)

for(inti=0;i

缓o存?

{

FirstGoods++;

deletep;

FirstGoods=FirstGoods->next;

}

FirstGoods=NULL;

}

//设Θ_置?

所ù有瓺物?

品·信?

息¢

boolManyGoods:

:

SetManyGoodsInfo(intnum)

{

GoodsNum=num;

inti=num;

GoodList*First=NULL;

GoodList*s=NULL;

while(i>0)

{

cout<<"初?

始?

化ˉ第台?

"<

拍?

卖?

品·信?

息¢"<

if(i==num)//头_指?

针?

{

FirstGoods=newGoodList;

if(!

FirstGoods)returnfalse;

FirstGoods->GoodsData.SetGoods();

First=FirstGoods;

}

else//尾2插?

法ぁ_创洹_建¨物?

品·链ⅰ_表括_

{

s=newGoodList;

if(!

s)returnfalse;

s->GoodsData.SetGoods();

First->next=s;

First=s;

}

i--;

}

First->next=NULL;

returntrue;

}

//获?

取?

某3个?

物?

品·信?

息¢

boolManyGoods:

:

GetOneGoodsInfo(intn,goods®oods)

{

if(n>GoodsNum||n<0||FirstGoods==NULL)

{

returnfalse;

}

inti=1;

GoodList*good=NULL;

while(i<=n)

{

if(1==i)

good=FirstGoods;

else

good=good->next;

i++;

}

if(good==NULL)

returnfalse;

regoods=good->GoodsData;

returntrue;

}

//获?

取?

所ù有瓺物?

品·信?

息¢

voidManyGoods:

:

GetAllGoods()

{

inti=0;

GoodList*p=FirstGoods;

while(i

{

cout<<"物?

品·"<

息¢:

阰"<

p->GoodsData.DisplayGoods();

p=p->next;

}

}

boolManyGoods:

:

InsertOneGoods(goodsgood)//插?

入?

某3个?

物?

品·

{

if(GoodsNum==0)

{

FirstGoods=newGoodList;

if(!

FirstGoods)returnfalse;

FirstGoods->next=NULL;

FirstGoods->GoodsData.SetGoods(good);

GoodsNum++;

}

else

{

GoodList*goodpoint=FirstGoods;

while(goodpoint->next!

=NULL)

goodpoint=goodpoint->next;

GoodList*s=NULL;

s=newGoodList;

if(!

s)returnfalse;

(*s).GoodsData.SetGoods(good);

s->next=goodpoint->next;

goodpoint->next=s;

}

returntrue;

}

//保馈_留?

单蹋_个?

物?

品·拍?

卖?

结á束?

信?

息¢类え_

classFinishSaleGood:

publicgoods

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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