物件導向程式設計第三次作業

2022-03-28 19:16:06 字數 1557 閱讀 5443

這個作業屬於哪個課程

2020春福大物件導向程式設計

這個作業要求在**

寒假作業3

這個作業的目標

繼續完成作業二的程式設計題。優化架構,思考**的拓展性

作業正文

第三次作業

倉庫位址:

因為一開始寫的**只支援個位數的輸入,所以這次為了擴充套件數字範圍,我嘗試一下支援兩位數的輸入。(好像大佬們很早就實現了)

要實現二位數的輸入,首先要知道怎麼把二位數中的每個字分離出來。於是先根據想象做了乙個簡單的實驗:

#includeint main()

發現如果只寫一行printf("%c",a[2]);那麼就什麼都不會輸出,如果寫了連續兩個字元元素,就會輸出對應的漢字。例如上面的程式,輸入「五十五」就會輸出「十」。

所以,可以產生乙個比較粗略的思路:可以新建幾個字元型陣列,用來分別存輸入漢字的單個字元。同時要考慮的特殊情況有例如「十六」這樣的輸入,如果是例如「七十」這樣的輸入,在第三個漢字的判斷時通過if else的方法就可以找出來。注意:在新建的字元陣列賦值後,要再新增乙個』\0』,不然會出現錯誤。

實現方法:在原先的change函式中,新增了不滿足0到10的任意數的情況,並將該情況的返回值設定為change2的返回值。change2是用來將輸入的兩位數的漢字轉化成數字的。change2的寫法如下:

int change2(char shu)

else

return m;

}

change2和change函式共同進行對輸入的漢字的轉換功能。所以測試是一起進行的。測試**如下:

#include#includeint change2(char shu)

else

return m;

}int change(char shu)

int main()

; int b,i;

printf("這是兩位數轉換的測試:\n");

for(i=0;i<5;i++)

}

執行結果如圖所示

思路就是分別寫兩個函式,用來進行乘法和除法的運算,在主函式裡的修改只要增加判斷時的兩個特例,所以實現方法並不複雜。函式如下:

int cheng(int num,int x)

int chu(int num,int x)

由於在輸入中輸入負數的可能性較小,在經過運算後得到乙個負數結果的可能性還是比較大的,所以在輸出函式中可以多做乙個判斷,如果最後結果num<0,就在輸出結果前新增乙個負號,再將num變為正數,其餘的輸出就和正數的輸出一樣了。實現方法是在print函式的最前面加上下列語句:

if(num<0)

直播中提到這道題可以通過確定從字元陣列的**開始讀取,從而可以一次性地讀入一整行的字元然後進行操作。這樣對字串的控制會更加快捷。

物件導向程式設計 第三次作業

github連線 題目描述連線 把c 遠征計畫中的離港篇和封裝篇上看完了。學習計畫並沒有完成t t 發現題目中要求用到queue的知識,就去度娘了有關佇列的使用,大概知道該怎麼用吧。本來在電腦裡下了c primer plus看一部分,發現根本看不下去,也看不太懂 最開始把兩個類都寫在main.cpp...

物件導向程式設計 第三次作業補充

說實話寒假打 的時候沒有認真的看過 規範,當時覺得能把 打出來就很開心了 這幾天認真的看了 規範,感覺還是有所收穫。雖然有些內容我們現在還用不到,但是以後肯定是能用到的。看完 規範後對自己的 做了一些修改。但是沒有特別大的改動,主要是一些格式上的修改。還有就是注釋方面我還是不很清楚,不知道該怎麼注釋...

第三次作業 結對程式設計

學號 031302619 031302620 功能分析 在發布的部落格中已經談到,本次只做乙個乙個技術可行性的突破demo 實現以下兩個步驟的操作 1 將初始排課表以檔案上傳的形式匯入系統資料庫 2 將系統資料庫的排課資料顯示在介面裡。僅考慮上述功能的實現,暫不考慮後續細節。功能需求已經很清晰,在此...