股票交易系统代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;};//构造函数