建立複數類。然後過載流操作運算子,能夠執行輸入輸出(10分)
題目內容:
1. 關於複數:
複數x被定義為二元有序實數對(a,b),記為z=a+bi,這裡a和b是實數,i是虛數單位。在複數a+bi中,a=re(z)稱為實部,b=im(z)稱為虛部。當虛部等於零時,這個複數可以視為實數;當z的虛部不等於零時,實部等於零時,常稱z為純虛數。
複數的四則運算規定為:
加法法則:(a+bi)+(c+di)=(a+c)+(b+d)i;
減法法則:(a+bi)-(c+di)=(a-c)+(b-d)i;
乘法法則:(a+bi)·(c+di)=(ac-bd)+(bc+ad)i;
除法法則:(a+bi)÷(c+di)=[(ac+bd)/(c²+d²)]+[(bc-ad)/(c²+d²)]i.
2. 建立乙個類 mycomplex,用來表示複數。
3. 過載流提取運算子 >> ,使之可以讀入以下格式的輸入(兩個數值之間使用空白分隔),將第乙個數值存為複數的實部,將第二個數值存為複數的虛部:
-1.1 2.0
+0 -4.5
4. 過載流插入運算子 << ,使之可以將複數輸出為如下的格式(實部如果是非負數,則不輸出符號位;輸出時要包含半形左右小括號):
(-1.1+2.0i)
(0-4.5i)
5.不可以改動主函式內部的任何表示式或者語句
標頭檔案及主函式:
#include
int main()
friend istream& operator >>(istream& is, mycomplex& z)
};int main() 修改複數類,過載加減法運算子(10分)
題目內容:
1. 在本單元作業1的基礎上,修改/新增**,過載四則運算符 +、- 、*、/,使之可以完成相應的運算
2. 在做除法時,如果除數是0,則輸出一條資訊:「divisor can not be 0」 (注意:請精確複製這段資訊,否則即便你的程式邏輯正確,oj系統仍然會判你失敗。輸出資訊中不包含引號)然後結束程式(呼叫 exit() 函式),直接退出(注意,傳遞給作業系統的返回值與main函式正常結束時相同,仍然為0)。判斷除數是否為0時,使用if()語句即可
3. 不改動主函式。
包含的標頭檔案及主函式:
請勿對主函式內容做任何改變,包括字串中的空白等。否則,oj可能不給你分數!
#include
#include
#include
int main()
輸入格式:
輸入兩個複數。
每個複數均包括由空格分隔的兩個浮點數
輸入第乙個複數後,鍵入回車,然後繼續輸入第二個複數
輸出格式:
單個複數的輸出格式參見本單元作業1的輸出格式
本題目的輸出,請見主函式
輸入樣例:
+100 -0 8.0000001 +040.2
輸出樣例:
z1 + z2 = (108+40.2i)
z1 - z2 + z1 = (192-40.2i)
z1 * z2 - z1 = (700+4020i)
z1 / z2 + z1 = (100.476-2.3928i)
z2 - z1 / z1 = (7+40.2i)
上述輸出的第5行尾沒有換行符
這裡注釋的一行還有問題
#include #include #include using namespace std;
class mycomplex
mycomplex(double real, double image) :real_(real), image_(image) {}
mycomplex(const mycomplex &z):real_(z.real_),image_(z.image_){}
friend ostream& operator <<(ostream& os, const mycomplex& z)
friend istream& operator >>(istream& is, mycomplex& z)
mycomplex operator +(mycomplex& z)
mycomplex operator -(mycomplex& z)
/*friend mycomplex operator-(mycomplex&z1, mycomplex &z2) */
mycomplex operator * (const mycomplex& z)
mycomplex operator / (const mycomplex& z)
double length = z.real_*z.real_ + z.image_*z.image_;
double real = (real_ * z.real_ + image_ * z.image_) / length;
double image = (image_ * z.real_ - real_ * z.image_) / length;
return mycomplex(real, image);
}};int main()
C 小練習Clock類,Car類 C 小練習
我們在以前使用c語言實現的時候 定義變數 通過函式填充變數 去顯示變數 使用c 定義的變數 類內的資料成員 通過函式填充變數 構造器 去顯示變數 行為 屬性 時,分,秒 行為 run 在螢幕上實現電子時鐘 13 04 05 每隔一秒更新乙個顯示。分析構造時,初始化為當前系統時間,然後每隔一秒,刷屏。...
C 練習 編寫MyString類
編寫mystring類,用於表示字串。要求 1 mystring類有乙個成員變數,用於存放字串的內容 char val 2 mystring類具有如下幾個建構函式 mystring 產生空串 mystring int ival 將ival轉成字串,並初始化成員變數val mystring float...
C 螢幕類,矩形類簡單小練習
在本單元作業和作業的基礎上,建立乙個myrectangle類,並在main函式中建立類的例項。10分 題目難度 難 題目內容 screen類 與作業要求完全相同。如果你的作業順利通過,那麼你可以直接使用作業中screen類的 myrectangle類 myrectangle 代表的是乙個矩形。我們用...