股票交易系统代码大全Word下载.docx
《股票交易系统代码大全Word下载.docx》由会员分享,可在线阅读,更多相关《股票交易系统代码大全Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
in_avail();
returnstream.ignore(chars_to_skip);
}
structCusttable//定义股票资料结构体
{charName[20];
//用户姓名
intMoney;
};
classCStock//股票数据类
{private:
charstock_name[20];
//股票名称
charstock_code[6];
//股票代码
intstock_volume;
//股票总股数
intvolume_available,nHangup;
//可交易的股数
doublePrice;
//股票的价格
CStock*pNext;
public:
CStock();
//构造函数
CStock(char*code);
//用股票代码初始化数据
CStock(char*name,char*code,intvolume,doubleprice);
//初始化数据
voidSetStock(char*name,char*code,intvolume,doubleprice);
//数据赋值
voidShow();
//显示股票信息
char*GetName(){returnstock_name;
}//返回股票名称
char*GetCode(){returnstock_code;
}//返回股票代码
double&
GetPrice(){returnPrice;
}//返回股票价格,买卖之前判断现金是否足够
int&
GetHangup(){returnnHangup;
}//为1挂起,买卖之前判断是否能进行交易
GetVolume_available(){returnvolume_available;
}//返回可交易总数,购买前判断输入的数据是否合理
voidSubStockModify(intnNum);
//购买股票,市场该股可交易总数减少
voidAddStockModify(intnNum);
//卖出股票,市场该股可交易总数增多
CStock*GetNext(){returnpNext;
}//返回下一个结点的指针
~CStock(){cout<
<
"
析构CStock类"
endl;
}//析构函数
};
CStock:
:
CStock()//构造函数
{strcpy(stock_name,"
);
strcpy(stock_code,"
stock_volume=0;
volume_available=0;
nHangup=0;
Price=0;
pNext=0;
}
CStock(char*code)//用股票代码初始化数据
CStock(char*name,char*code,intvolume,doubleprice)//初始化数据
{strcpy(stock_name,name);
strcpy(stock_code,code);
stock_volume=volume;
volume_available=volume;
Price=price;
voidCStock:
SetStock(char*name,char*code,intvolume,doubleprice)//数据赋值
Show()//显示股票信息
{cout<
setiosflags(ios:
left);
cout<
setw(15)<
股票名称"
setw(13)<
代码"
setw(14)<
总股数"
setw(16)<
可交易股数"
是否挂起"
setw(10)<
价格"
;
stock_name<
setw(12)<
stock_code<
stock_volume<
volume_available<
setw(11);
if(nHangup==1)cout<
是"
elsecout<
否"
Price<
SubStockModify(intnNum)//购买股票,市场该股可交易总数减少
{volume_available-=nNum;
}
AddStockModify(intnNum)//卖出股票,市场该股可交易总数增多
{volume_available+=nNum;
classStocknode//股票结点类
CStock*pdata;
//指向股票数据类的指针
Stocknode*pnext;
//指向股票结点类的指针
public:
Stocknode(){pdata=0;
pnext=0;
};
CStock*&
Getpdata();
//返回指向股票数据类的指针
Stocknode*&
Getpnext();
//返回指向股票结点类的指针
CStock*&
Stocknode:
Getpdata()//返回指向股票数据类的指针
{returnpdata;
}
Stocknode*&
Getpnext()//返回指向股票结点类的指针
{returnpnext;
}
classStocklist//股票链表类
Stocknode*phead;
//指向股票结点类的指针,是股票链表的头指针。
intnumofstock;
//记录市场中已存在的股票数量,最多5只。
Stocklist(){phead=0;
numofstock=0;
}//构造函数
~Stocklist(){Deletelist();
Getphead(){returnphead;
}//返回股票链表的头指针
voidShowlist();
//展示股票链表中的所有股票
voidInsert(Stocknode*pnode);
//插入股票结点到股票链表中
voidAddnewstock();
//添加新股票
Stocknode*Lookupdata(char*str);
//查找股票,返回指向股票结点类的指针
voidDeleteoldstock();
//删除已存在的股票
voidModifystock(intnChoice);
//修改股票数据
voidDeletelist();
//删除整个股票链表
intGetnumofstock(){returnnumofstock;
}
voidStocklist:
Insert(Stocknode*pnode)//插入股票结点到股票链表中
{if(head->
Getphead()==0)//当股票链表的头指针为空,则把现在插入的结点的指针赋给头指针
{cout<
该链表为空链表,现在插入第一个结点!
pnode->
Getpnext()=phead;
phead=pnode;
}
elseif(strcmp(phead->
Getpdata()->
GetCode(),pnode->
GetCode())>
0)//链表中已有结点,把现在要插入的结点插入到链表开头
{pnode->
phead=pnode;
}
else
{Stocknode*p1,*p2;
p1=p2=phead;
while(strcmp(p2->
GetCode())<
0&
&
p2->
Getpnext()!
=0)//和链表中的其他几点进行比较,直到找到合适的插入位置
{p1=p2;
p2=p2->
if(strcmp(p2->
0)//找到适合的插入点后,插入到链表中
{p1->
Getpnext()=pnode;
pnode->
Getpnext()=p2;
elseif(strcmp(p2->
GetCode())==0)//若股票代码与之前已存在股票代码重复,则插入不成功
{cout<
该股票与之前的股票代码有重复!
请重新操作!
return;
else
{p2->
//把结点插入到链表的尾部
pnode->
Getpnext()=NULL;
}}
numofstock++;
Addnewstock()//添加新股票
{CStock*p;
Stocknode*pnode;
p=newCStock;
longintstock_volume;
charstock_code[6