C++ Walkthrough cout.setf(ios::fixed); und cout.precision();
/* 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;
}
Mit den obigen code, ich wollte nur wissen, was unten zwei Linien wirklich in dem obigen code
cout.setf(ios::fixed);
cout.precision(3);
Bitte nicht, gib mir nur Antwort eine Erklärung wäre so geschätzt, weil ich mache einen walkthrough zur Vorbereitung für meine Letzte Klausur morgen.
Habe ich gesucht und eine Quelle sagt, es ist, um Markierungen zu setzen, aber ich wirklich nicht bekommen, was ist das Konzept und wie es funktioniert
std::ios_base::setf
undstd::ios_base::precision
. Beide Seiten haben Erklärungen, was die Funktionen tun- Danke! Ich nicht wirklich wollen, zu ruinieren meine Prozess der exemplarischen Vorgehensweise wird das Programm aber, dass setf [Set flag] beziehen sich auf die Ausgabe oder was auch immer wird cout später?
- Ich verstehe nicht, was du meinst, durch die Ausgabe oder was auch immer wird cout später. Die Sie anwenden, Formatierung Flaggen der
std::cout
stream aufrufensetf()
so beeinflusst die Art und Weisecout
printfs Zeug in Zukunft fordert. - Sorry, dass ist das, was ich meinte, war ich einfach nur wissen wollte, wenn es geht, für alles, was Los ist, um
cout
später oder das ganze Programm. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
macht cout print schwimmt mit einer festen Anzahl von Nachkommastellen und
setzt diese Zahl auf drei.
Zum Beispiel, wenn Sie eine
dann
drucken
cout.unsetf(ios::fixed)
sollte den trick tun.Große Dokumentation über die Formatierung der Ausgabe : Ausgabe-Formatierung
Es ist immer nützlich, wenn Sie versuchen zu tun, ein Kommandozeilen-UI.
Wird die Ausgabe in wissenschaftlicher notation als:
Um den Wert, wie er Sie verwenden soll
cout.setf(ios::fixed)
Den Ausgang wird sein, wie es ist mit Standard-Genauigkeit von 6 für Schwimmer.
Können Sie die Präzision in den obigen code:
.....
Es ist ähnlich, einschließlich der manipulation-Bibliothek:
gehören :
Und dann über die folgenden Funktionen