股票交易系统.docx
- 文档编号:17403670
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:23
- 大小:19.85KB
股票交易系统.docx
《股票交易系统.docx》由会员分享,可在线阅读,更多相关《股票交易系统.docx(23页珍藏版)》请在冰点文库上搜索。
股票交易系统
/*第3题股票交易系统--源代码及关键源代码注解如下:
*/
#include
#include
#include
#include
#include
#include
#defineMAX5
classStock
{
friendclassCustomer;
private:
charstock_name[20];
charstock_code[6];
charcode_for_analysis[6];
charchoice;
intnum_of_stock;
longintstock_volume;
longintvolume_available;
public:
Stock();
voidInterface();
voidStock_Exchange_Market();
voidSwitch_choice();
voidInput_For_New_Stock();
voidMarket_Analysis();
};
classCustomer
{
private:
charcustomer_name[30];
charpassword[10];
charshare_holding_name[30];
charshare_holding_code[5];
longintshare_holding_value;
public:
Customer();
voidLog_in(char*,Customer)const;
voidRegister(Customer*);
voidStock_Portfolio(Customer)const;//Portfolio--有价证券
voidSwitch_function();
};
Customer:
:
Customer()
{
strcpy(Customer:
:
customer_name,"");
strcpy(Customer:
:
share_holding_name,"");
strcpy(Customer:
:
share_holding_code,"");
share_holding_value=0;
}
voidCustomer:
:
Log_in(char*password,Customercust)const
{
ifstreamread_customer("customer.dat");
while(!
read_customer.eof())
{
read_customer.read((char*)(&cust),sizeof(cust));
if(read_customer.fail())
{
cout<<"Norecordatall!
";
break;
}
if(strcmp(password,cust.password)==0)
Stock_Portfolio(cust);
}
read_customer.close();
}
voidCustomer:
:
Register(Customer*cust)
{
system("cls");//执行系统命令:
清屏=cls
cin.get();
cout<<"Welcometo*********************StockExchangeSystem"< cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Enterusername: "; cin.getline(customer_name,30); cout<<"Enteryourownpassword(lessthan8words): "; cin>>password; cin.get(); system("cls"); cout< cout<<"Youraccounthavebeenregistered..."< cout<<"Pressanykeytoproceed..."< getch(); } voidCustomer: : Stock_Portfolio(Customercust)const { Stockshare[MAX],temp; Customers[MAX]; inti; charch,share_code[6]; longintvolume; start: system("cls"); cout< cout<<"\t\t\tWelcomeBack! ! ! ! ! "< cout<<"\t\t********************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"\t\tUser: "< cout<<"\t\tBuyShares..........................[b]"< cout<<"\t\tSellShares.........................[s]"< cout<<"\t\tViewPortFolio......................[p]"< cout<<"\t\tLogOut.............................[l]"< cout< "; cin>>ch; if((ch! ='p')&&(ch! ='b')&&(ch! ='s')&&(ch! ='l')) gotostart; else { switch(ch) { case'b': { system("cls"); cout<<"\n\n\t\t*******************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Company\t\tCode\tIssuedVolume\tVolumeAvailable"< cout<<"~~~~~~~\t\t~~~~\t~~~~~~~~~~~~~\t~~~~~~~~~~~~~~~~\t"< ifstreamdataFile("Stock_File.dat");//Subjecttochange dataFile.read((char*)(&share),sizeof(share)); ifstreamdataFile_for_share(cust.customer_name);//Subjecttochange dataFile_for_share.read((char*)(&s),sizeof(s));//openfilefors[x] for(i=0;i { share[i].Stock_Exchange_Market(); } cin.get(); cout< "; cin.getline(share_code,6); cout<<"Enterthevolumetopurchase: "; cin>>volume; cin.get(); i=0; while((strcmp(share[i].stock_code,share_code)==0)||(i { if(strcmp(share[i].stock_code,share_code)==0) { if(share[i].volume_available>volume) { s[i].share_holding_value=s[i].share_holding_value+volume;//custchangetos[x] strncpy(s[i].share_holding_name,share[i].stock_name,30);//custchangetos[x] strcpy(s[i].share_holding_code,share[i].stock_code);//custchangetos[x] share[i].volume_available=share[i].volume_available-volume; ofstreamdataFile(cust.customer_name,ios: : binary);//Subjecttochange for(i=0;i<5;++i) { dataFile.write((char*)(&s[i]),sizeof(s[i])); }//createorsavefileforalltransactions ofstreamfile("Stock_File.dat"); for(i=0;i<5;++i) { file.write((char*)(&share[i]),sizeof(share[i])); } break; } else { cout<<"Volumeavailablefor"< <<"islessthanthevolumeyouwanttopurchase."< cout<<"Transactioncancel..."; getch(); break; } } else { i++; while(i==MAX) { cout<<"Thecodeyoutypemaybewrong..."< cout<<"Transactioncancel..."; getch(); break; } } } break; } case's': { system("cls"); ifstreamdataFile_for_share(cust.customer_name);//Subjecttochange dataFile_for_share.read((char*)(&s),sizeof(s));//openfilefors[x] ifstreamdataFile("Stock_File.dat");//Subjecttochange dataFile.read((char*)(&share),sizeof(share)); cout<<"\t\t********************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Company\t\tCode\tVolumeHolding"< cout<<"~~~~~~~\t\t~~~~\t~~~~~~~~~~~~~~\t"< for(inti=0;i { cout<<""< <<"\t"< } cin.get(); cout< "; cin.getline(share_code,6); cout<<"Enterthevolumetosell: "; cin>>volume; cin.get(); i=0; while((strcmp(share[i].stock_code,share_code)==0)||(i { if(strcmp(share[i].stock_code,share_code)==0) { if(s[i].share_holding_value>volume) { s[i].share_holding_value=s[i].share_holding_value-volume; //custchangetos[x] share[i].volume_available=share[i].volume_available+volume; ofstreamdata(cust.customer_name,ios: : binary);//Subjecttochange for(i=0;i<5;++i) { data.write((char*)(&s[i]),sizeof(s[i])); }//createorsavefileforalltransactions ofstreamfile("Stock_File.dat"); for(i=0;i<5;++i) { file.write((char*)(&share[i]),sizeof(share[i])); } } else { cout<<"Youdonhavesomuchvolumetosell,"; cout<<"oryoudidnotbuythissharebefore."< cout<<"Transactioncancel..."< break; } } else { i++; while(i==MAX) { cout<<"Youdidnotbuythisshareoryouhavetypeinwrongsharecode."< cout<<"Transcationcancel..."; break; } } } getch(); break; } case'p': { system("cls"); ifstreamdataFile_for_share(cust.customer_name);//Subjecttochange dataFile_for_share.read((char*)(&s),sizeof(s));//openfilefors[x] cout<<"\t\t********************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Company\t\tCode\tVolumeHolding"< cout<<"~~~~~~~\t\t~~~~\t~~~~~~~~~~~~~~\t"< for(inti=0;i { cout<<""< <<"\t"< } getch(); break; } case'l': { Stocks; s.Interface(); } } gotostart; } } Stock: : Stock() { num_of_stock=0; volume_available=stock_volume; strcpy(Stock: : code_for_analysis,""); } voidStock: : Interface() { start: system("cls"); cout<<"\n\n\t\t********************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"\t\tViewStockExchangeMarket......[m]"< cout<<"\t\tLoginforexistinguser.........[i]"< cout<<"\t\tRegisterfornewuser...........[r]"< cout<<"\t\tMarketanalysis.................[v]"< cout<<"\t\tQuitthisprogram...............[q]"< cout< "; cin>>choice; if((choice! ='m')&&(choice! ='i')&&(choice! ='r')&&(choice! ='v')&&(choice! ='a')&&(choice! ='q')) { system("cls"); gotostart; } else Switch_choice(); } voidStock: : Switch_choice() { Stocktemp,s[MAX]; Customerc1; charpass_word[10]; switch(choice) { case'm': { system("cls"); cout<<"\n\n\t\t********************StockExchangeSystem"< cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Company\t\tCode\tIssuedVolume\tVolumeAvailable"< cout<<"~~~~~~~\t\t~~~~\t~~~~~~~~~~~~~\t~~~~~~~~~~~~~~~~\t"< ifstreamdataFile("Stock_File.dat");//Subjecttochange dataFile.read((char*)(&s),sizeof(s)); for(intx=0;x<5;++x) { s[x].Stock_Exchange_Market(); } getch(); temp.Interface(); break; } case'i': { system("cls"); cout< cin.get(); cout<<"********************StockExchangeSystem"< cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"< cout<<"Accountpassword: "; cin>>pass_word; cin.get(); c1.Log_in(pass_word,c1); temp.Interface(); break; } case'r': { system("cls"); cout<<"OpenNewAccount"< cout<<"~~~~~~~~~~~~~~~~"< c1.Register(&c1); ofstreamwrite_customer("customer.dat",ios: : app); write_customer.writ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 股票交易 系统