股票交易系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
股票交易系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
股票交易系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
股票交易系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
股票交易系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、赫別:-股臀易系統(tǒng)設(shè)計(jì)程選擇這個(gè)程序,我主要考慮到以下方面的原因:本程序難度較大,在編寫(xiě)程序的過(guò)程當(dāng)中可以更加深刻地理解 VC+ 當(dāng)中的相關(guān)知 識(shí)點(diǎn),可以更好地通過(guò)實(shí)踐了解編程的內(nèi)涵。該課題所涉及到的內(nèi)容和實(shí)際生活聯(lián)系比較緊密,所以編寫(xiě)此程序意義較大。該課題是管理系統(tǒng)方面的小型程序,這類(lèi)程序可以不斷地?cái)U(kuò)充新的內(nèi)容新的功能, 可塑性高, 實(shí)用性好,有很好的實(shí)際意義。程序設(shè)計(jì)要求: 本程序要求改變數(shù)據(jù)結(jié)構(gòu),每個(gè)用戶的數(shù)據(jù)庫(kù)中要增加現(xiàn)金數(shù)成員。 要求增加股票交 易系統(tǒng)的接口設(shè)計(jì): a. Add New Stock( ) 增加新的股票; b. Delete OldStock( ) 刪除舊的股票; c.

2、 Hang Up Stock( ) 掛起股票,停止交易; d. Modify Stock (Stock ) 修 改股票的 名稱(chēng)代碼。要求的以上的修改都要輸入密碼,在輸入正確的密碼之后才能夠進(jìn)入數(shù)據(jù) 庫(kù)進(jìn)行修改。將股票數(shù)據(jù)的處理由數(shù)組變成鏈表,可以處理多只股票的交易,鏈表一交易代碼的序號(hào)進(jìn)行排序。 程序功能介紹: 股票交易系統(tǒng)是一個(gè)小型的管理程序,在這個(gè)系統(tǒng)里,可以管理至多 5 只股票的交易。 首 先用戶要注冊(cè),注冊(cè)完后方可登陸。在登陸的界面中,管理員登陸后可以刪減股票,掛起股票, 解掛股 票等等,通過(guò)這些功能來(lái)管理股票。同時(shí),用戶還可以查看股票情況,幫助自己進(jìn)行股 票的有效交易。股票 的市場(chǎng)情

3、況可根據(jù)用戶的使用情況而隨之變化。程序完成過(guò)程:、 粗讀程序 第一遍看程序時(shí),發(fā)現(xiàn)程序太長(zhǎng)了,只是對(duì)整個(gè)程序有一個(gè)大致的了解。程序的主要功能 是實(shí)現(xiàn)用戶對(duì)股票操作系統(tǒng)的自主可視操作,本完成用戶和股票數(shù)據(jù)的存儲(chǔ),實(shí)現(xiàn)反復(fù)操作。 程序主要通過(guò)類(lèi)來(lái)完成功能,涉及到數(shù)組及輸入輸出流的使用。在主函數(shù)中調(diào)用類(lèi)中方法,實(shí) 現(xiàn)頁(yè)面中的轉(zhuǎn)換,對(duì)數(shù)據(jù)進(jìn) 行處理。一開(kāi)始有一點(diǎn)畏難情緒。、 細(xì)讀程序 以下對(duì)程序中類(lèi)及其函數(shù)進(jìn)行分析Stock 類(lèi):存放股票數(shù)據(jù),類(lèi)中方法對(duì)股票進(jìn)行各項(xiàng)操作。 Void Hang Up Stock( ) ;/ 掛起股票 void UnHang Stock(); / 解掛股票 void Mo

4、dify Stock(Stock ); / 修改股票 void Delete Stock(); / 刪除股票 void Interface();/ 選擇面板 void Stock Exchange Market(); / 顯示信息 void Switch choice(); / 選擇服務(wù) void Input For New Stock(); / 加入新股票 void Market Analysis(); / 市場(chǎng)分析 void Save(Stock); / 保存 修改Customer 類(lèi):存放用戶信息,類(lèi)中方法對(duì)用戶進(jìn)行各項(xiàng)操作。Customer 。 ;/ 對(duì)用戶初始化 void Log i

5、n(char *, char *,Customer) const; / 登錄void Register(Customer *); / 注冊(cè)void Stock Portfolio(Customer) con st; / Portfolio-有價(jià)證券 程序功能為對(duì)用戶的指令進(jìn)行處理, 模擬股市的操作,完成對(duì)股票和對(duì)用戶的修改及存檔。 在認(rèn)清設(shè)計(jì)方向的基礎(chǔ)上, 反復(fù)細(xì)讀程序,我分析了 Stock 和 Customer類(lèi)下數(shù)據(jù)與成員函 數(shù)的功能。程序反復(fù)聲明了 Stock 和 Customer 類(lèi)的同一對(duì)象,浪費(fèi)了系統(tǒng)資源; 在一些函數(shù)調(diào)用中也存在缺陷,比如存在In put_For_New_Stoc

6、k() 方法,但是只有在第一次使用是才會(huì)調(diào)用,根據(jù)密碼進(jìn)行登錄,數(shù)據(jù)的空 間,無(wú)法達(dá)Customer 類(lèi)中原有 Switch_function () 也沒(méi)有調(diào)用。在用戶選擇登錄時(shí),無(wú)法辨別用戶名,只當(dāng)遇到密碼相同的用戶時(shí),就分不清楚用戶。密碼是顯示輸入的不能有效 的受到保護(hù)。由于這是個(gè)小程序,數(shù)據(jù)通過(guò)數(shù)組存儲(chǔ),而不是通過(guò)指針,這使程序方便易懂,但限制了到指針鏈表所能實(shí)現(xiàn)的不定長(zhǎng)度存儲(chǔ)。但是從現(xiàn)階段的使用來(lái)看指針鏈表 的形式過(guò)于麻煩反而 會(huì)造成程序過(guò)度的復(fù) 雜。現(xiàn)對(duì)系統(tǒng)進(jìn)行操作分析:首先進(jìn)入界面,進(jìn)行用戶識(shí)別,在這里用戶可以查看市場(chǎng)信息、 注冊(cè)新用 戶、登錄用戶和分析股票。然后若登錄,顯示下一股

7、票操作界面,選其他有相應(yīng)操作。 在股票操作界面 中,有買(mǎi)入、賣(mài)出、添加新股票、掛出股票 , 恢復(fù)交易、刪除已有股、掛起股票 : 停止交易、修改代碼及名稱(chēng)、查看等操作選擇,用戶可根據(jù)提示,完成相應(yīng)操作。其中添加新股票、掛出 股票 , 恢復(fù)交易、刪除已有股、掛起股票 , 停止交易、修改代碼及名稱(chēng)操作只對(duì)管理員開(kāi)放。3、修改程序首先,將重復(fù)聲明的 Stock和Customer類(lèi)對(duì)象刪除,使用Stock類(lèi)的全局對(duì)象temp和shareMAX及Customer類(lèi)的全局對(duì)象 cust來(lái)實(shí)現(xiàn)數(shù)據(jù)的反復(fù)讀取和存儲(chǔ),并修改因此引起的變動(dòng)(如將Customer 類(lèi)中的 char share holding nam

8、e 30 改為 char share holding name530; char share holdingcode5 改為 char share holding code55等)。在類(lèi)中方法中涉及到查詢(xún)處添加打印股票清單細(xì)明項(xiàng)目:(for(i=O;iMAX;+i) sharei.Stock Excha n ge_Market(); 一 一 )。修改已存在的In put For New Stock(),使其可在空位置存儲(chǔ)新股票信息。對(duì)于新的函數(shù)的增加完成情況:新增加的函數(shù)完成的情況Input For New Stock() 添加新股票一-先對(duì)股票數(shù)據(jù)進(jìn)行讀取,顯示股票年息,提不輸入股票代碼,考

9、慮到輸入流讀取時(shí)會(huì)出現(xiàn)的一些錯(cuò)誤,如輸入回車(chē),輸入錯(cuò)誤代碼等,我對(duì)程序加入了一些代碼,從而解決這些異常。然后調(diào)用In put For New Stock(),提不輸入股票的名稱(chēng)、代碼、流通股數(shù)量、發(fā)行價(jià),同時(shí)隨機(jī)生成股票上市價(jià)。最后,在Stock File.dat的空位置插入存儲(chǔ)新股票信息。Delete_Stock()刪除舊股票先對(duì)股票數(shù)據(jù)進(jìn)行讀取,顯示股票彳百息。然后調(diào)用Delete_Stock(),提示輸入要?jiǎng)h除的股票代碼,同樣考慮到輸入流讀取時(shí)會(huì)出現(xiàn)的一些錯(cuò)誤,如輸入回車(chē),輸入錯(cuò)誤代碼等,我加入了一些代碼,從而解決這些異常。最后,存儲(chǔ) 修改后的指息。Ha ng Up Stock()掛起股

10、票,停先對(duì)股票數(shù)據(jù)進(jìn)行讀取,顯示股票信息。然后止交易調(diào)用Ha ng Up Stock(),提示輸入要掛起的股票代碼,同樣考慮到輸入流讀取時(shí)會(huì)出現(xiàn)的一些錯(cuò)誤,如輸入回車(chē),輸入錯(cuò)誤代碼等,我加入了一些代碼,從而解決這些異常。最后,存儲(chǔ)修改后的年息。Modify_Stock()修改股票的名稱(chēng)、代碼先對(duì)股票數(shù)據(jù)進(jìn)行讀取,顯示股票彳百息。然后調(diào)用ModifyStock(),提示輸入要修改的股票代碼,同樣考慮到輸入流讀取時(shí)會(huì)出現(xiàn)的一些錯(cuò)誤,如輸入回車(chē),輸入錯(cuò)誤代碼等,我加入了一些代碼,從而解決這些異常。最后,存儲(chǔ)修改后的年息。修改后的結(jié)果存入 Stock_File.dat。通過(guò)stock成員函數(shù)Save

11、()來(lái)實(shí)現(xiàn)此要求。程序創(chuàng)新:在程序設(shè)計(jì)要求外我添加了Un_Hang_Stock()解掛股票,恢復(fù)交易。先對(duì)股票數(shù)據(jù)進(jìn)行讀取,顯示股票信息。然后調(diào)用Un_Hang_Stock(),提示輸入要解掛的股票代碼,同樣考慮到輸入流讀取時(shí)會(huì)出現(xiàn)的一些錯(cuò)誤,如輸入回車(chē),輸入錯(cuò)誤代碼等,我加入了一些代碼,從而解決這些異常。最后,存儲(chǔ)修改后的信息。加入股票發(fā)行價(jià)、上市價(jià)和帳戶總資產(chǎn)、余額、市值等數(shù)據(jù),并進(jìn)行計(jì)算、輸出等操作,加強(qiáng)系統(tǒng)功能,使系統(tǒng)更實(shí)用、逼真。程序調(diào)試分析:用戶類(lèi)為股票類(lèi)的友元類(lèi)實(shí)現(xiàn)對(duì)股票類(lèi)的調(diào)用用戶類(lèi)登陸函數(shù).是否有記錄.核對(duì)用戶,密碼注冊(cè)函數(shù)1輸入用戶名2輸入密碼3是否設(shè)置為管理員用戶交易主界

12、面函數(shù)實(shí)現(xiàn)與股票類(lèi)中的管理函數(shù)相連接股票類(lèi)主界面函數(shù)(進(jìn)入交易系統(tǒng))顯示彳口息股票操作函數(shù)1買(mǎi)入2買(mǎi)出3添加新股票4掛出股票恢復(fù) 交 易5刪除股票6掛起股票7修改代碼名稱(chēng)8查看9退出保存股票信息函數(shù)實(shí)現(xiàn)對(duì)股票文件的保存程序先進(jìn)行用戶注冊(cè)才能夠進(jìn)入用戶交易的主界面,在主菜單下只能看到股票信息不能操作買(mǎi)賣(mài)。登陸后方能實(shí)現(xiàn)對(duì)股票的操作,進(jìn)一步如果是管理員可以修改股票信息改變股票交易狀態(tài)??偨Y(jié) (編程心得 ) :通過(guò)本課題,我復(fù)習(xí)了類(lèi)和數(shù)組,更好的掌握了類(lèi)間函數(shù)調(diào)用的關(guān)系以及如何實(shí)現(xiàn)類(lèi)間復(fù) 雜的相關(guān)調(diào)用。同時(shí),我學(xué)習(xí)了輸入輸出流的使用,懂得了如何從特定的地址讀取數(shù)據(jù),如何正確將信息存儲(chǔ)到特定的位置。此

13、外,在調(diào)試的過(guò)程中我還碰到了一些問(wèn)題,運(yùn)行時(shí)經(jīng)常出現(xiàn)一些意料之外的輸出或無(wú)法輸出預(yù)想的結(jié)果,癥結(jié)在于沒(méi)有合理的使用 break 、 getch() cin.get() 等一些編程課本上未學(xué)過(guò)的函數(shù)。 最后,通過(guò)翻閱資料與上機(jī)實(shí)踐終于解決了這些問(wèn) 題。通過(guò)閱讀本課題的程序,我掌握了一些閱讀程序的技巧,培養(yǎng)了認(rèn)真閱讀程序的好習(xí)慣, 并能夠從較長(zhǎng)的程序中找到程序的核心實(shí)現(xiàn)部分。此次課程設(shè)計(jì)讓我借此契機(jī)加深領(lǐng)悟了 C+ 勺內(nèi)涵,讓我對(duì)編程有了實(shí)質(zhì)性的了解和大致掌握, 在不斷思考與上機(jī)調(diào)試的過(guò)程中, 培養(yǎng)自己的耐心, 也培養(yǎng)了自己的意志。 最終, 終于 完成了課程 設(shè)計(jì)的任務(wù)。關(guān)鍵源代碼及注解 ( 修改

14、后的代 碼用下劃線標(biāo)示)/* 股票交易系統(tǒng)-源代碼及關(guān)鍵源代碼注解如下:*/#in elude i nclude in clude in clude i nclude i nclude in clude defi ne MAX 5int i=O,j=O,Ha ng,flag;int nu m_of_stock;int gushu;class Customer;class Stockprivate:float faxing,shangshi;/ 股票 發(fā)行價(jià),上市價(jià)char stock_name20;/ 股票名稱(chēng)char stock_code6;/ 股票代碼char choice ;/ln te

15、rface( 下 選擇int hang;/ 是否掛起 ( 1 為是, 0 為否 )long int stock_volume;/ 股票總股數(shù)long int volume_available; 股票可流通量public:Stock();void Ha ng_Up_Stock();掛起股票void Un_Ha ng_Stock ()解 掛股票void Modify_Stock(Stock ); 修改股票void Delete_Stock();/ 刪除股票void In terface();/ 選擇面板void Stock_Excha nge_Market() 顯 / 示信息void Switch

16、_choice(); 選擇服務(wù)void In put_For_New_Stock() 加入新股票void Market_A nalysis(); 市場(chǎng)分析void Save(Stock); 保存修改friend class Customer;class Customer friend class Stock;private:int gly;/ 是否管理員char customer_name30;/ 用戶 名char password10;/ 密 碼char share_holding_name530; 持有股票名稱(chēng)char share_holding_code55; 持有股票代碼long in

17、t share_holding_value5 持有股票 數(shù)量 double money,shzh,zzch; 現(xiàn)金余額,市值,總資產(chǎn)public:Customer 。;void Log_ in( char *) con st;/ 登 錄void Register(Customer *);/ 注 冊(cè)void Stock_Portfolio() con st; / Portfolio 有價(jià)證券;Stock temp,shareMAX;/ 全局變量,聲明股票 對(duì)象 Customer cust;/ 聲明用戶對(duì)象,全局 變量 /Customer 構(gòu)造Customer:Customer() strcpy(

18、Customer:customer_ name,);for(i=0;iMAX;i+)strcpy(Customer:share_holdi ng_n amei,); strcpy(Customer:share_holdi ng_codei,); share_holdi ng_valuei=O;money=shzh=zzch=O;void Customer:Log_ in( char *pass_word) constif(strcmp(pass_word,password)=0 核對(duì)密碼 Stock_Portfolio();elsecoute ndl;cout 密碼錯(cuò)誤.endl;void C

19、ustomer:Register(Customer *cust)char ch;system(cls); / 執(zhí)行系統(tǒng)命令:清屏 =clscin .get(); cout 歡迎進(jìn)入*股票交易系統(tǒng)*”endl;coutAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*A*A*A*A*A*A*A*A*A*A*A*A*e n dlcout 輸入用戶名 :;cin. getl in e(customer_ name,30);coutvv輸入您的密碼(少于8字):endl; char ch;int i=0;cout.flush(); ch=getch();while(

20、ch!=13)passwordi+=ch;coutvv*;cout.flush();ch=getch(); passwordi=0; coute ndl;cout zzch;shzh=0;mon ey=zzch;cout 是否設(shè)為管理員 ?(y/n) ch; if(ch=y|ch=Y) gly=1;cout 已設(shè)置 .;else if(ch= n|ch=N)gly=0;elsecout 默認(rèn)為非管理員.;getch();system(cls);coute ndle ndl;cout 注冊(cè)成功 .endl;cout 按任意鍵返回.endl;getch();void Customer:Stock_

21、Portfolio() const/ 戶交易操作系 統(tǒng) int i,a;char ch,share_code 6 ,str20;start:long int volume;system(cls);coute ndle ndl;*couttttcouttt*couttt 歡迎使用 ! !endl;股票交易系統(tǒng)*endl;e ndl;couttt掛起股票買(mǎi)入 ,停止交易 .1endl;2endl;coutttcouttt賣(mài)出couttt添加新股票3endl;couttt掛出股票 ,恢復(fù)交易 .4endl;couttt刪除已有股5endl;couttte7endl;8endl;0endl;coutt

22、tcoutttcouttt修改代碼及名稱(chēng)查看退出內(nèi)容用戶 : cust.customer_nameendlendl;coutendl ch;if(ch!=1 )&(ch!=2)&(ch!=3)&(ch!=4)&(ch!=5)&(ch!=6)&(ch!=7) &(ch!=8 )&(ch!=0)goto start;else switch(ch) case 3: II 加入新股票if(cust.gly=1)for(i=0;iMAX;i+)if(strcmp(sharei.stock_name,)=0 在股票數(shù)據(jù)空處添加新的sharei.I nput_For_New_Stock();temp.Sav

23、e(share);/ 寫(xiě)數(shù)據(jù)getch();goto start;elsecoutvv 您無(wú)權(quán)添加股票 !” endl;getch();break;case 5: / 刪除股票if(cust.gly=1) system(cls);coutvvntt*股票交易系統(tǒng)*endl;e ndl;coutttcoutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) t 上市價(jià) endl; for(i=O;iMAX;+i)sharei.Stock_Excha n ge_Market();cin .get();temp.Delete_Stock();cin .get();break;elsecout

24、vv 您無(wú)權(quán)刪除股票 !vvendl;getch();break;case 4: / 解掛股票if(cust.gly=1)system(cls);coutnntt* 股票交易系統(tǒng)*endl; couttt e ndl;coutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) t 上市價(jià) endl; for(i=0;iMAX;+i) sharei.Stock_Excha nge_Market();cin .get();temp. Un_Han g_Stock();break;elsecoutvv 您無(wú)權(quán)恢復(fù)股票 !vvendl;getch();break;case 6: / 掛起股票i

25、f(cust.gly=1)system(cls);coutvvnntt* 股票交易系統(tǒng)*vvendl;coutvvtt vve ndl;coutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) t 上市價(jià) vvendl; for(i=0;ivMAX;+i) sharei.Stock_Excha nge_Market();cin .get();temp.Ha ng_Up_Stock() 進(jìn) 行 break;elsecout 您無(wú)權(quán)掛起股票 !endl;getch();break;case 7: 修改股票if(cust.gly=1)system(cls);coutnntt*股票交易系統(tǒng)*

26、endl;couttte ndl;coutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) t 上市價(jià) endl; for(i=0;iMAX;+i) sharei.Stock_Excha nge_Market();cin .get();temp.Modify_Stock(share);break;elsecoutvv 您無(wú)權(quán)掛起股票 !vvendl;getch();break;case 1:買(mǎi)入 system(cls);股票交易系統(tǒng)*endl; e ndl;A*A*Acoutnntt*couttt coutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) 上市價(jià)for(i=

27、0;iMAX;+i)sharei.Stock_Excha nge_Market( 顯示市場(chǎng)信息vve ndl狀態(tài)vvendl;coutvttAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcoutvv 持有股票市值t 可用資金 t 總資產(chǎn) vvendl; coutvvcust.shzhvvttvvcust.m on eyvvttvvcust.zzchvve ndl; cin .get();coutvvendlv 輸入您要購(gòu)買(mǎi)的股票代碼 : cin. getl in e(share_code,6);if(strcmp(share_code,)!=0) 當(dāng)輸入回車(chē)時(shí)

28、報(bào)錯(cuò)i=0;flag=0;while(ivMAX )&(!flag)if (strcmp(sharei.stock_code,share_code)=0)if(sharei.ha ng=1)cout vv 股票已掛起,停止交易 !vve ndl; break;elsegushu=in t(cust.m on ey/sharei.sha ngshi); coutvv 您最多可購(gòu) 買(mǎi):vvgushuvve ndl; flag=1;cout volume;a=ci n. rdstate();while(a)/ 判斷輸入是否為整數(shù) cin .clear();cin .getli ne(str,20);

29、coutvv 非法輸入 , 請(qǐng)重新輸入一整數(shù). volume;a=ci n.rdstate();if(sharei.volume_available=volume&cust.m on ey=volume*sharei.sha n gshi) /改 動(dòng) 各數(shù)據(jù)cust.share_holdi n g_valuei=cust.share_holdi n g_valuei+volume;strn cpy(cust.share_holdi ng_n amei,sharei.stock_ n ame,30); strcpy(cust.share_hold ing_codei,sharei.stock_c

30、ode); sharei.volume_available=sharei.volume_available-volume; cust.mon ey-=sharei.sha n gshi*volume;cust.shzh+=sharei.sha n gshi*volume;system(cls);cout 交易成功 !endl;coutvtt* * 股票交易系統(tǒng)*? endl;coutvve n dl;coutvvttvve ndl;coutvv 公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) 上市價(jià) 狀態(tài) vvendl; for(i=O;ivMAX;i+) coutvv vvsharei

31、.stock_ namevvtvvsharei.stock_codevvtvvsharei.stock_volumevvtvvcust.share_hold in g_valueivvtvvsharei.fax in gvvt vvsharei.sha ngshivvt vv(sharei.hang=0 未掛起 : 已掛起 )vvendl;coutvv 持有股票市值t 可用資金 t 總資產(chǎn) vvendl;coutvvcust.shzhvvttvvcust.m on eyvvttvvcust.zzchvve ndl; cin .get();ofstream dataFile (cust.cust

32、omer_ name,ios:b in ary);elsei+;dataFile.write(char*)(&cust),sizeof(cust); temp.Save(share);else if(sharei.volume_available=volume) coutsharei.stock_ name 口的可購(gòu)股量少于您所要。;coute ndl;cout 退出.;coute ndl;getch();system(cls); goto start;else if(cust.m on ey=volume*sharei.sha ngshi)while(i=MAX)cout 資金不足 !;co

33、ut 退出.;coute ndl;getch();system(cls);goto start;system(cls);coutvv您所輸入代碼錯(cuò)誤 endl;coutvv 退出 . vvendl;goto start;elsecoutvvendlv 輸入錯(cuò)誤 !;cin .get();break;case 2:coutvvcoutttsystem(cls);*couttt*股票交易系統(tǒng)*ye ndl;e n dl;公司 tt 代碼 t 流通股 t 可動(dòng)股 t 發(fā)行價(jià) 上市價(jià) 狀態(tài) endl; for(i=O;iMAX;i+)coutvv vvsharei.stock_ namevvtvvsh

34、arei.stock_codevvtvvsharei.stock_volumevvtvvcust.share_hold in g_valueivvtvvsharei.fax in gvvt vvsharei.sha ngshivvt vv(sharei.hang=0 未掛起 : 已掛起 ”) vvendl;A*A*A*A*A*A*vve ndlcoutvv持有股票市值t可用資金t總資產(chǎn)vvendl;coutvvcust.shzhvvttvvcust.m on eyvvttvvcust.zzchvve ndl;cin .get();coutvve ndlv 輸入所賣(mài)股代碼 :;cin. getl

35、 in e(share_code,6); if(strcmp(share_code,)!=0) i=0;flag=O;while(ivMAX )& 伸 ag)if (strcmp(sharei.stock_code,share_code)=0)if(sharei.ha n g=1)cout 股票已掛起,停止交易 !e ndl; break;else flag=1;cout volume;a=ci n. rdstate();while(a)cin .clear();cin .getli ne(str,20);coutvv 非法輸入 , 重新輸入一整數(shù). volume;a=ci n. rdstat

36、e();if(cust.share_holdi n g_valuei=volume)cust.share_holdi n g_valuei=cust.share_holdi n g_valuei-volume;sharei.volume_available=sharei.volume_available+volume; cust.m oney+=sharei.sha n gshi*volume;cust.shzh-=sharei.sha n gshi*volume; system(cls);coutvv 交易成功 !endl;coutvve n dl;股票交易系統(tǒng)*vve ndl;vve n

37、dl;*coutvvttcoutvv公司tt代碼t流通股t可動(dòng)股t發(fā)行價(jià) 上市價(jià) 狀態(tài)endl;for(i=0;iMAX;i+)coutvv vvsharei.stock_namevvtvvsharei.stock_codevvtvvsharei.stock_volumevvtvvcust.share_hold in g_valueivvtvvsharei.faxingvvt vvsharei.shangshi vvt vv(sharei.hang=0 未掛起 : 已掛起 )vvendl;coutvv 持有股票市值t 可用資金 t 總資產(chǎn) vvendl; coutvvcust.shzhvvtt

38、vvcust.m on eyvvttvvcust.zzchvve ndl;ofstream data(cust.customer_ name,ios:b in ary);data.write(char*)(&cust),sizeof(cust);temp.Save(share);elsecoutvv您沒(méi)有足夠股票可賣(mài) ,;coutvv或您沒(méi)有購(gòu)買(mǎi)此股。按任意鍵返回 vvendl;coutvv按任意 鍵返回 . vvendl; getch();break;cin .get();elsei+; while(i=MAX)vve ndl;system(cls);coutvv 您沒(méi)有購(gòu)買(mǎi)該股或您輸入錯(cuò)誤

39、。coutvv 退出. ;getch();goto start;else coutendl 輸入錯(cuò)誤 !;break;case 8: / 查看信息*couttt*股票交易系統(tǒng)*endl;system(cls);couttt e ndl;coutvv”公司tt代碼t流通股t可動(dòng)股t發(fā)行價(jià) 上市價(jià)狀態(tài)for(i nt i=0;iMAX;i+) coutvv vvsharei.stock_namevvtvvsharei.stock_codevvtvvsharei.stock_volumevvtvvcust.share_hold in g_valueivvtvvsharei.faxingvvt vvs

40、harei.shangshivvt vv(sharei.hang=0 未掛起 : 已掛起 )vvendl;vvendl;coutvttAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcoutvv持有股票市值t可用資金t總資產(chǎn)vvendl;a*a*a*a*a*a*vve ndlcoutvvcust.shzhvvttvvcust.m on eyvvttvvcust.zzchvve ndl; getch(); break;/返回主頁(yè)面case 0:temp.I nterface();goto start;Stock:Stock() nu m_of_stock=0;volum

41、e_available=stock_volume;void Stock:I n terface() system(cls);cout choice;if(choice!=1) &(choice!=2)&(choice!=3 )&(choice!=O)system(cls);endl;?endltemp .I n terface();elseSwitch_choice();void Stock:Switch_choice()char pass_word10;switch(choice) case 1: 進(jìn)入股票交易市 場(chǎng)system(cls);vven dl;coutvvnntt股票交易市場(chǎng)co

42、utvv公司tt代碼t流通股t可動(dòng)股t發(fā)行價(jià) 上市價(jià) 狀態(tài)vvendl;for(i nt x=0;xv5;+x)sharex.Stock_Excha nge_Market(); getch();temp.I nterface(); break;case 2: 登陸用戶 system(cls);coutvv”*票交易 八 市 八 場(chǎng)*”end|coutAAAAAAAAAAAAAAAAAAAAAAAAAAAA*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*e n d| ; cout cust.customer_ name;ci n. get();ifstream read_custo

43、mer(cust.customer_ nam 讀已有數(shù)據(jù)while(!read_customer.eof() 判/ 斷是否有記錄read_customer.read(char*)(&cust),sizeof(cust);if(read_customer.fail()coutvve ndl;coutvv 沒(méi)有記錄 !endl;getch();temp.I nterface();elsecoutvv 用 戶密碼 :;char ch;int i=0;cout 輸入密碼 :e ndl; cout.flush(); ch=getch();while(ch!=13)pass_wordi+=ch; cout

44、*; cout.flush();ch=getch();pass_wordi=0;if(strcmp(pass_word,)!=0)cust.Log_ in( pass_word); cin .get();temp.I nterface();break;elsecoutendl 輸入錯(cuò)誤 !;read_customer.close(); cin .get(); break;case 3: / 注冊(cè)新用戶system(cls);cout 注冊(cè)新用戶 endl;cout A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*e n dl cust.Register(&cust);ofstr

45、eam write_customer(cust.customer_ name); write_customer.write(char* )&cust,sizeof(cust); write_customer.close();temp.l nteface();break;case O: 退出 system(cls);* *cout 感謝您使用股票交易市e ndl; coutt 再見(jiàn) !e ndl;exit(0);void Stock:I nput_For_New_Stock( 添加新股票 system(cls);cin .get();cout 輸入新股票名 (XX_XXX):;cin. getl

46、 in e(stock_ name,20);cout 輸入股票代 碼 ( capital letter & less than 5 character):cin. getl in e(stock_code,6); cout stock_volume; cout 輸入發(fā) 行價(jià) :;cin? faxing;cin .get();volume_available=stock_volume;nu m_of_stock+;sran d(time(NULL); 隨機(jī)生成股票上市價(jià)sha ngshi=(ra nd()%3+1)*faxi ng+ra nd()%1000/10;void Stock:Stock

47、_Excha nge_Market()cout stock_ nametstock_codetstock_volumetvolume_available t faxi ngt sha ngshit (hang=0? 未掛起 : 已掛起 )endl;void Stock:Ha ng_Up_Stock( 掛起股票char share_code6,ch;cout 輸入您要掛起的股票代碼 :;cin. getl in e(share_code,6);i=0;flag=0;if(strcmp(share_code,)!=0) 當(dāng)輸入回車(chē)時(shí)報(bào)錯(cuò) while(iMAX)&(!flag) if(strcmp(

48、sharei.stock_code,share_code)=0) flag=1;cout ch;if(ch=y)sharei.ha ng=1; temp.Save(share);cout 已掛起 .endl;coute ndl;break;else if (ch= n)cout 取消 !endl;else coutvv 八 誤 !e ndl;else i+;if(i=MAX)coutvv 您輸入的代碼錯(cuò)誤!endl;break;getch();void Stock:U n_Ha ng_Stock( 解掛股票char share_code6,ch;coutvv 輸入您要恢復(fù)的股票代 碼 :;cin. getl in e(share_code,6);i=0;flag=0;while(!flag) &(i ch;if(ch=y)sharei.ha n g=0;temp.Save(share);coutvv 已恢復(fù) vve ndl;coutvve n dl;break;else if (ch= n)coutvv 取消 !vvendl;else coutvv 八誤 !vvendl;else i+;if(i=MAX)cout 您輸入的代碼錯(cuò)誤!endl;break;getch();void Stock:Delete_Stock()char ch,share_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論