概述
对象、继承和引用
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
void file_it(ostream &os,double fo,const double fe[],int n);
const int Limit=5;
int main()
{
ofstream fout;
const char *fn="ep-data.txt";
fout.open(fn);
if(!fout.is_open())
{
cout << "Can't open " << fn << ". Bye.n";
exit(EXIT_FAILURE);
}
double objective;
cout << "Enter the focal lenth of your telescope objective in mm: ";
cin >> objective;
double eps[Limit];
cout << "Enter the focal lenths, in mm, of " << Limit << " eyepieces.n";
for(int i=0; i<Limit; i++){
cout << "Eyepiece #" << i+1 << ": ";
cin >>eps[i];
}
file_it(fout,objective,eps,Limit);
file_it(cout,objective,eps,Limit);
cout << "Done.n";
return 0;
}
void file_it(ostream &os,double fo,const double fe[],int n)
{
ios_base::fmtflags initial;
initial=os.setf(ios_base::fixed);
os.precision(0);
os << "Focal lenth of objective: " << fo << " mmn";
os.setf(ios::showpoint);
os.precision(1);
os.width(12);
os << "f.1 eyepiece";
os.width(15);
os << "magnification" << endl;
for(int i=0; i<n; i++){
os.width(12);
os << fe[i];
os.width(15);
os << int(fo/fe[i]+0.5) << endl;
}
os.setf(initial);
}
Enter the focal lenth of your telescope objective in mm: 1800
Enter the focal lenths, in mm, of 5 eyepieces.
Eyepiece #1: 30
Eyepiece #2: 19
Eyepiece #3: 14
Eyepiece #4: 8.8
Eyepiece #5: 7.5
Focal lenth of objective: 1800 mm
f.1 eyepiece
magnification
30.0
60
19.0
95
14.0
129
8.8
205
7.5
240
Done.
setf(ios_base::showpoint)将对象置于显示小数点模式,即使小数部分为零
precision()指定显示多少位小数(假定对象已经位于定点模式下)
width()设置下一次输出操作使用的字段宽度,这种设置只在显示下一个值时有效,然后恢复到默认设置
ios_base::fmtflags存储信息所需的数据类型名称,将返回值赋给initial将存储调用file_it()之前的格式化设置,然后使用变量initial作为参数来调用setf(),将所有的格式化设置恢复到原来的值
最后
以上就是虚幻小蝴蝶为你收集整理的C++对象、继承和引用的全部内容,希望文章能够帮你解决C++对象、继承和引用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复