股票交易系统_第1页
股票交易系统_第2页
股票交易系统_第3页
股票交易系统_第4页
股票交易系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、),使其可在空位置存储新股票信息。对于新的函数的增加完成情况:新增加的函数完成的情况Input_For_New_Stock()加新区票一 一添先对股票数据进行读取,显示股票信息,提示 输入股票代码,考虑到输入流读取时会出现的一些错 误,如输入回车,输入错误代码等,我对程序加入了 一些代码,从而解决这些异常。然后调用 Input_For_New_Stock(),提示输入股票的名称、代码、 流通股数量、发行价,同时随机生成股票上市价。最 后,在的空位置插入存储新股票信息。Delete_Stock()删除旧股 票先对股票数据进行读取,显示股票信息。然后 调用Delete_Stock(),提示输入要删

5、除的股票代码, 同样考虑到而入流读取时会出现的一些错误,如输入 回车,输入错误代码等,我加入了一些代码,从而解 决这些异常。最后,存储修改后的信息。Hang_Up_Stock()挂起股票,停 止交易先对股票数据进行读取,显示股票信息。然后 调用Hang_Up_Stock(),提示输入要挂起的股票代码, 同样考虑到京入流读取时会出现的一些错误,如输入 回车,输入错误代码等,我加入了一些代码,从而解 决这些异常。最后,存储修改后的信息。Modify_Stock()修改股票的名称、代码先对股票数据进行读取,显示股票信息。然后 调用Modify_Stock(),提示输入要修改的股票代码, 同样考虑到所

6、入流读取时会出现的一些错误,如输入 回车,输入错误代码等,我加入了一些代码,从而解 决这些异常。最后,存储修改后的信息。修改后的结果存入。通过stock成员函数Save ()来实现此要求。程序创新:在程序设计要求外我添加了Un_Hang_Stock()解挂股票,恢复交易。先对股票数据进行读取,显示股票信息。然后调用Un_Hang_Stock(),提示输入要解挂的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码 等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。加入股票发行价、上市价和帐户总资产、余额、市值等数据,并进行计算、输出等操作,加强系统功能,使系

7、统更实用、逼真。程序调试分析:用户类为股票类的友元类实现对股票类的调用用户类登陆函数.是否有记录.核对用户,密码注册函数1输入用户名2输入密码3是否设置为管理员用户父易主界囿函数实现与股票类中的管理函数相 连接股票类主界面函数(进入交易系统)显示信息股票操作函数1买入2买出3添加新股票4挂出股票恢复交易5删除股票6挂起股票7修改代码名称8查看9退出保存股票信息函数实现对股票文件的保存程序先进行用户注册才能够进入用户交易的主界面,在主菜单下只能看到股票信息不能操 作买卖。登陆后方能实现对股票的操作,进一步如果是管理员可以修改股票信息改变股票交易 状态。总结(编程心得):通过本课题,我复习了类和数

8、组,更好的掌握了类间函数调用的关系以及如何实现类间复 杂的相关调用。同时,我学习了输入输出流的使用,懂得了如何从特定的地址读取数据,如何 正确将信息存储到特定的位置。此外,在调试的过程中我还碰到了一些问题,运行时经常出现 一些意料之外的输出或无法输出预想的结果,症结在于没有合理的使用break、getch()、()等一些编程课本上未学过的函数。最后,通过翻阅资料与上机实践终于解决了这些问题。通过阅读本课题的程序,我掌握了一些阅读程序的技巧,培养了认真阅读程序的好习惯, 并能够从较长的程序中找到程序的核心实现部分。此次课程设计让我借此契机加深领悟了C+的内涵,让我对编程有了实质性的了解和大致掌握

9、,在不断思考与上机调试的过程中,培养自己的耐心,也培养了自己的意志。最终,终于 完成了课程设计的任务。关键源代码及注解(修改后的代码用下划线标示)/*股票交易系统-源代码及关键源代码注解如下:*/#include #include #include #include #include #include #include #define MAX 5int i=0,j=0,Hang,flag;int num_of_stock;int gushu;class Customer;class Stockprivate:float faxing,shangshi;.endl;void Customer:R

10、egister(Customer *cust)char ch;system(cls);.;else if(ch=n|ch=N)gly=0;elsecout默认为非管理员;getch();system(cls);coutendlendl;cout 注册成功 .endl;cout 按任意键返回 .endl;getch();void Customer:Stock_Portfolio() const1endl;couttt 卖出 2endl;couttt添加新股票 3endl;couttt挂出股票, 恢复交易 4endl;couttt删除已有股 5endl;couttt挂起股票, 停止交易 6endl

11、;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!=0)goto start;elseswitch(ch)case 3: tock_name,)=0)nput_For_New_Stock();(share);tock_Exchange_Market();();();();break;elsecout 您无权删除股票!endl;getch();break;case 4: tock_E

12、xchange_Market();();();break;elsecout 您无权恢复股票!endl;getch();break;case 6: tock_Exchange_Market();();();tock_Exchange_Market();();(share);break;elsecout 您无权挂起股票!endl;getch();break;case 1:tock_Exchange_Market();tock_code,share_code)=0)if(sharei.hang=1)cout 股票已挂起,停止交易 !endl; break; elsegushu=intsharei.s

13、hangshi);cout 您最多可购买:gushuendl;flag=1;coutvolume;a=();while(a)volume; a=();if(sharei.volume_available=volume&=volume*sharei.shangshi)tock_name,30);strcpyi,sharei.stock_code);sharei.volume_available=sharei.volume_available-volume;=sharei.shangshi*volume;+=sharei.shangshi*volume;system(cls);*cout交易成功!

14、endl; coutendl;股票交易系统 *”endl;coutttendl;cout 公司tt 代码t 流通股t可动股t发行价 上市价 状态endl;for(i=0;iMAX;i+)(cout sharei.stock_nametsharei.stock_code tsharei.stock_volumetitsharei.faxingt sharei.shangshit (sharei.hang=O 未挂起:已挂起)endl; )cout持有股票市值t可用资金t总资产endl;coutttttendl;0;ofstream dataFile ,ios:binary);(char*)(&c

15、ust),sizeof(cust);(share);)elseif(sharei.volume_available=volume)(coutsharei.stock_name ”的可购股量少于您所要。coutendl;cout退出 coutendl; getch();system(cls);goto start;)else if=volume*sharei.shangshi)(cout资金不足!;cout退出 coutendl; getch();system(cls); goto start;)else(i+;while(i=MAX)system(cls);cout您所输入代码错误.endl;

16、cout退出. endl;goto start;)elsecoutendl输入错误!;();break;)case 2:tock_nametsharei.stock_codetsharei.stock_volumetitsharei.faxingt sharei.shangshit (sharei.hang=0未挂起”:已挂起)endl;)coutttendl;cout持有股票市值t可用资金t总资产endl;coutttttendl;();coutendl输入所卖股代码:;(share_code,6);if(strcmp(share_code,)!=0)i=0;flag=0;while(iMA

17、X)&(用ag)if (strcmp(sharei.stock_code,share_code)=0)if(sharei.hang=1) cout股票已挂起,停止交易!endl;break;) else flag=1;coutvolume;a=();while(a)();(str,20);cout非法输入,重新输入一整数.volume;a=();)ifi=volume)(i=i-volume;sharei.volume_available=sharei.volume_available+volume;+=sharei.shangshi*volume;=sharei.shangshi*volum

18、e;system(cls);cout交易成功!endl;coutendl;couttt*股票交易系统 *endl;coutttendl;状态endl;cout 公司tt 代码t 流通股t可动股t发行价 上市价for(i=0;iMAX;i+)(cout sharei.stock_nametsharei.stock_code tsharei.stock_volumetitsharei.faxingt sharei.shangshit (sharei.hang=0未挂起:已挂起)endl;)cout持有股票市值、t可用资金t总资产endl;coutttttendl;ofstream data,ios

19、:binary);(char*)(&cust),sizeof(cust);(share);)else(cout您没有足够股票可卖,;cout或您没有购买此股。按任意键返回endl;cout按任意键返回. endl;getch();break;)();)else(i+;while(i=MAX) (system(cls);endl;cout您没有购买该股或您输入错误。cout退出.”;getch();goto start;)else coutendl输入错误!;();break;)case 8: tock_nametsharei.stock_codetsharei.stock_volumetits

20、harei.faxingt sharei.shangshit (sharei.hang=0 未挂起:已挂起)endl;)coutttendl;cout持有股票市值t可用资金t总资产endl;coutttttendl;getch();break;)1endl;couttt登陆用户2”endl;couttt注册新用户3”endl;couttt退出系统0endl;coutendlendl;coutendlchoice;if(choice!=1)&(choice!=2)&(choice!=3)&(choice!=0) system(cls);();)elseSwitch_choice();)void

21、Stock二Switch_choice()char pass_word10;switch(choice)case 1:tock_Exchange_Market();)getch();();break;)case 2:tock_code,share_code)=0)( -flag=1;cout确定(y/n);cinch;if(ch=y)(sharei.hang=1;(share);cout已挂起.endl;coutendl;break;)else if (ch=n)cout取消!endl;else cout错误!endl;)else i+;if(i=MAX)(cout您输入的代码错误!endl;

22、 break;)getch();)void Stock:Un_Hang_Stock()tock_code,share_code)=0)(flag=1;cout确定(y/n);cinch;if(ch=y)(sharei.hang=O;(share);cout已恢复.endl;coutendl;break;)else if (ch=n)cout取消!endl;else cout 错误!endl;)else i+;if(i=MAX)cout 您输入的代码错误 !endl;break;getch();void Stock:Delete_Stock()char ch,share_code6;cout 输

23、入删除股票代码:;(share_code,6);i=0;flag=0;if(strcmp(share_code,)!=0)tock_code,share_code)=0) flag=1;coutch;if(ch=y)+=sharei.shangshi*i;=sharei.shangshi*i;i=0;strcpy(sharei.stock_name,);strcpy(sharei.stock_code,);strcpyi,);strcpyi,);num_of_stock-;sharei.stock_volume=0;sharei.volume_available=0;sharei.shangshi=0;sharei.faxing=0;(share);ofstream data,ios:b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论