Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2013, 12:12
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: ¿Cómo uso manipuladores en este ejercicio?

Creo que con este ejemplo sera suficiente para que te des una idea.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. int main() {
  5.  
  6.     // Esto es para hacer que un entero ocupe al menos 5
  7.     // Si ocupa mas espacio se tomara el que sea necesario
  8.     std::cout << std::setw(5) << 999999 << std::endl;
  9.     std::cout << std::setw(5) << 99999 << std::endl;
  10.     std::cout << std::setw(5) << 9999 << std::endl;
  11.     std::cout << std::setw(5) << 999 << std::endl;
  12.     std::cout << std::setw(5) << 99 << std::endl;
  13.     std::cout << std::setw(5) << 9 << std::endl;
  14.     std::cout << std::endl;
  15.  
  16.     // Lo mismo que arriba pero puedes alinear a la izquierda
  17.     std::cout << std::setiosflags(std::ios::left);
  18.     std::cout << std::setw(5) << 999999 << " 1" << std::endl;
  19.     std::cout << std::setw(5) << 99999 << " 1" << std::endl;
  20.     std::cout << std::setw(5) << 9999 << " 1" << std::endl;
  21.     std::cout << std::setw(5) << 999 << " 1" << std::endl;
  22.     std::cout << std::setw(5) << 99 << " 1" << std::endl;
  23.     std::cout << std::setw(5) << 9 << " 1" << std::endl;
  24.     std::cout << std::endl;
  25.  
  26.     // Alineamos a la derecha otra vez.
  27.     std::cout << std::setiosflags(std::ios::right);
  28.     // En lugar de llenar con espacios en blanco podemos usar otros caracteres.
  29.     std::cout << std::setfill('0') << std::setw(5) << 999999 << std::endl;
  30.     std::cout << std::setfill('0') << std::setw(5) << 99999 << std::endl;
  31.     std::cout << std::setfill('0') << std::setw(5) << 9999 << std::endl;
  32.     std::cout << std::setfill('0') << std::setw(5) << 999 << std::endl;
  33.     std::cout << std::setfill('0') << std::setw(5) << 99 << std::endl;
  34.     std::cout << std::setfill('0') << std::setw(5) << 9 << std::endl;
  35.     std::cout << std::endl;
  36.  
  37.     // Para imprimir la precision de lugares decimales de un flotante o double
  38.     std::cout << std::setiosflags(std::ios::fixed) << std::setprecision(2) << 10.1024 << std::endl;
  39.  
  40.  
  41.     return 0;
  42. }