Egész kimenet formázása

A fejlesztőeszközünk dokumentációja segítségével írjuk meg az alábbi C programrészlet C++ megfelelőjét!

int i = 10;

 

printf("%d\n",i);

printf("%04d\n",i);

printf("%+d\n",i);

 

printf("%X\n", i);

printf("%x\n", i);

printf("%#X\n",i);

printf("%02X\n",i);

 

printf("%o\n",i);

 



A megoldásért kattints ide!

A megoldás során figyelnünk kell arra, hogy a C++ adatfolyamok setw kivételével a formázási beállítások többségét megjegyzik. A megoldáshoz át kell nézni az I/O manipulátorokat.

#include <iostream>
#include <iomanip>

using namespace std;
...
  


// Változó kiírása soremeléssel

cout << i << endl;

// A kitöltőkaraktert nullára, a mezőszélességet 4-re állítjuk

cout << setfill('0') << setw(4) << i << endl;

// Pozítív érték esetén is írjon előjelet

cout << showpos << i << endl;

// Hexadecimálisan írja ki a számot, a betűk nagybetűk

cout << hex << uppercase << i << endl;

// Hexadecimálisan írja ki a számot, a betűk kisbetűk

cout << hex << nouppercase << i << endl;

// Hexadecimálisan írja ki a számot, (a betűk és az X nagybetűk az előző miatt), mutatja a 0X előtagot

cout << hex << uppercase << showbase << i << endl;

// Hexadecimálisan írja ki a számot, 2 mezőben, ha egyjegyű, akkor 0 előtaggal,

// a noshowbase az előző miatt kell neki. Hexdump programok így szoktak

// hexadecimális számot megjeleníteni

cout << hex << uppercase << noshowbase << setfill('0') << setw(2) << i << endl;

 

// Kiírás 8-as számrendszerben

cout << oct << i << endl;

 




2008.01.05. 14:32:31 |  Permalink  |  Hozzászólások száma: 0  |  Tárgyszavak: Formázás


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások