第4章 基本控制流程
零警告編譯
int pennies = static_cast<int>(100 * (amount_due - amount_paid));
輸入確定
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
double area;
cout<< "Please enter the area of a square:";
cin>>area;
if(cin.fail())
{
cout<<"error:bad input\n";
return 1;
}
if( area < 0)
{
cout<<"error : negaive area\n";
return 1;
}
}
函數注釋風格
/**
計算
@param x
@param y
@return
**/
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
/**
測試兩個浮點數是否相近
@param x
@param y
@return true 若近識相等則為真
**/
bool approx_equal(double x,double y)
{
const double EPSION = 1E-14;
if(x==0) return fabs(y) <= EPSION;
if(y==0) return fabs(x) <= EPSION;
return fabs(x-y) / max(fabs(x),fabs(y)) <= EPSION;
}
int main()
{
double x;
cout<<"Enter a number;";
cin >>x;
double y;
cout<<"Enter another number;";
cin>>y;
if(approx_equal(x,y))
cout<<"the numbers are approximately equal.\n";
else
cout<<" the numbers are different.\n";
return 0;
}
第九章
1. C++中 實現資料項目序列有更好的辦法: 向量結構。
2.vector<double> salaries;
salaries[0] = 32000;
若定義向量時不帶長度參數,它將是空的並不能保持元素。
3.