La libreria <iomanip> permette di controllare in modo preciso la formattazione dell output nei programmi C++. È molto utile per stampare numeri con un determinato numero di decimali, allineare testo, riempire spazi e formattare tabelle.
1️⃣ Inclusione della libreria
Per usare le funzioni di formattazione basta includere:
#include <iomanip>
Le funzioni principali della libreria sono setprecision, setw, setfill, fixed e scientific.
2️⃣ Funzioni principali
| Funzione | Descrizione | Esempio |
|---|---|---|
setprecision(n) |
Numero di cifre significative (o decimali con fixed) | setprecision(3) |
fixed |
Mostra i decimali fissi | cout << fixed; |
scientific |
Notazione scientifica | cout << scientific; |
setw(n) |
Larghezza del campo di stampa | setw(10) |
setfill(c) |
Carattere per riempire gli spazi | setfill('-') |
left, right |
Allineamento del testo | cout << right; |
3️⃣ Esempi pratici
✔ setprecision e fixed
double x = 3.1415926535;
cout << setprecision(3) << x << endl; // 3.14 con fixed
cout << fixed << setprecision(5) << x; // 3.14159
✔ setw e setfill
cout << setw(10) << 42 << endl;
cout << setfill('*') << setw(10) << 42;
✔ Allineamento
cout << left << setw(10) << "Nome";
cout << right << setw(10) << "Età";
4️⃣ Tabella formattata
cout << left << setw(15) << "Prodotto"
<< right << setw(10) << "Prezzo" << endl;
cout << left << setw(15) << "Mela"
<< right << setw(10) << 1.20 << endl;
cout << left << setw(15) << "Pera"
<< right << setw(10) << 1.50 << endl;
LABORATORIO
Formattazione dell output con iomanip
In questo laboratorio imparerai a formattare correttamente l output usando setw,
setfill, fixed e setprecision.
Realizzerai una semplice tabella allineata.
- Ambiente di sviluppo C++
- Libreria
<iomanip>
1 Numero di decimali
Chiedi all utente un numero reale e stampalo con 2, 4 e 6 decimali.
double x;
cout << "Numero: ";
cin >> x;
cout << fixed;
cout << setprecision(2) << x << endl;
cout << setprecision(4) << x << endl;
cout << setprecision(6) << x << endl;
2 Tabella allineata
Crea una tabella con tre colonne: nome, quantita e prezzo.
cout << left << setw(15) << "Prodotto"
<< right << setw(10) << "Q.ta"
<< right << setw(10) << "Prezzo" << endl;
3 Separatore personalizzato
Usa setfill per creare una riga di separazione:
cout << setfill('-') << setw(40) << "" << endl;
4 Esercizi
- Stampa una tabella di 10 numeri e dei loro quadrati, allineata.
- Formatta un listino prezzi con 2 decimali.
- Stampa una ricevuta con separatori e colonne allineate.
- Stampa un numero in notazione scientifica.