收藏 分享(赏)

VC++课程设计-股票交易系统.doc

上传人:精品资料 文档编号:10126242 上传时间:2019-10-12 格式:DOC 页数:28 大小:128.50KB
下载 相关 举报
VC++课程设计-股票交易系统.doc_第1页
第1页 / 共28页
VC++课程设计-股票交易系统.doc_第2页
第2页 / 共28页
VC++课程设计-股票交易系统.doc_第3页
第3页 / 共28页
VC++课程设计-股票交易系统.doc_第4页
第4页 / 共28页
VC++课程设计-股票交易系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

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

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

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

4、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 *, char *,Custome

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

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

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

8、e holding code5 改为 char share holding code55等) 。在类中方法中涉及到查询处添加打印股票清单细明项目:(for(i=0;i#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;/股票发行价,上市价char stock_name20;/股票名称char stock_c

9、ode6;/股票代 码char choice;/Interface()下选择int hang;/是否挂起(1 为是,0 为否)long int stock_volume;/股票总股数long int volume_available;/股票可流通量public:Stock();void Hang_Up_Stock();/挂起股票void Un_Hang_Stock();/解挂股票void Modify_Stock(Stock );/修改股票void Delete_Stock();/删除股票void Interface();/选择面板void Stock_Exchange_Market();/显

10、示信息void Switch_choice();/选择 服务void Input_For_New_Stock();/加入新股票void Market_Analysis();/市场分析void Save(Stock);/保存修改friend class Customer;class Customerfriend class Stock;private:int gly;/是否管理员char customer_name30;/用户名char password10;/密码char share_holding_name530;/持有股票名称char share_holding_code55;/持有股票代

11、码long int share_holding_value5;/持有股票数量double money,shzh,zzch;/现 金余额,市值,总资产public:Customer();void Log_in(char *) const;/登录void Register(Customer *);/注册void Stock_Portfolio() const; / Portfolio-有价证券;Stock temp,shareMAX;/全局变量,声明股票对象Customer cust;/声明用户对象,全局变量/Customer 构造Customer:Customer()strcpy(Custome

12、r:customer_name,“);for(i=0;izzch;shzh=0;money=zzch;coutch;if(ch=y|ch=Y)gly=1;coutch;if(ch!=1)elseswitch(ch)case 3: /加入新股票if(cust.gly=1)for(i=0;ivolume;a=cin.rdstate();while(a)/判断输入是否为 整数cin.clear();cin.getline(str,20);coutvolume;a=cin.rdstate();if(sharei.volume_available=volumestrncpy(cust.share_hol

13、ding_namei,sharei.stock_name,30);strcpy(cust.share_holding_codei,sharei.stock_code);sharei.volume_available=sharei.volume_available-volume;cust.money-=sharei.shangshi*volume;cust.shzh+=sharei.shangshi*volume;system(“cls“);coutvolume;a=cin.rdstate();while(a)cin.clear();cin.getline(str,20);coutvolume;

14、a=cin.rdstate();if(cust.share_holding_valuei=volume)cust.share_holding_valuei=cust.share_holding_valuei-volume;sharei.volume_available=sharei.volume_available+volume;cust.money+=sharei.shangshi*volume;cust.shzh-=sharei.shangshi*volume;system(“cls“);coutchoice;if(choice!=1)temp.Interface();elseSwitch

15、_choice();void Stock:Switch_choice()char pass_word10;switch(choice)case 1:/进入股票交易市 场system(“cls“);coutcust.customer_name;cin.get();ifstream read_customer(cust.customer_name);/读已有数据while(!read_customer.eof()/判断是否有记录read_customer.read(char*)(if(read_customer.fail()coutstock_volume;coutfaxing;cin.get()

16、;volume_available=stock_volume;num_of_stock+;srand(time(NULL);/随机生成股票上市价shangshi=(rand()%3+1)*faxing+rand()%1000/10;void Stock:Stock_Exchange_Market()coutch;if(ch=y)sharei.hang=1;temp.Save(share);coutch;if(ch=y)sharei.hang=0;temp.Save(share);coutch;if(ch=y)cust.money+=sharei.shangshi*cust.share_hold

17、ing_valuei;cust.shzh-=sharei.shangshi*cust.share_holding_valuei;cust.share_holding_valuei=0;strcpy(sharei.stock_name,“);strcpy(sharei.stock_code,“);strcpy(cust.share_holding_namei,“);strcpy(cust.share_holding_codei,“);num_of_stock-;sharei.stock_volume=0;sharei.volume_available=0;sharei.shangshi=0;sh

18、arei.faxing=0;temp.Save(share);ofstream data(cust.customer_name,ios:binary);data.write(char*)(break;else if (ch=n)cout“取消!“endl;else cout“错误!“endl;else i+;while(i=MAX)cout“您输 入的代码错误!“endl;break;else cout“输入错误!“;cin.get();void Stock:Modify_Stock(Stock t)flag=0;int x=0;char share_code6;char share_name

19、6;cin.clear();cout“输入原代 码“endl;cin.getline(share_code,6);if(strcmp(share_code,“)!=0)/当输入回车时报错while(xMAX)break;elsecin.clear();flag=1;cout“输入新股名(XX_XXX):“endl;cin.getline(share_name,7);strcpy(tx.stock_name,share_name);cin.get();cout“输入新代码“;coutendl;cin.getline(share_code,7);strcpy(tx.stock_code,share

20、_code);temp.Save(t);else x+;if (x=MAX)cout“股票不存在 !“endl;cout“按任意 键返回.“endl;getch();else cout“输入错误!“;cin.get();void Stock:Save(Stock t)ofstream write_data(“Stock_File.dat“);for(i=0;iMAX;i+)write_data.write(char*)(void main()Stock temp;ifstream dataFile(“Stock_File.dat“); /读取股票数据dataFile.read(char*)(temp.Interface();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报