elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alinear texto a la derecha
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alinear texto a la derecha  (Leído 3,406 veces)
Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Alinear texto a la derecha
« en: 12 Diciembre 2015, 17:01 pm »

Buenas!
Me encuentro con una sequencia de datos que deben ir siendo alineados a la derecha y creo que estoy usando mal el cout << setw( WIDTH ).
El codigo de esta parte es este:
Código:
while ( ! fin.eof() )
    {
        cout << codi << " " << nom << setw( WIDTH ) << numero << endl;
        fin >> nom >> codi >> numero;
    }
Dejo tambien una imagen de mi resultado y de como deberia ser, a ver si alguien puede hecharme un cable..
http://imageshack.com/a/img903/7683/C834En.png
Gracias!


En línea

Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Alinear texto a la derecha
« Respuesta #1 en: 12 Diciembre 2015, 17:14 pm »

Lo que vi que falla es que el setw empieza a contar los espacios despues de la ultima palabra escrita, cuando lo que deseo que haga es contarlas desde el principio de la linea. Alguna idea?


En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: Alinear texto a la derecha
« Respuesta #2 en: 12 Diciembre 2015, 19:12 pm »

Te diré que, el código del programa esta bién, lo que pasa que no es lo mismo realizar una tabulación desde la posicion 5 que desde la 7, me explico:

Fila 1                        Fila 2
perro                  589456            
Elefante                   896454    

Perro (4 char ) + 18 Espacios = Inicio Segunda fila en la posicion 22
Elefante (8 char) + 18 Espacios = Inicios segunda fila posicion 26

Para desarrollar una solución con las filas perfectas tendrías que desarrollar una algoritmo que le restase los espacios cuando mas grande fuera el nombre del animal y te saldrían todas las filas cuadradas.

Los de los animales a sido un ejemplo, espero que lo hallas logrado entender.

saludos!
En línea

Un byte a la izquierda.
Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Alinear texto a la derecha
« Respuesta #3 en: 12 Diciembre 2015, 19:29 pm »

Y no hay alguna manera de que cuente a partir del principio? Es decir, que ignore lo que tenga escrito a la izquierda de manera que todas las filas queden alineadas.
En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: Alinear texto a la derecha
« Respuesta #4 en: 12 Diciembre 2015, 19:38 pm »

Te he respondido arriba como hacerlo  :rolleyes:

Partiremos de la base de que los primeros 20 caracteres son para la primera fila
y desde el caracter 21 hasta X sera para la segunda fila, entonces:


(20 - strlen(perro)) = 15, imprimimos perro, 15 espacios y a continuación la segunda columna.

(20 - strlen(elefante)) = 12, imprimimos elefante, 12 espacios y a continuacion la segunda columna, y quedaría así:

Fila1                fila2
perro                589456
elefante            896454

Espero lo hallas entendido ahora.
En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Alinear NUEVOS iconos del escritorio a la derecha o abajo a la izquierda?
Windows
SuperDraco 3 7,263 Último mensaje 5 Junio 2011, 16:25 pm
por Randomize
alinear texto
Programación C/C++
m@o_614 8 7,757 Último mensaje 10 Febrero 2013, 20:20 pm
por do-while
Alinear texto (Solucionado) « 1 2 »
Programación C/C++
nolasco281 11 8,067 Último mensaje 26 Marzo 2014, 17:46 pm
por leosansan
Alinear 3 imágenes en una línea con texto abajo? css
Desarrollo Web
andrecid 1 3,973 Último mensaje 9 Enero 2016, 03:17 am
por xiruko
Alinear textos derecha e izquierda
.NET (C#, VB.NET, ASP)
rigorvzla 3 5,684 Último mensaje 16 Agosto 2021, 00:13 am
por ThunderCls
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines