cerr流对象使用:解方程ax^2+bx+c=0
//解一元二次方程ax^2+bx+c=0:从键盘输入a,b,c的值,求x1和x2。如果a=0或b2-4ac<0,输出出错信息。 #include<iostream> #include <cmath> #include<iomanip> using namespace std; int main( ) { float a,b,c,delta; cout<<"please input a,b,c:"; cin>>a>>b>>c; if (a==0) cerr<<"a is equal to zero,error!"<<endl; else if ((delta=b*b-4*a*c)<0) cerr<<"delta < 0"<<endl; else { cout<<"x1="<<(-b+sqrt(delta))/(2*a)<<endl; cout<<"x2="<<(-b-sqrt(delta))/(2*a)<<endl; } return 0; }
格式控制示例
#include <iostream> #include <iomanip>//不要忘记包含此头文件 using namespace std; int main() { int a; cout<<"input a:"; cin>>a; cout<<"hex:"<<hex<<a<<endl; //以十六进制形式输出整数a cout<<"oct:"<<setbase(8)<<a<<endl; //以八进制形式输出整数a cout<<"dec:"<<dec<<a<<endl; //以十进制形式输出整数 char *pt="China"; //pt指向字符串"China" cout<<setw(10)<<pt<<endl; //指定域宽为10,输出字符串 cout<<setfill('*')<<setw(10)<<pt<<endl; //指定域宽10,输出字符串,空白处以'*'填充 double d=225.0/7.0; //计算d值 cout<<"d="<<d<<endl; //输出d值 cout<<"d="<<setprecision(4)<<d<<endl; //改为4位小数 cout<<"d="<<setiosflags(ios::fixed)<<d<<endl;//改为固定位数形式输出 cout<<setprecision(5)<<d<<endl; cout<<"d="<<setiosflags(ios::fixed)<<setprecision(5)<<d<<endl;//改为固定小数位数形式输出 return 0; }
流成员函数setf中的格式标志
#include <iostream> using namespace std; int main( ) { int a=21; cout.setf(ios::showbase); //显示基数符号(0x或0) cout<<"dec:"<<a<<endl; //默认以十进制形式输出a cout.unsetf(ios::dec); //终止十进制的格式设置 cout.setf(ios::hex); //设置以十六进制输出的状态 cout<<"hex:"<<a<<endl; //以十六进制形式输出a cout.unsetf(ios::hex); //终止十六进制的格式设置 cout.setf(ios::oct); //设置以八进制输出的状态 cout<<"oct:"<<a<<endl; //以八进制形式输出a cout.unsetf(ios::oct); char *pt="China"; //pt指向字符串"China" cout.width(10); //指定域宽为10 cout<<pt<<endl; //输出字符串 cout.width(10); //指定域宽为10 cout.fill('*'); //指定空白处以'*'填充 cout<<pt<<endl; //输出字符串 double pi=22.0/7.0; //输出pi值 cout.setf(ios::scientific); //指定用科学记数法输出 cout<<"pi="; //输出"pi=" cout.width(14); //指定域宽为14 cout<<pi<<endl; //输出pi值 cout.unsetf(ios::scientific); //终止科学记数法状态 cout.setf(ios::fixed); //指定用定点形式输出 cout.width(12); //指定域宽为12 cout.setf(ios::showpos); //正数输出“+”号 cout.setf(ios::internal); //数符出现在左侧 cout.precision(6); //保留6位小数 cout<<pi<<endl; //输出pi,注意数符“+”的位置 return 0; }
输出流对象的成员函数——先认识 put
//例 #include <iostream> using namespace std; int main( ) { char *a="BASIC"; for(int i=4; i>=0; i--) cout.put(*(a+i)); cout.put('\n'); return 0; }