gpt4 book ai didi

C++ 演练 cout.setf(ios::fixed);和 cout.precision();

转载 作者:可可西里 更新时间:2023-11-01 18:11:05 28 4
gpt4 key购买 nike

/* Problem 38 */
#include <iostream>
using namespace std;
class abc {
double n;
public:
abc() { n = 67.5; cout << "1\n"; }
abc(double num) { set(num); cout << "2\n"; }
double get() const { cout<<"3\n"; return n; }
virtual void set(double num) {
if (num < 10)
n = 10;
else if (num > 100)
n = 100;
else
n = num;
cout << "4\n";
}
};
class def: public abc {
double m;
public:
def() { m = 6.2; cout << "5\n"; }
def(double num1, double num2): abc(num1) {
set(num2 - abc::get()); cout << "6\n"; }
double get() const {
cout << "7\n"; return m + abc::get(); }
void set(double num) {
if (num < 10 || 100 < num)
m = num;
else
m = 55;
cout << "8\n";
}
};
void do_it(abc &var, double num)
{ cout << var.get() << '\n';
var.set(num);
cout << var.get() << '\n';
}
int main()
{ abc x(45);
def y(2, 340);
cout.setf(ios::fixed);
cout.precision(3);
do_it(x, 200);
do_it(y, 253);
cout << x.get() << '\n';
cout << y.get() << '\n';
return 0;
}

对于上面的代码,我只是想知道下面两行在上面的代码中到底做了什么

cout.setf(ios::fixed);cout.precision(3);

请不要只给我答案,我将不胜感激,因为我正在做一个演练,为明天的期末考试做准备。

我搜索了一下,一些消息来源说这是设置标志,但实际上我不明白它的概念是什么以及它是如何工作的

最佳答案

cout.setf(ios::fixed)

使 cout 打印具有固定小数位数的 float 和

cout.precision(3)

将这个数字设置为三。

例如,如果你有一个

double f = 2.5;

然后

cout << f;

将打印

2.500

关于C++ 演练 cout.setf(ios::fixed);和 cout.precision();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com