股票交易系统代码
- 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 &GetV olume_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<<"是"; else cout<<"否"; cout< void CStock::SubStockModify(int nNum) //购买股票,市场该股可交易总数减少 { volume_available-=nNum;