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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

股票交易系统.docx

1、股票交易系统VC+课程设计-股票交易系统设计程序名称:股票交易系统难易级别:A级选择这个程序,我主要考虑到以下方面的原因:1. 本程序难度较大,在编写程序的过程当中可以更加深刻地理解VC+当中的相关知识点,可以更好地通过实践了解编程的内涵。2. 该课题所涉及到的内容和实际生活联系比较紧密,所以编写此程序意义较大。3. 该课题是管理系统方面的小型程序,这类程序可以不断地扩充新的内容新的功能,可塑性高,实用性好,有很好的实际意义。程序设计要求:本程序要求改变数据结构,每个用户的数据库中要增加现金数成员。要求增加股票交易系统的接口设计:a. Add New Stock( ) 增加新的股票;b. De

2、lete Old Stock( ) 删除旧的股票;c. Hang Up Stock( ) 挂起股票,停止交易;d. Modify Stock (Stock ) 修改股票的名称代码。要求的以上的修改都要输入密码,在输入正确的密码之后才能够进入数据库进行修改。将股票数据的处理由数组变成链表,可以处理多只股票的交易,链表一交易代码的序号进行排序。程序功能介绍:股票交易系统是一个小型的管理程序,在这个系统里,可以管理至多5只股票的交易。首先用户要注册,注册完后方可登陆。在登陆的界面中,管理员登陆后可以删减股票,挂起股票,解挂股票等等,通过这些功能来管理股票。同时,用户还可以查看股票情况,帮助自己进行股

3、票的有效交易。股票的市场情况可根据用户的使用情况而随之变化。程序完成过程:1、 粗读程序第一遍看程序时,发现程序太长了,只是对整个程序有一个大致的了解。程序的主要功能是实现用户对股票操作系统的自主可视操作,本完成用户和股票数据的存储,实现反复操作。程序主要通过类来完成功能,涉及到数组及输入输出流的使用。在主函数中调用类中方法,实现页面中的转换,对数据进行处理。一开始有一点畏难情绪。2、 细读程序以下对程序中类及其函数进行分析Stock类:存放股票数据,类中方法对股票进行各项操作。 Void Hang Up Stock( ) ;/挂起股票 void Un Hang Stock();/解挂股票 v

4、oid Modify Stock(Stock );/修改股票 void Delete Stock();/删除股票 void Interface();/选择面板 void Stock Exchange Market();/显示信息 void Switch choice();/选择服务 void Input For New Stock();/加入新股票 void Market Analysis();/市场分析 void Save(Stock);/保存修改Customer类:存放用户信息,类中方法对用户进行各项操作。 Customer();/对用户初始化 void Log in(char *, ch

5、ar *,Customer) const;/登录 void Register(Customer *);/注册 void Stock Portfolio(Customer) const; / Portfolio-有价证券 程序功能为对用户的指令进行处理,模拟股市的操作,完成对股票和对用户的修改及存档。在认清设计方向的基础上,反复细读程序,我分析了Stock和Customer类下数据与成员函数的功能。程序反复声明了Stock和Customer类的同一对象,浪费了系统资源;在一些函数调用中也存在缺陷,比如存在Input_For_New_Stock()方法,但是只有在第一次使用是才会调用,Custom

6、er类中原有Switch_function()也没有调用。在用户选择登录时,无法辨别用户名,只根据密码进行登录,当遇到密码相同的用户时,就分不清楚用户。密码是显示输入的不能有效的受到保护。由于这是个小程序,数据通过数组存储,而不是通过指针,这使程序方便易懂,但限制了数据的空间,无法达到指针链表所能实现的不定长度存储。但是从现阶段的使用来看指针链表的形式过于麻烦反而会造成程序过度的复杂。现对系统进行操作分析:首先进入界面,进行用户识别,在这里用户可以查看市场信息、注册新用户、登录用户和分析股票。然后若登录,显示下一股票操作界面,选其他有相应操作。在股票操作界面中,有买入、卖出、添加新股票、挂出股

7、票,恢复交易、删除已有股、挂起股票,停止交易、修改代码及名称、查看等操作选择,用户可根据提示,完成相应操作。其中添加新股票、挂出股票,恢复交易、删除已有股、挂起股票,停止交易、修改代码及名称操作只对管理员开放。3、修改程序首先,将重复声明的Stock和Customer类对象删除,使用Stock类的全局对象temp和shareMAX及Customer类的全局对象cust来实现数据的反复读取和存储,并修改因此引起的变动(如将Customer类中的char share holding name 30 改为char share holding name530;char share holding co

8、de5 改为 char share holding code55等)。在类中方法中涉及到查询处添加打印股票清单细明项目:( for(i=0;iMAX;+i) sharei.Stock Exchange_Market(); )。修改已存在的Input For New Stock(),使其可在空位置存储新股票信息。对于新的函数的增加完成情况:新增加的函数完成的情况Input_For_New_Stock()添加新股票先对股票数据进行读取,显示股票信息,提示输入股票代码,考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我对程序加入了一些代码,从而解决这些异常。然后调用Input_For

9、_New_Stock(),提示输入股票的名称、代码、流通股数量、发行价,同时随机生成股票上市价。最后,在Stock_File.dat的空位置插入存储新股票信息。Delete_Stock()删除旧股票先对股票数据进行读取,显示股票信息。然后调用Delete_Stock(),提示输入要删除的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。Hang_Up_Stock()挂起股票,停止交易先对股票数据进行读取,显示股票信息。然后调用Hang_Up_Stock(),提示输入要挂起的股票代码,同样考虑到输入流读取时会

10、出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。Modify_Stock()修改股票的名称、代码先对股票数据进行读取,显示股票信息。然后调用Modify_Stock(),提示输入要修改的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。修改后的结果存入Stock_File.dat。通过stock成员函数Save()来实现此要求。程序创新:1. 在程序设计要求外我添加了Un_Hang_Stock()解挂股票,恢复交易。先对股票数据进行读取,显示股票信息。

11、然后调用Un_Hang_Stock(),提示输入要解挂的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。2. 加入股票发行价、上市价和帐户总资产、余额、市值等数据,并进行计算、输出等操作,加强系统功能,使系统更实用、逼真。程序调试分析: 用户类为股票类的友元类实现对股票类的调用用户类登陆函数1. 是否有记录2. 核对用户,密码注册函数1输入用户名2输入密码3是否设置为管理员用户交易主界面函数实现与股票类中的管理函数相连接股票类主界面函数(进入交易系统)显示信息股票操作函数1买入2买出3添加新股票4挂出股票

12、恢复交易5删除股票6挂起股票7修改代码名称8查看9退出保存股票信息函数实现对股票文件的保存 程序先进行用户注册才能够进入用户交易的主界面,在主菜单下只能看到股票信息不能操作买卖。登陆后方能实现对股票的操作,进一步如果是管理员可以修改股票信息改变股票交易状态。总结(编程心得):通过本课题,我复习了类和数组,更好的掌握了类间函数调用的关系以及如何实现类间复杂的相关调用。同时,我学习了输入输出流的使用,懂得了如何从特定的地址读取数据,如何正确将信息存储到特定的位置。此外,在调试的过程中我还碰到了一些问题,运行时经常出现一些意料之外的输出或无法输出预想的结果,症结在于没有合理的使用break、getc

13、h()、cin.get()等一些编程课本上未学过的函数。最后,通过翻阅资料与上机实践终于解决了这些问题。通过阅读本课题的程序,我掌握了一些阅读程序的技巧,培养了认真阅读程序的好习惯,并能够从较长的程序中找到程序的核心实现部分。此次课程设计让我借此契机加深领悟了C+的内涵,让我对编程有了实质性的了解和大致掌握,在不断思考与上机调试的过程中,培养自己的耐心,也培养了自己的意志。最终,终于完成了课程设计的任务。关键源代码及注解(修改后的代码用下划线标示)/* 股票交易系统-源代码及关键源代码注解如下:*/#include #include #include #include #include #in

14、clude #include #define MAX 5int i=0,j=0,Hang,flag;int num_of_stock;int gushu;class Customer;class Stockprivate: float faxing,shangshi;/股票发行价,上市价 char stock_name20;/股票名称 char stock_code6;/股票代码 char choice;/Interface()下选择 int hang;/是否挂起(1为是,0为否) long int stock_volume;/股票总股数 long int volume_available;/

15、股票可流通量public: Stock(); void Hang_Up_Stock();/挂起股票 void Un_Hang_Stock();/解挂股票 void Modify_Stock(Stock );/修改股票 void Delete_Stock();/删除股票 void Interface();/选择面板 void Stock_Exchange_Market();/显示信息 void Switch_choice();/选择服务 void Input_For_New_Stock();/加入新股票 void Market_Analysis();/市场分析 void Save(Stock);

16、/保存修改 friend class Customer;class Customer friend class Stock;private: int gly;/是否管理员 char customer_name30;/用户名 char password10;/密码 char share_holding_name530;/持有股票名称 char share_holding_code55;/持有股票代码 long int share_holding_value5;/持有股票数量 double money,shzh,zzch;/现金余额,市值,总资产public: Customer(); void L

17、og_in(char *) const;/登录 void Register(Customer *);/注册 void Stock_Portfolio() const; / Portfolio-有价证券;Stock temp,shareMAX;/全局变量,声明股票对象Customer cust;/声明用户对象,全局变量/Customer构造Customer:Customer() strcpy(Customer:customer_name,); for(i=0;iMAX;i+) strcpy(Customer:share_holding_namei,); strcpy(Customer:share

18、_holding_codei,); share_holding_valuei=0; money=shzh=zzch=0; void Customer:Log_in(char *pass_word) const if(strcmp(pass_word,password)=0)/核对密码 Stock_Portfolio(); else coutendl; cout密码错误.endl; void Customer:Register(Customer *cust) char ch; system(cls); /执行系统命令:清屏=cls cin.get(); cout欢迎进入 * 股票交易系统*end

19、l; coutendl; cout输入用户名: ; cin.getline(customer_name,30); cout输入您的密码(少于 8 字): endl; char ch; int i=0; cout.flush(); ch=getch(); while(ch!=13) passwordi+=ch; cout*; cout.flush(); ch=getch(); passwordi=0; coutendl; coutzzch; shzh=0; money=zzch; cout是否设为管理员?(y/n)ch; if(ch=y|ch=Y) gly=1; cout已设置.; else i

20、f(ch=n|ch=N) gly=0; else cout默认为非管理员.; getch(); system(cls); coutendlendl; cout注册成功.endl; cout按任意键返回.endl; getch();void Customer:Stock_Portfolio() const/用户交易操作系统 int i,a; char ch,share_code6,str20; long int volume;start: system(cls); coutendlendl; coutttt 欢迎使用!endl; couttt* 股票交易系统*endl; couttt-endl;

21、 couttt 用户: cust.customer_nameendlendl; couttt 买入.1endl; couttt 卖出.2endl; couttt 添加新股票.3endl; couttt 挂出股票,恢复交易.4endl; couttt 删除已有股.5endl; couttt 挂起股票,停止交易.6endl; couttt 修改代码及名称.7endl; couttt 查看.8endl; couttt 退出.0endl; coutendlch; if(ch!=1)&(ch!=2)&(ch!=3)&(ch!=4)&(ch!=5)&(ch!=6)&(ch!=7) &(ch!=8)&(ch

22、!=0) goto start; else switch(ch) case 3: /加入新股票 if(cust.gly=1) for(i=0;iMAX;i+) if(strcmp(sharei.stock_name,)=0)/在股票数据空处添加新的内容 sharei.Input_For_New_Stock(); temp.Save(share);/写数据 getch(); goto start; else cout您无权添加股票!endl; getch(); break; case 5: /删除股票 if(cust.gly=1) system(cls); coutnntt* 股票交易系统*en

23、dl; couttt-endl; cout 公司tt代码 t流通股 t可动股 t发行价 t上市价endl; for(i=0;iMAX;+i) sharei.Stock_Exchange_Market(); cin.get(); temp.Delete_Stock(); cin.get(); break; else cout您无权删除股票!endl; getch(); break; case 4: /解挂股票 if(cust.gly=1) system(cls); coutnntt* 股票交易系统*endl; couttt-endl; cout 公司tt代码 t流通股 t可动股 t发行价 t上市

24、价endl; for(i=0;iMAX;+i) sharei.Stock_Exchange_Market(); cin.get(); temp.Un_Hang_Stock(); break; else cout您无权恢复股票!endl; getch(); break; case 6: /挂起股票 if(cust.gly=1) system(cls); coutnntt* 股票交易系统*endl; couttt-endl; cout 公司tt代码 t流通股 t可动股 t发行价 t上市价endl; for(i=0;iMAX;+i) sharei.Stock_Exchange_Market(); c

25、in.get(); temp.Hang_Up_Stock();/进行 break; else cout您无权挂起股票!endl; getch(); break; case 7:/修改股票 if(cust.gly=1) system(cls); coutnntt* 股票交易系统*endl; couttt-endl; cout 公司tt代码 t流通股 t可动股 t发行价 t上市价endl; for(i=0;iMAX;+i) sharei.Stock_Exchange_Market(); cin.get(); temp.Modify_Stock(share); break; else cout您无权挂起股票!endl; getch(); break;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1