// formater.cpp Formatage des affichages // > 3 bases de numération // > précision ou nombre de chiffres après la virgule // > nombre de colonnes utilisées et cadrage (gauche, droit) // > caractère de remplissage // > notation scientifique ou non // auteur: R.Astier // g++ formater.cpp // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + #include <iostream.h> #include <math.h> // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // - - - - - - Q u e l q u e s u t i l i s a t i o n s - - - - - + int main( int nm, char *mots[]) { // Pour les entiers: 3 bases de numération cout << "Pour les entiers: 3 bases "<<endl; int n=1234; cout<<" cout.setf(ios::dec,ios::basefield) ==> "<<n<<endl; cout.setf(ios::hex,ios::basefield); cout<<" cout.setf(ios::hex,ios::basefield) ==> "<<n<<endl; cout.setf(ios::oct,ios::basefield); cout<<" cout.setf(ios::oct,ios::basefield) ==> "<<n<<endl; cout.setf(ios::dec,ios::basefield); // Précision ou nombre de chiffres après la virgule cout<<"précision à l'affichage: cout.précision(11)"<<endl; cout<<" précision standard : "<<M_PI<<endl; unsigned long svg=cout.precision(11); cout<<" cout.précision(11) : "<<M_PI<<endl; cout.precision(svg); // retour précision précédente // Largeur et cadrage cout<<"Largeur:cout.width(9), cadrage:.setf(ios::left,ios::adjustfield)" <<endl; cout<<" standard : '"<<M_PI<<"'"<<endl; cout<<" 11 colonnes à droite: '"; cout.width(11); cout<<M_PI<<"'"<<endl; cout<<" 11 colonnes à gauche: '"; svg=cout.setf(ios::left,ios::adjustfield); cout.width(11); cout<<M_PI<<"'"<<endl; // Caractère de remplissage cout<<"Remplissage par # cout.fill('#')"<<endl; cout.setf(ios::right,ios::adjustfield); cout.fill('#'); cout<<" 11 colonnes à droite: '"; cout.width(11); cout<<M_PI<<"'"<<endl; // Notation scientifique (avec exposant) ou fixe ? cout<<"Notation scientifique ou non (ici précision=9)"<<endl; double e=exp(1)*100; cout.precision(9); cout.setf(ios::scientific,ios::floatfield); cout<<" cout.setf(ios::scientific,ios::floatfield) "<<e<<endl; cout.setf(ios::fixed,ios::floatfield); cout<<" cout.setf(ios::fixed,ios::floatfield) "<<e<<endl; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + cout<<"\n> > > "; cin.getline( new char[80],80); return 0; } // fin