股票交易系统代码

  • 格式:docx
  • 大小:24.99 KB
  • 文档页数:22

下载文档原格式

  / 26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

#include

#include

class Stocklist;//股票链表类的声明

struct Custtable; //用户资料结构体声明

class Custlist;//股票数据类声明

Stocklist *head;//临时指向股票链表类的全局指针,作用是当程序运行时,把二进制中的数据写到这个临时的链表中,然后在这个临时的链表中进行各种操作,直到退出程序后再把临时的链表中的数据写入到二进制文件中,相当于保存并更新了文件中的数据。

Custtable*table;//临时指向用户资料结构体的指针,作用类似于上面的“临时指向股票链表类的全局指针”。

inline istream& Flush(istream& stream)//在书本中看到的用于清空输入缓冲区的函数。可以解决过多输入(如用cin.getline()接收数据时,过多的输入可以用该函数来清除掉,以免影响后面的输入),输入数据不符等问题。

{stream.clear();

int chars_to_skip=stream.rdbuf()->in_avail();

return stream.ignore(chars_to_skip);

}

struct Custtable//定义股票资料结构体

{char Name[20];//用户姓名

int Money;

};

class CStock//股票数据类

{private:char stock_name[20];//股票名称

char stock_code[6];//股票代码

int stock_volume;//股票总股数

int volume_available,nHangup;//可交易的股数

double Price;//股票的价格

CStock *pNext;

public:CStock();//构造函数

CStock(char *code);//用股票代码初始化数据

CStock(char *name,char *code,int volume,double price);//初始化数据void SetStock(char *name,char *code,int volume,double price);//数据赋值void Show();//显示股票信息

char *GetName(){return stock_name;}//返回股票名称

char *GetCode(){return stock_code;}//返回股票代码

double &GetPrice(){return Price;}//返回股票价格,买卖之前判断现金是否足够

int &GetHangup(){return nHangup;}//为1挂起,买卖之前判断是否能进行交易int &GetVolume_available(){return volume_available;}//返回可交易总数,购买前判断输入的数据是否合理

void SubStockModify(int nNum);//购买股票,市场该股可交易总数减少void AddStockModify(int nNum);//卖出股票,市场该股可交易总数增多CStock

*GetNext(){return pNext;}//返回下一个结点的指针

~CStock(){cout<<"析构CStock类"<

};

CStock::CStock()//构造函数

{ strcpy(stock_name,"");strcpy(stock_code,"");

stock_volume=0;volume_available=0;

nHangup=0;Price=0;pNext=0;}

CStock::CStock(char *code)//用股票代码初始化数据

{ strcpy(stock_name,"");strcpy(stock_code,"");

stock_volume=0;volume_available=0;

nHangup=0;Price=0;pNext=0;}

CStock::CStock(char *name,char *code,int volume,double price)//初始化数据{strcpy(stock_name,name);strcpy(stock_code,code);

stock_volume=volume;volume_available=volume;

nHangup=0;Price=price;pNext=0;}

void CStock::SetStock(char *name,char *code,int volume,double price)//数据赋值

{strcpy(stock_name,name);strcpy(stock_code,code);

stock_volume=volume;volume_available=volume;

nHangup=0;Price=price;pNext=0;}

void CStock::Show()//显示股票信息

{cout<

cout<

"<

cout<

if(nHangup==1)cout<<"是";

elsecout<<"否";

cout<

void CStock::SubStockModify(int nNum)//购买股票,市场该股可交易总数减少

{volume_available-=nNum;

}

void CStock::AddStockModify(int nNum)//卖出股票,市场该股可交易总数增多

{volume_available+=nNum; }

class Stocknode//股票结点类

{ private:

CStock *pdata;//指向股票数据类的指针

Stocknode *pnext;//指向股票结点类的指针

public:

Stocknode(){pdata=0;pnext=0;};//构造函数