譚浩強C++課後習題40——用cerr輸出有關錯誤信息

譚浩強C++課後習題40——用cerr輸出有關錯誤信息

題目描述:輸入三角形的三邊a,b,c,計算三角形的面積的公式是area=sqrt(s*(s-a)(s-b)(s-c)),s=(a+b+c)/2;形成三角形的條件是:a+b>c,b+c>a,a+c>b;編寫程序,輸入a,b,c,檢查a,b,c是否滿足以上的條件,如不滿足,由cerr輸出有關出錯信息。

cerr:cerr流對象是標準錯誤流。cerr流已被指定爲與顯示器關聯。cerr的作用是向標準錯誤設備輸出有關出錯信息。cerr與標準輸出流cout的用法差不多。但有一點不同:cout流通常是傳送到顯示器輸出,但也可以被重定向輸出到磁盤文件,而cerr流中的信息只能在顯示器輸出。當調試程序時,往往不希望程序運行時的出錯信息被送到其他文件,而要求在顯示器上及時輸出,這時應該用cerr。
clog流對象也是標準錯誤流,它的作用與cerr相同,都是在終端顯示器上顯示出錯信息,但是他們之間有一個區別:cerr是不經過緩衝區直接向顯示器上輸出有關信息,而clog中的信息存放在緩衝區中,緩衝區滿後或遇到endl時向顯示器輸出。

#include<iostream>
using namespace std;
int main() {
	double a, b, c;
	cout << "輸入三角形的三邊:";
	cin >> a >> b >> c;
	if (a + b > c&& a + c > b&& b + c > a) {
		double s = (a + b + c) / 2;
		cout << "三角形面積爲:" << sqrt(s * (s - a) * (s - b) * (s - c)) << endl;
	}
	else
		cerr << "輸入錯誤!" << endl;
	return 0;
}

運行測試結果:
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章