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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Tabular salida en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tabular salida en C  (Leído 15,386 veces)
hervasiop12345

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Tabular salida en C
« en: 20 Octubre 2013, 22:20 pm »

Hola a todos.

He implementado una orden para un intérprete de comandos que muestra los procesos en ejecución. La cuestión es que quiero que la salida aparezca tabulada pero no lo consigo, unas veces sale bien y otras mal. Primero imprimo las columnas y luego debajo ya mientras recorro la lista de procesos imprimo con la misma separación usando \t. ¿Alguna función en C para tabular salida? uso printf  pero nada.

Antes de imprimir hago fflush(stdout) para limpiar por si acaso pero no sirve de nada.

Gracias adelantadas. Un saludo


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Tabular salida en C
« Respuesta #1 en: 21 Octubre 2013, 05:02 am »

#include <stdio.h>

int main()
{
   int precio1 = 1;
   int precio2 = 10;
   int precio3 = 100;
   int precio4 = 1000;
   
   printf("\t%d\n", precio1);
   printf("\t%d\n", precio2);
   printf("\t%d\n", precio3);
   printf("\t%d\n", precio4);
   printf("\t%d\n", precio3);
}

Así?


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Tabular salida en C
« Respuesta #2 en: 21 Octubre 2013, 08:54 am »

Hola a todos.

He implementado una orden para un intérprete de comandos que muestra los procesos en ejecución. La cuestión es que quiero que la salida aparezca tabulada pero no lo consigo, unas veces sale bien y otras mal. Primero imprimo las columnas y luego debajo ya mientras recorro la lista de procesos imprimo con la misma separación usando \t. ¿Alguna función en C para tabular salida? uso printf  pero nada.

Antes de imprimir hago fflush(stdout) para limpiar por si acaso pero no sirve de nada.

Gracias adelantadas. Un saludo

Entiendo que tu lo que persigues es algo tal que...

Código:
Id   Nombre   Edad
 1   Maria      20
 2   Sergio     28
 3   Laura      26
 4   Jose       45
 5   Sonia       8

La forma correcta de formatear esta salida es configurar printf para que "reserve" un espacio mínimo para cada campo:

Código
  1. printf( "%02d", id );    // Dos caracteres para el id, relleno con ceros.
  2. printf( " " );           // Espacio adicional
  3. printf( "%8s", nombre ); // 8 caracteres para el nombre.
  4. printf( " " );           // Espacio adicional
  5. printf( "%-2d", edad );  // 2 caracteres para la edad, alineacion derecha.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Tabular salida en C
« Respuesta #3 en: 22 Octubre 2013, 02:44 am »

La forma correcta de formatear esta salida es configurar printf para que "reserve" un espacio mínimo para cada campo
Solo un comentario: cuando se indica la anchura del campo la alineación predeterminada es a la derecha, "%-" se utiliza cuando se quiere una alineación a la izquierda.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Tabular salida en C
« Respuesta #4 en: 22 Octubre 2013, 11:43 am »

Solo un comentario: cuando se indica la anchura del campo la alineación predeterminada es a la derecha, "%-" se utiliza cuando se quiere una alineación a la izquierda.

Un saludo

Cierto. Un lapsus tonto.

Gracias por la corrección
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tabular y Destabular en el editor de VB
Programación Visual Basic
TheGhost(Z) 5 12,321 Último mensaje 12 Agosto 2010, 13:37 pm
por TheGhost(Z)
Ayuda con un problema de visual basic 3 [Tabular]
Programación Visual Basic
marrison 2 1,714 Último mensaje 31 Marzo 2013, 20:17 pm
por Elemental Code
[RESUELTO] comprobar si usuario existe al tabular campo
Desarrollo Web
jecavi20 8 3,006 Último mensaje 2 Septiembre 2013, 21:28 pm
por jecavi20
[Pregunta]: Tabular más rápido.
Desarrollo Web
Leguim 3 917 Último mensaje 3 Octubre 2020, 22:02 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines