Teoriechevron_rightAfișarea informației (iomanip)

Teorie: Afișarea informației (iomanip)

Formatarea afișării în C++ folosind biblioteca iomanip: setw, setprecision, scientific, fixed.

Nivel: Începătorschedule 25 min

tuneAfișarea informației alfanumerice (iomanip)

În C++, fluxul de ieșire cout poate fi controlat și formatat pentru a afișa datele într-un mod specific (număr fix de zecimale, aliniere la dreapta, notație științifică etc.). Pentru a realiza acest lucru, folosim manipulatori de flux disponibili în biblioteca <iomanip>.

#include <iomanip>

build1. Principalii Manipulatori

setw(n)

Setează lățimea câmpului de afișare pentru următoarea valoare (și doar pentru ea) la n caractere. Valoarea este aliniată implicit la dreapta.

int x = 42;
cout << setw(5) << x << "|";
// Afișează: 42| (3 spații goale urmate de 42)

setprecision(n)

Setează numărul de cifre semnificative (sau zecimale, când e folosit cu fixed) ce vor fi afișate pentru numerele reale. Spre deosebire de setw, setarea rămâne valabilă pentru toate afișările viitoare.

float pi = 3.14159;
cout << setprecision(3) << pi;
// Afișează 3.14 (3 cifre în total)

fixed

Schimbă comportamentul lui setprecision astfel încât să se refere la numărul exact de zecimale de după virgulă, forțând totodată afișarea lor (inclusiv a zerourilor).

float f = 2.5;
cout << fixed << setprecision(2) << f;
// Afișează: 2.50

scientific

Afișează numerele reale în notație științifică (ex: 1.23e+02 care înseamnă 1.23 × 10²).

double x = 1234.56;
cout << scientific << x;
// Afișează: 1.234560e+03

play_circle2. Exemplu Complet

Afișarea unui tabel aliniat este cel mai bun exemplu pentru utilizarea lor împreună.

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
  // Setăm formatul fix cu 2 zecimale pentru toate numerele viitoare
  cout << fixed << setprecision(2);

  cout << setw(10) << "Produs" << setw(10) << "Pret" << endl;
  cout << setw(10) << "Mar" << setw(10) << 2.5 << endl;
  cout << setw(10) << "Paine" << setw(10) << 10.0 << endl;

  return 0;
}
/* Output: */ Produs Pret Mar 2.50 Paine 10.00

warningCapcană la Bacalaureat

Țineți minte că setw(n) își pierde efectul imediat după prima variabilă afișată, așadar trebuie rescris înaintea fiecărui element pe care dorim să-l lățim. În schimb, setprecision(n) și fixed rămân active pentru tot restul programului odată aplicate!

syncSe încarcă statusul...