Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Cómo uso manipuladores en este ejercicio?

Estas en el tema de ¿Cómo uso manipuladores en este ejercicio? en el foro de C/C++ en Foros del Web. Estoy haciendo un ejercicio en C++ usando consola que consta en hacer los movimientos de una cuenta telefónica, por ejemplo, ingresar saldo, consumo en mensajes, ...
  #1 (permalink)  
Antiguo 14/05/2013, 09:33
Avatar de Gugolplex  
Fecha de Ingreso: junio-2011
Ubicación: Vía Lactea
Mensajes: 35
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta ¿Cómo uso manipuladores en este ejercicio?

Estoy haciendo un ejercicio en C++ usando consola que consta en hacer los movimientos de una cuenta telefónica, por ejemplo, ingresar saldo, consumo en mensajes, megas, mensajes, etc...

Lo que quiero es que el formato siempre salga igual y no se desordene sin importar cual sea el resultado

Aquí les pongo el formato como quiero que salga

http://gugolplex.tk/formato.txt

Y aquí está el código como lo estoy haciendo

http://gugolplex.tk/saldotelefonico.cpp

Estaba leyendo y veo que es necesario usar manipuladores para que salga bien en la consola, pero no se muy bien como hacerlo. Necesito un empujón para saber como sale bien en este caso.

Y otro detalle ¿se puede hacer todo eso usando menos código?

Apenas estoy aprendiendo programación, soy un novato en esto, gracias a todos los que me respondan.
  #2 (permalink)  
Antiguo 14/05/2013, 12:12
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 7 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. }

Etiquetas: c++, consola, formato
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:24.