- #ifndef FILE_H
- #define FILE_H
- #include <iostream>
- #include<ctime>
- using namespace std;
- static double sum_money=10000;
- class Stock//主函数
- {
- public:
- int type;
- Stock(){}
- ~Stock(){}//析构函数
- void rand1();//虚函数
- void show();
- void show1();
- void add(int numadd=0);
- void cut(int numcut=0);
- void display();
- };
- class Stock1 : public Stock//子函数Stock1,控制王氏集团公司股票
- {
- public:
- Stock1(){
- type=1;
- shares_num1=0;//股票数量
- }
- ~Stock1(){}
- void rand1()//产生随机数40-60代表王氏集团股票当前价值
- {
- srand((unsigned)time(NULL));
- current_price1=rand()%20+ 40;//股票当前价值
- }
- void add(int numadd=0)//控制股票购买函数
- {
- if(sum_money>=numadd*current_price1)
- {
- shares_num1+=numadd;
- sum_money=sum_money-numadd*current_price1;
- }
- else cout<<"对不起,您的账户余额不足。"<<endl;
- }
- void cut(int numcut=0)//控制抛出购买函数
- {
- if(numcut<=shares_num1)
- {
- shares_num1-=numcut;
- sum_money+=numcut*current_price1;
- }
- else cout<<"对不起,您的股票总量为"<<shares_num1<<",您的操作不能执行"<<endl;
- }
- void show ()//控制提醒股票价值函数
- {
- cout<<"您所持有王氏集团的股票数量是:"<<shares_num1<<" 当前的此股票价格为:"<<current_price1<<" 是否继续:1 Yes 2 No"<<endl;
- }
- void show1(){
- cout<<"您所持有王氏集团的股票数量是:"<<shares_num1<<endl;//控制股票查询函数
- }
- protected:
- int shares_num1;
- int current_price1;
- int numadd;
- int numcut;
- };
- class Stock2 : public Stock//子函数Stock2,控制微软公司股票
- {
- public:
- Stock2(){
- type=2;
- shares_num2=0;
- }
- ~Stock2(){}
- void rand1()//产生随机数50-100代表微软股票当前价值
- {
- srand((unsigned)time(NULL));
- current_price2=rand()%50+50;
- }
- void add(int numadd=0){
- if(sum_money>=numadd*current_price2)
- {
- shares_num2+=numadd;
- sum_money=sum_money-numadd*current_price2;
- }
- else cout<<"对不起,您的账户余额不足。"<<endl;
- }
- void cut(int numcut=0){
- if(numcut<=shares_num2)
- {
- shares_num2-=numcut;
- sum_money+=numcut*current_price2;
- }
- else cout<<"对不起,您的股票总量为"<<shares_num2<<",您的操作不能执行"<<endl;
- }
- void show (){
- cout<<"您所持有微软的股票数量是:"<<shares_num2<<" 当前的此股票价格为:"<<current_price2<<" 是否继续:1 Yes 2 No"<<endl;
- }
- void show1(){
- cout<<"您所持有微软的股票数量是:"<<shares_num2<<endl;
- }
- protected:
- int shares_num2;
- int current_price2;
- int numadd;
- int numcut;
- };
- class Stock3 : public Stock//子函数Stock3,控制谷歌公司股票
- {
- public:
- Stock3(){
- type=3;
- shares_num3=0;
- }
- ~Stock3(){}
- void rand1()//产生随机数60-80代表谷歌股票当前价值
- {
- srand((unsigned)time(NULL));
- current_price3=rand()%20+60;
- }
- void add(int numadd=0){
- if(sum_money>=numadd*current_price3)
- {
- shares_num3+=numadd;
- sum_money=sum_money-numadd*current_price3;
- }
- else cout<<"对不起,您的账户余额不足。"<<endl;
- }
- void cut(int numcut=0){
- if(numcut<=shares_num3)
- {
- shares_num3-=numcut;
- sum_money+=numcut*current_price3;
- }
- else cout<<"对不起,您的股票总量为"<<shares_num3<<",您的操作不能执行"<<endl;
- }
- void show (){
- cout<<"您所持有谷歌的股票数量是:"<<shares_num3<<" 当前的此股票价格为:"<<current_price3<<" 是否继续:1 Yes 2 No"<<endl;
- }
- void show1(){
- cout<<"您所持有谷歌的股票数量是:"<<shares_num3<<endl;
- }
- protected:
- int shares_num3;
- int current_price3;
- int numadd;
- int numcut;
- };
- void Stock::display()
- {
- int command,type,numadd,numcut,i,j=1;
- Stock1 W;
- Stock2 WR;
- Stock3 G;
- do//控制整个系统循环
- {
- if(j==1)
- {
- cout<<"欢迎进入股票模拟系统,请选择:"<<endl;
- cout<<"0 返回主菜单 1 购买股票 2 抛出股票 3 查看股票 4 查询账户余额 5 帮助"<<endl;
- }
- else
- {
- cout<<"请继续:"<<endl;
- cout<<"0 返回主菜单 1 购买股票 2 抛出股票 3 查看股票 4 查询账户余额 5 帮助"<<endl;
- }
- cin>>command;
- switch(command)//主菜单命令转换
- {
- case 1:
- {
- cout<<"请选择:"<<endl;
- cout<<"1 王氏集团 2 微软 3 谷歌"<<endl;
- cin>>type;
- switch(type)//购买菜单命令转换
- {
- case 1:
- W.rand1();
- W.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入购买数量:"<<endl;
- cin>>numadd;
- W.add(numadd);
- break;
- }
- else break;
- case 2:
- WR.rand1();
- WR.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入购买数量:"<<endl;
- cin>>numadd;
- WR.add(numadd);
- break;
- }
- else break;
- case 3:
- G.rand1();
- G.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入购买数量:"<<endl;
- cin>>numadd;
- G.add(numadd);
- break;
- }
- else break;
- }
- break;
- }
- case 2:
- {
- cout<<"请选择:"<<endl;
- cout<<"1 王氏集团 2 微软 3 谷歌"<<endl;
- cin>>type;
- switch(type)//抛出菜单命令转换
- {
- case 1:
- W.rand1();
- W.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入抛出数量:"<<endl;
- cin>>numcut;
- W.cut(numcut);
- break;
- }
- else break;
- case 2:
- WR.rand1();
- WR.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入抛出数量:"<<endl;
- cin>>numcut;
- WR.cut(numcut);
- break;
- }
- else break;
- case 3:
- G.rand1();
- G.show();
- cin>>i;
- if(i==1)
- {
- cout<<"请输入抛出数量:"<<endl;
- cin>>numcut;
- G.cut(numcut);
- break;
- }
- }
- break;
- }
- case 3:
- cout<<"请选择:"<<endl;
- cout<<"1 王氏集团 2 微软 3 谷歌 4 全部"<<endl;
- cin>>type;
- switch(type)//查询菜单命令转换
- {
- case 1:
- W.show1();
- break;
- case 2:
- WR.show1();
- break;
- case 3:
- G.show1();
- break;
- case 4:
- W.show1();
- WR.show1();
- G.show1();
- break;
- }
- break;
- case 4:
- cout<<"您的账户余额为:"<<sum_money<<endl;
- break;
- case 5:
- cout<<"在游戏开始时你有一万元总额,可以用来购买所有公司股票,有三家公司可供你选择。"<<endl;
- cout<<"在你购买和抛出股票时,系统会告诉你你所要购买购票的当前价格"<<endl;
- cout<<endl;
- break;
- }
- j++;
- }
- while(command!=0);
- };
- #endif // FILE_H
- //该片段来自于http://www.codesnippet.cn/detail/200120148571.html
来源: http://www.codesnippet.cn/detail/200120148571.html