編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例精編版_第1頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例精編版_第2頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例精編版_第3頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例精編版_第4頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例精編版_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例公司內(nèi)部編號(hào):(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-學(xué)號(hào)中國(guó)地質(zhì)2016-2017學(xué)年 第二學(xué)期金融IT入門(mén).程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告大學(xué)長(zhǎng)城學(xué)院XX系用Python編寫(xiě)簡(jiǎn)易計(jì)算器程序2017 年目錄總體設(shè)計(jì)程序程序概述:指導(dǎo)教師:目標(biāo):流程圖:代碼:則評(píng)分細(xì)評(píng)分項(xiàng)優(yōu)秀良好中等差上課出勤上課表現(xiàn)上機(jī)情況平時(shí)作業(yè)完成情況期末大作業(yè):(1)書(shū)寫(xiě)認(rèn)真程度(2)內(nèi)容詳實(shí)程度(3)文字表達(dá)能力(4)是否體現(xiàn)觀點(diǎn)評(píng)語(yǔ)簡(jiǎn)短教師簽名:年月日體會(huì):設(shè)計(jì)五評(píng)分等級(jí)備注評(píng)分等級(jí)有五種:優(yōu)秀、良好、中等、及格、不及格一、設(shè)計(jì)內(nèi)容L課程設(shè)計(jì)目的:1)掌握J(rèn)ava語(yǔ)

2、言的程序設(shè)計(jì)方法;2)理論聯(lián)系實(shí)際,進(jìn)一步提高學(xué)生的軟件開(kāi)發(fā)技術(shù);3)培養(yǎng)學(xué)生分析、解決問(wèn)題的能力;4)提高學(xué)生實(shí)踐論文撰寫(xiě)能力。2 .課程設(shè)計(jì)任務(wù):D設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法以及取余 運(yùn)算(可以進(jìn)行浮點(diǎn)數(shù)和負(fù)數(shù)的運(yùn)算);2)有求倒數(shù)、退格和清零功能。3 .創(chuàng)新要求:能進(jìn)行正切、余弦,以及求平方根、指數(shù)(包括對(duì)e)、自然對(duì)數(shù)運(yùn) 算。圖形界面采用繼承windowadapter類,采取調(diào)用類方法來(lái)注冊(cè)監(jiān) 聽(tīng)!4 .設(shè)計(jì)要求:1)設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法和取余運(yùn) 算。且有小數(shù)點(diǎn)、正負(fù)號(hào)、求倒數(shù)、退格和清零功能。2)課程設(shè)計(jì)可選用Eclipse、JB

3、uilder NetBeans等作為開(kāi)發(fā)平臺(tái)以 提高開(kāi)發(fā)效率,通過(guò)資料查閱和學(xué)習(xí)盡可能熟練掌握其中一種集成開(kāi)發(fā) 環(huán)境。3)認(rèn)真按時(shí)完成課程設(shè)計(jì)報(bào)告,課程設(shè)計(jì)報(bào)告內(nèi)容包括:設(shè)計(jì)任務(wù) 與要求、需求分析、設(shè)計(jì)思路、詳細(xì)設(shè)計(jì)、運(yùn)行調(diào)試與分析討論和設(shè)計(jì) 體會(huì)與小結(jié)六個(gè)部分。二、原理與分析1 .開(kāi)發(fā)的技術(shù)及功能本課程設(shè)計(jì)是要做一個(gè)圖形界面的計(jì)算器,其界面主要是由swing組 件中的控件構(gòu)成。程序?qū)崿F(xiàn)了計(jì)算器的基本功能有:力口、減、乘、除基 本算術(shù)運(yùn)算(可以進(jìn)行浮點(diǎn)和負(fù)數(shù)運(yùn)算)和sin、cos、tan等三角函數(shù) 求值運(yùn)算,同時(shí)能進(jìn)行指數(shù)運(yùn)算和自然對(duì)數(shù)運(yùn)算,還有求倒數(shù)、退格和 清零功能。2 .設(shè)計(jì)思路設(shè)計(jì)這個(gè)

4、計(jì)算器主要是參考Windows操作系統(tǒng)中自帶的計(jì)算器,由 于編者水平和時(shí)間的限制,不能將計(jì)算器設(shè)計(jì)到科學(xué)型及其他更復(fù)雜的 類型,在設(shè)計(jì)過(guò)程中還參考了一些其他的優(yōu)秀設(shè)計(jì)。但本計(jì)算器除了常 用的加減乘除(可以進(jìn)行浮點(diǎn)和負(fù)數(shù)運(yùn)算)這些基本運(yùn)算外,還有求 余、求倒、退格、清零,甚至還能進(jìn)行一些復(fù)雜科學(xué)的運(yùn)算,比如余弦 (cos)、正切(tan)、指數(shù)運(yùn)算(pow) 自然對(duì)數(shù)運(yùn)算(log)、求 平方根(sqrt)以及對(duì)e的指數(shù)運(yùn)算(exp),并且還能進(jìn)行連續(xù)運(yùn)算。 總體上說(shuō)來(lái),本計(jì)算器設(shè)計(jì)簡(jiǎn)單,代碼很少,程序很小,但功能卻很強(qiáng) 大,這是同類計(jì)算器所不具備的。3 .設(shè)計(jì)效果圖設(shè)計(jì)時(shí)先在設(shè)計(jì)界面中添加按鈕等

5、控件,后在按鈕的 actionPerformed事件中添加代碼完成其功能其中調(diào)用了 Java類中的 Math函數(shù)庫(kù)以及各種字符串操作。設(shè)計(jì)的界面如下:圖一計(jì)算器運(yùn)行界面三、設(shè)計(jì)過(guò)程1.程序思路:1)本應(yīng)用程序繼承自框架類(JFrame),容器Container c采用BorderLayout邊緣布局,將單行文本框加入到“North”區(qū)域,包含各種 按鈕的面板JPanel p加入到 Center”區(qū)域。包含各種按鈕的面板 JPanel p采用3行6列的網(wǎng)格布局,然后將數(shù)字按鈕和運(yùn)算符按鈕以及 控制按鈕用一個(gè)for循環(huán)添加到面板中同時(shí)注冊(cè)按鈕事件監(jiān)聽(tīng)器。如: Button b=new Button

6、();b. addActionListener (事件監(jiān)聽(tīng)落);2)事件監(jiān)聽(tīng)器中的事件處理方法void actionPerformed(ActionEvent evt)完成主要的按鈕事件的處理。事件處理分以下兒種情況:數(shù)字按鈕 事件(“ 0“,”1”,” 2“ 8,“ 9)、運(yùn)算符按鈕事件(“ +, _” /,“獷)、正負(fù)號(hào)按鈕事件(” +/-“)、小數(shù)點(diǎn)按鈕事件(”.”)、等號(hào)按鈕事件(”=)、求倒按鈕 事件(“求倒”)、退格按鈕事件(“退格”)、清除按鈕事件(“C” )、正切(tan)、余弦(cos),以及求平方根(sqrt)、指數(shù) (pow)、對(duì)e的指數(shù)(exp)、對(duì)數(shù)運(yùn)算(log)。3

7、)在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是是 或是,是的話就將負(fù)號(hào)“-、數(shù)字、小數(shù)點(diǎn)”分別寫(xiě)入文本 框并存放在sum中,然后判斷是或是“退格”、“求倒”等,是的話進(jìn) 行相應(yīng)的處理,都不是的話則跳到doOperation。執(zhí)行運(yùn)算同時(shí)將運(yùn)算符 存放在preOperater中。觸發(fā)按鈕事件時(shí),要進(jìn)一步分析,是重新開(kāi)始 計(jì)竟時(shí)觸發(fā)的按鈕事件還是計(jì)算中間觸發(fā)的按鈕事件。4)計(jì)算器完成的是一個(gè)數(shù)學(xué)表達(dá)式,如:3 + 2,所以可以采用一個(gè)數(shù)組 來(lái)存儲(chǔ)數(shù)字或字符,如3, +, 2分別存儲(chǔ)在數(shù)組中,最后運(yùn)算時(shí),可以取出來(lái)進(jìn)行運(yùn)算。5)利用按鈕設(shè)計(jì)計(jì)算器的各個(gè)運(yùn)算符和操作符,通過(guò)按鈕的事件處理實(shí)現(xiàn)按鈕

8、計(jì)算功能。6)利用文本框顯示操作數(shù)和運(yùn)算結(jié)果。2.功能實(shí)現(xiàn):1)加減乘除求余以及指數(shù)運(yùn)算void doOperation()double m=Double. parseDouble (x. getText ();if (preOperater. equals ()sum=m; 無(wú)前一操作,結(jié)果為剛輸入數(shù)將結(jié)果與文本框中的數(shù)據(jù)按照前一個(gè)運(yùn)算符運(yùn)算sum=sum+m; 加法運(yùn)算sum=sum-in; / /減法運(yùn)算sum二sum*m; /乘法運(yùn)算if(preOperater. equals(+)if(preOperater. equals (一)if(preOperater. equals (*)

9、if(preOperater. equals(/)sum=sum/m;除法運(yùn)算求余if(preOperater. equals(為) if(preOperater. equals(pow) sum=Math. pow(sum, m); /求嘉,指數(shù)運(yùn)算 )2)其他運(yùn)算I、求平方根Void sqrt () double m=Double。 parseDouble(x. getText();if (m0)x. setText (負(fù)數(shù)不能開(kāi)根號(hào)); elsex.setText(+Math. sqrt(m);)n、對(duì)數(shù)運(yùn)算Void log () double m=Double. parseDouble

10、(x. getText(); if (m0)x. setText(負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算); elsex. setText (”+Math. log (m);)HI、余弦運(yùn)算Void cos () double m=Double. parseDouble (x. getText ();x. setText(+Math. cos(m);IV、正切運(yùn)算Void tan () double m=Double. parseDouble (x. getText ();.setText(+Math. tan(m);)V、e的指數(shù)運(yùn)算Void exp () double m二Double。 parseDo

11、uble (x. getText ();x.setText(+Math exp(m);)VI、倒數(shù)運(yùn)算Void daoshu ( ) if (Double. parseDouble(x. getText()=0)X. setText (除數(shù)不能為零);else (x. setText (Double. parseDouble (x. getText ();preOperater=;3)主要方法說(shuō)明public cos (double x) 求 x 的余弦函數(shù)public tan (double x)public sqrt(double x)public log (double x)求x的正切函

12、數(shù)求X的平方根求X的自然對(duì)數(shù)運(yùn)算public exp (double x) 求 e 的 x 次曷public pow (double a, double b) 求 a 的 b 次累public daoshu (double x) 求 x 的倒數(shù)4)程序流程圖3 .算法思路:這是一個(gè)簡(jiǎn)單的計(jì)算器,里面所涉及到的功能就是加、減、乘、 除、開(kāi)方運(yùn)算、等基本功能。僅須定義兩個(gè)變量來(lái)保存雙運(yùn)算操作的前 一個(gè)數(shù)和當(dāng)前在計(jì)算器上顯示的數(shù)字即可,而對(duì)于單運(yùn)算的操作要求更 加簡(jiǎn)單,只需要一個(gè)變量就可以了。當(dāng)然對(duì)數(shù)據(jù)進(jìn)行判斷是必不可少 的。在輸入數(shù)據(jù)之后 Character. isDigit (Command.

13、charAt (0)判斷輸入 的數(shù)據(jù)是否符合要求。不符合要求給出提示,符合要求以后將判斷點(diǎn)擊 的運(yùn)算符,執(zhí)行相應(yīng)的操作。對(duì)于單運(yùn)算操作要進(jìn)一步判斷是否符合要求,如果是就進(jìn)入下步計(jì) 算,如果不是就彈出相應(yīng)的提示:“負(fù)數(shù)不能開(kāi)根號(hào);除數(shù)不能為 零”;用 try*, catch捕獲異常,如果有異常則中止活動(dòng)。在進(jìn)行開(kāi)方(sqrt)運(yùn)算時(shí),如 果輸入數(shù)為負(fù)數(shù),則彈出負(fù)數(shù)不能開(kāi)根號(hào),中止運(yùn)算。在進(jìn)行自然對(duì) 數(shù)運(yùn)算時(shí)(log)如果輸入數(shù)為負(fù)數(shù),則彈出負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn) 算”。在進(jìn)行三角函數(shù)運(yùn)算時(shí)(cos、tan)不必考慮輸入的數(shù)字是否符 合規(guī)范,對(duì)于任意輸入的數(shù)函數(shù)本身有一個(gè)判斷的過(guò)程,都能把輸入的

14、數(shù)轉(zhuǎn)化為合適的范圍,進(jìn)而得到正確的結(jié)果。對(duì)于加減乘除等雙運(yùn)算操 作,每個(gè)功能都由每一個(gè)模塊來(lái)實(shí)現(xiàn),當(dāng)按下加按鈕時(shí),進(jìn)行相應(yīng)的加 法操作,這一塊對(duì)相應(yīng)的操作數(shù)沒(méi)有要求;當(dāng)點(diǎn)擊減號(hào)時(shí),則進(jìn)行減法 操作,由jTextField.getText。得到數(shù)字按鈕的值顯示在相應(yīng)的文本框 中;乘法操作在點(diǎn)擊一個(gè)操作數(shù)然后點(diǎn)擊乘號(hào)再點(diǎn)擊另一個(gè)時(shí)得出相應(yīng) 的結(jié)果顯示在文本框中;在作除法運(yùn)算時(shí),當(dāng)被除數(shù)點(diǎn)擊為零時(shí),調(diào)用 catch進(jìn)行異常處理,彈出Infinity”。4 .數(shù)據(jù)分析:在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是是 或是,是的話就將負(fù)號(hào)“-、數(shù)字、小數(shù)點(diǎn)”分別寫(xiě)入文本 框并存放在sum中,然后判

15、斷是或是“退格”、“求倒”等,是的話進(jìn) 行相應(yīng)的處理,都不是的話則跳到doOperation。執(zhí)行運(yùn)算同時(shí)將運(yùn)算符 存放在preOperater中。觸發(fā)按鈕事件時(shí),要進(jìn)一步分析,是重新開(kāi)始 計(jì)竟時(shí)觸發(fā)的按鈕事件還是計(jì)算中間觸發(fā)的按鈕事件。四、設(shè)計(jì)結(jié)果與分析L運(yùn)行調(diào)試1)進(jìn)行加減乘除求余以及指數(shù)運(yùn)算帶負(fù)數(shù)的浮點(diǎn)加法運(yùn)算(例:-1. 2+4=2. 8) 依次按“+/-”(也可以最后按),“L2” , “ + ” , “4”鍵按下“十”鍵按下“4”鍵按下“二”鍵分析:輸出的結(jié)果如圖所示,計(jì)算器可以直接輸入,計(jì)算比較簡(jiǎn) 便,帶負(fù)號(hào)的浮點(diǎn)數(shù)加法做起來(lái)沒(méi)有問(wèn)題。2)求倒先輸入1.25,再按下“求倒”鍵分析

16、:輸出的結(jié)果如圖所示,倒數(shù)功能實(shí)現(xiàn),計(jì)算時(shí),不僅是結(jié)果,輸 入的數(shù)據(jù)同樣可以先實(shí)現(xiàn)倒數(shù)功能后再進(jìn)行相應(yīng)的計(jì)算,沒(méi)有影響! 3)退格輸入數(shù)字1265按下“退格”鍵分析:輸出的結(jié)果如圖所示,本計(jì)算器退格鍵有一個(gè)特點(diǎn)是,就算是是 計(jì)算后得出的結(jié)果也能實(shí)現(xiàn)退格,缺點(diǎn)是不能很好的處理小數(shù)點(diǎn)的問(wèn) 題,因?yàn)樾?shù)點(diǎn)也是字符串的一部分。4)清零按下黑”鍵分析:輸出的結(jié)果如圖所示,按清零鍵后數(shù)據(jù)全部消除。5)求余弦、求正切、對(duì)e求塞、求平方根、求自然對(duì)數(shù)、求倒運(yùn)算(例:cos30) 先按下“30”鍵再按下“cos”鍵6)連續(xù)運(yùn)算(例:2*3*4=24. 0)依次按下 “3”、“4、“/”、“6、“二”鍵7)異常處

17、理(例:求倒時(shí)輸入數(shù)為0)先按“0”鍵再按“求倒”鍵五、設(shè)計(jì)體會(huì)與小結(jié)作為一名計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生,我覺(jué)得能做類似的課程設(shè)計(jì) 是十分有意義,而且是十分必要的。經(jīng)過(guò)一段時(shí)間的努力,計(jì)算器課程 設(shè)計(jì)終于結(jié)束了,雖然很忙碌、很疲勞,但是收獲很大。這些天我?guī)缀?每天的專注和辛勞,喚回了我對(duì)Java這門(mén)語(yǔ)言的重新的認(rèn)識(shí),對(duì)Java 這門(mén)編程語(yǔ)言也有了深刻的理解o當(dāng)然在本次課程設(shè)計(jì)的過(guò)程中,我碰到了很多問(wèn)題,比如求倒時(shí),最 先我是把按鈕新建成“1/x”,但是出現(xiàn)問(wèn)題,怎么找都沒(méi)找出問(wèn)題來(lái), 其后重新整理思緒才發(fā)現(xiàn)不能設(shè)成“1/x”,因?yàn)椤?/x”中第一個(gè)字符 是數(shù)字,而 Character. isD

18、i git (Command, char At (0)會(huì)將1/x” 當(dāng)做數(shù) 字鍵寫(xiě)入文本框。還有就是實(shí)現(xiàn)退格功能時(shí)不知道怎樣處理,最后上網(wǎng) 百度了一下才找到了方法,這也讓我深刻體會(huì)到了網(wǎng)絡(luò)的作用。當(dāng)然還 遇到了其他的困難,這些花費(fèi)了我很多時(shí)間,使我失敗了很多次,但是 通過(guò)我們不解的努力還是一一克服了這些問(wèn)題,最終還是成功了。當(dāng)然 在這次試驗(yàn)中也暴露自己一些問(wèn)題,發(fā)現(xiàn)了自己的很多不足,自己知識(shí) 的很多漏洞,基礎(chǔ)知識(shí)的不牢固,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺 乏,理論聯(lián)系實(shí)際的能力還急需提高。這次課程設(shè)計(jì),除了全面系統(tǒng)的理解了 JAVA面向?qū)ο缶幊淘淼囊?般原理和基本實(shí)現(xiàn)方法,還把死板的課本知識(shí)變

19、得生動(dòng)有趣,激發(fā)了學(xué) 習(xí)的積極性。把學(xué)過(guò)的編程原理的知識(shí)強(qiáng)化,把課堂上學(xué)的知識(shí)通過(guò)自 己設(shè)計(jì)的程序表示出來(lái),這加深了對(duì)理論知識(shí)的理解。課程設(shè)計(jì)中程序 比較復(fù)雜,在調(diào)試時(shí)應(yīng)該仔細(xì),在程序調(diào)試時(shí),注意盡力尋找程序中存 在的不足之處,進(jìn)而使功能更加完善。當(dāng)然在做課程設(shè)計(jì)要有很大的耐心,做的過(guò)程就是不斷的調(diào)試一修改一調(diào)試過(guò)程,只有靜下心來(lái)才能把問(wèn)題解決。六、參考文獻(xiàn)1於東軍等Java程序設(shè)計(jì)與應(yīng)用開(kāi)發(fā)(第二版)清華大學(xué)出版社2009. 52 Bruce Eckel Java編程思想機(jī)械工業(yè)出版社2007. 63楊樹(shù)林等Java語(yǔ)言最新實(shí)用案例教程(第2版)清華大學(xué)出版社 2010.7七、源程序impo

20、rt java. util. *;import javax. swing. *;import java. awt. *;public class Calculater extends JFrame implementsActionListenerJTextField x; /文本框String preOperater=,/; 上一次的運(yùn)克符double sum=0; 運(yùn)算結(jié)果public Calculater (String title) super(title);Container c=getContentPane (); 容器c. setLayout (new BorderLayout (

21、); 容潛米用邊緣布局x=new JTextField(50);c. add (North”, x);String buttoned口二0,1,2,3,+/,.,C,退格,求倒,4,5,6,7,+,- 2 / Q/ o一 4 1 4 lsqrt , pow , log , cos , tan , exp j;JPanel p=new JPanel (); 面板p. setLayout (new GridLayout (3, 9, 10, 10); 面板采用行列數(shù) 3, 6的網(wǎng)格布局for (int k=0 ;k0). setText (s. substring (0, s. length ()

22、 -1); 刪除最后一個(gè)字符)void dengyu() 等號(hào),顯示計(jì)算結(jié)果doOperation ();x. setText(+sum);preOperater=,/,;void sqrt () 求該數(shù)的平方根double m=Double. parseDouble(x. getText ();if (m0)x. setText (負(fù)數(shù)不能開(kāi)根號(hào));elsex.setText (+Math sqrt(m);void log() 求該數(shù)的自然對(duì)數(shù)double m=Double. parseDouble(x. getText();if (m0)x. setText(負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算); elsex. setText (/,Z,+Math. log (m);void cos() 求該數(shù)的余弦double m=Double。 parseDouble(x. getText();x. setText(+Math cos(m);void tan() 求該數(shù)的正切double m=Double. parseDouble(x. getText ();x. setText (Z,+Math. tan (m);void exp () 求 e 的幕double m=Doub

溫馨提示

  • 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)論