ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:20.27KB ,
资源ID:2289429      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2289429.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(股票交易系统代码.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

股票交易系统代码.docx

1、股票交易系统代码股票交易系统代码#include#include#include#include#include#includeclass Stocklist; /股票链表类的声明struct Custtable; /用户资料结构体声明class Custlist; /股票数据类声明Stocklist *head; /临时指向股票链表类的全局指针,作用是当程序运行时,把二进制中的数据写到这个临时的链表中,然后在这个临时的链表中进行各种操作,直到退出程序后再把临时的链表中的数据写入到二进制文件中,相当于保存并更新了文件中的数据。Custtable *table; /临时指向用户资料结构体的指针,

2、作用类似于上面的“临时指向股票链表类的全局指针”。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 Name20; /用户姓名 int

3、 Money; ;class CStock /股票数据类 private: char stock_name20; /股票名称 char stock_code6; /股票代码 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); /初始化数

4、据 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_availa

5、ble()return volume_available; /返回可交易总数,购买前判断输入的数据是否合理 void SubStockModify(int nNum); /购买股票,市场该股可交易总数减少 void AddStockModify(int nNum); /卖出股票,市场该股可交易总数增多 CStock *GetNext()return pNext; /返回下一个结点的指针 CStock()cout析构CStock类endl; /析构函数 ;CStock:CStock() /构造函数 strcpy(stock_name,);strcpy(stock_code,); stock_vo

6、lume=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_

7、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:Sho

8、w() /显示股票信息 coutsetiosflags(ios:left); coutsetw(15)股票名称setw(13)代码setw(14)总股数setw(16)可交易股数setw(13)是否挂起setw(10)价格; coutsetw(15)stock_namesetw(12)stock_codesetw(16)stock_volumesetw(16)volume_availablesetw(11); if(nHangup=1) cout是; else cout否; coutsetw(10)PriceGetphead()=0) /当股票链表的头指针为空,则把现在插入的结点的指针赋给头指

9、针 cout该链表为空链表,现在插入第一个结点!Getpnext()=phead;phead=pnode; else if(strcmp(phead-Getpdata()-GetCode(),pnode-Getpdata()-GetCode()0) /链表中已有结点,把现在要插入的结点插入到链表开头 pnode-Getpnext()=phead; phead=pnode; else Stocknode *p1,*p2; p1=p2=phead; while(strcmp(p2-Getpdata()-GetCode(),pnode-Getpdata()-GetCode()Getpnext()!=

10、0) /和链表中的其他几点进行比较,直到找到合适的插入位置 p1=p2;p2=p2-Getpnext(); if(strcmp(p2-Getpdata()-GetCode(),pnode-Getpdata()-GetCode()0) /找到适合的插入点后,插入到链表中 p1-Getpnext()=pnode;pnode-Getpnext()=p2; else if(strcmp(p2-Getpdata()-GetCode(),pnode-Getpdata()-GetCode()=0) /若股票代码与之前已存在股票代码重复,则插入不成功 cout该股票与之前的股票代码有重复!请重新操作!Getp

11、next()=pnode; /把结点插入到链表的尾部 pnode-Getpnext()=NULL; numofstock+; void Stocklist:Addnewstock() /添加新股票 CStock *p;Stocknode *pnode; p=new CStock;long int stock_volume; char stock_name20; char stock_code6; double price; pnode=new Stocknode; /动态开辟新的股票结点空间 cout现在添加新股票,请输入该股票的数据:endl; cout请输入股票名称:endl; cin.g

12、etline(stock_name,20); /输入股票名 Flush(cin); /清空过多输入 cout请输入股票代码:endl; cin.getline(stock_code,6); Flush(cin); cout请输入股票总数:stock_volume; while(!cin) /用于解决当输入数据类型不符出现的错误 cerr输入数据类型不符,请输入数字!stock_volume; cout请输入该股票价格:price; /输入股票价格 while(!cin) /用于解决当输入数据类型不符出现的错误 cerr输入数据类型不符,请输入数字!stock_volume; cin.ignor

13、e(); /清丢弃输入缓冲区中的字符,以免影响后面的输入 cout创建该股票中.SetStock(stock_name,stock_code,stock_volume,price); /数据赋值 pnode-Getpdata()=p; /把股票数据赋到结点中 Insert(pnode); /把刚创建的结点插入到链表中 void Stocklist:Showlist() /展示股票链表中的所有股票 Stocknode *pnode; if(phead=0) cout该链表为空链表!Getpdata()-Show(); pnode=pnode-Getpnext(); Stocknode *Stoc

14、klist:Lookupdata(char *str) /查找股票 Stocknode *pnode; pnode=phead; coutstrGetpnext()&strcmp(pnode-Getpdata()-GetCode(),code) pnode=pnode-Getpnext(); if(strcmp(pnode-Getpdata()-GetCode(),code)=0) return pnode; else return 0; void Stocklist:Deleteoldstock() /删除已存在的股票 Stocknode *pnode,*p; pnode=phead; co

15、ut请输入你想删除的股票代码:endl; char code6; cin.getline(code,6); Flush(cin); if(phead=0) /若链表为空,则结束该函数 cout该链表为空链表!Getpnext()&strcmp(pnode-Getpdata()-GetCode(),code) /若链表不为空,则在链表中查找该股票 p=pnode; pnode=pnode-Getpnext(); if(strcmp(pnode-Getpdata()-GetCode(),code)=0) cout查找出的股票为:Getpdata()-Show(); char str30; whil

16、e(1) do cout是否确定删除该股票(y/n)?Getpnext(); else p-Getpnext()=pnode-Getpnext(); /不为头结点的情况 delete pnode; numofstock-; /删除该节点,删除动态开辟的空间 cout删除股票成功!endl; return; else return; else cout数据中没有该股票!endl; /链表中没有该股票的情况 void Stocklist:Modifystock(int nChoice) /修改股票 char *str=请输入你想修改的该股票的代码:; Stocknode *pnode; syste

17、m(cls); if(phead=0) /若链表为空链表 cout该链表为空链表!Lookupdata(str); /首先查找出该股票 if(pnode) /如果要查找的股票存在 cout该股票为:endlGetpdata()-Show(); /把查找出来要修改的股票展示出来 switch(nChoice) case 1: /更改股票名 char name20; coutGetpdata()-GetName(),name); break; case 2: /更改股票代码 char code6; coutGetpdata()-GetCode(),code); break; coutendl修改后

18、的股票变成:endlGetpdata()-Show();system(pause); else /要修改的股票在链表中不存在 cout链表中没有该股票!endl; system(pause); void Stocklist:Deletelist() /删除链表 if(phead=0) cout该列表为空列表!Getpnext(); delete pnode; pnode=phead; void Interface(); /声明函数:初始界面void Managementface(); /声明函数:股票管理界面void Register(); /声明函数:注册int Login(); /声明函数

19、:登录void readdata() /从二进制文件中读入数据 ifstream infile(Stock_File.dat,ios:binary|ios:nocreate); if(!infile) /若要读取的二进制文件不存在 cout要读取的Stock_File.dat文件不存在!endl; cout请确认该文件!endl; cout现在退出程序.GetPrice()=0) break; p1-Getpdata()=p2; head-Insert(p1); infile.close(); void writedata() /把临时股票链表中数据写入到二进制文件 Stocknode *pn

20、ode;pnode=head-Getphead(); ofstream outfile(Stock_File.dat,ios:binary|ios:out); while(pnode) /若未到股票链表结尾,则继续把链表中的数据写入到二进制文件中 outfile.write(char*)pnode-Getpdata(),sizeof(CStock); pnode=pnode-Getpnext(); outfile.close(); void managementchoice(int nChoice) /股票管理界面选项判断函数 switch(nChoice) case 1: /添加新股票 head-Addnewstock(); /添加股票 system(pause);char str30; while(1) do system(cls); cout是否继续添加?(y/n)Addnewstock(); /添加股票 system(pause); else return; cas

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2