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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dar formato al mostrar array de estructura en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dar formato al mostrar array de estructura en C  (Leído 2,948 veces)
Torino10

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Dar formato al mostrar array de estructura en C
« en: 19 Abril 2012, 16:35 pm »

Hola!

Quisiera saber si hay alguna forma o tienen algún ejemplo de como mostrar un array de estructura en forma de registros...

Tengo un array del tipo "estruct informacionpersonal", esta estructura tiene nombre, dni, edad, telefono, direccion, etc...

A la hora de mostrarlo comúnmente me saldría así

matricula: ...
Nombre: ...
dni: ...
edad: ...
telefono: ...
etc...

Trate de mostrarlo de la siguiente forma

matricula         nombre          dni        edad        telefono       etc
...                    ...                  ...         ...            ...                ...
...                    ...                  ...         ...            ...                ...
...                    ...                  ...         ...            ...                ...

Me sale mostrarlo asi pero se me compica cuando algunos "campos" toma una longitud mas grande o mas chica como por ejemplo el nombre que puede variar...

Qué podria hacer para establecer tamaños fijos en cada "columna"?

Es mas, necesito mostrarlos asi porque debo ordenarlos por un numero de matricula que es el primer cambio y quiero que se vea el cambio del array al cargarlo desordenadamente y luego al quedar ordenado.

Saludos!


En línea

"Tanto si crees que puedes, como si crees que no puedes, estas en lo correcto"
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Dar formato al mostrar array de estructura en C
« Respuesta #1 en: 19 Abril 2012, 17:19 pm »

Hola! lo que podes hacer es usar los modificadore de formato, ejemplo:
Código
  1. printf("%10s %10s %10s\n","Nombre","matricula","dni");
  2. printf("%10s %10s %10d\n","Torino10","AJFUDS",12345678);

El numero 10 entre "%" y "s" indica que va a ocupar un minimo de 10 espacios comenzando desde la derecha. Si queres justificarlo hacia la izquierda solo le agragras el menos: %-10s

Saludos


En línea

Ahorrate una pregunta, lee el man
Torino10

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Dar formato al mostrar array de estructura en C
« Respuesta #2 en: 19 Abril 2012, 17:29 pm »

Ahora pruebo, gracias por responder y de paso aprovecho para hacerte una consulta...

Estoy creando una función para buscar un "registro" dentro de un array del tipo struct. El mismo que puse arriba de ejemplo.

Tengo que buscar por nombre y la hice asi

Código
  1. int busquedapornombre (struct infopersonal *puntero, int dim, char val)
  2. {  
  3.    int encontrado=-1;
  4.  
  5.    for (int i=0; i<dim; i++)
  6.        {
  7.        if (strcmp(puntero[i].nombre, val)==0)
  8.           {
  9.           encontrado=i;
  10.           }    
  11.        }
  12.  
  13.    return encontrado;
  14. }

Me sale el siguiente error: "no match for 'operator[]' in 'puntero' "

Qué podra ser que estoy haciendo mal?

A la función la llamo del main de la siguiente forma

Código
  1. ordenarpornombre (vec, dim, val);

Y la tengo definida asi

Código
  1. int busquedapornombre (struct infopersonal *puntero, int dim, char val);
En línea

"Tanto si crees que puedes, como si crees que no puedes, estas en lo correcto"
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Dar formato al mostrar array de estructura en C
« Respuesta #3 en: 19 Abril 2012, 17:41 pm »

No se porque te marca como si el error fuese el puntero, lo que veo mal es el uso de strcmp, esta funcion recive dos puntero a char(char *) y vos le estas pasando "val" que es un char. Corregi eso

Saludos
En línea

Ahorrate una pregunta, lee el man
Torino10

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Dar formato al mostrar array de estructura en C
« Respuesta #4 en: 19 Abril 2012, 19:00 pm »

Muchisimas gracias por la ayuda!

Era ese el error y ya esta solucionado!

Un abrazo!
En línea

"Tanto si crees que puedes, como si crees que no puedes, estas en lo correcto"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Copiar parte de una array a otra array
Programación Visual Basic
sircid 3 5,242 Último mensaje 19 Diciembre 2007, 11:27 am
por LeandroA
Evitar mostrar errores en mysql y en vez mostrar mensaje personalizado
Bases de Datos
Cioouw 3 11,722 Último mensaje 26 Abril 2010, 16:25 pm
por Cioouw
Problema al mostrar posicion de un array
Programación C/C++
BJM 2 7,912 Último mensaje 19 Diciembre 2018, 17:58 pm
por avaquerotoba
Mostrar todo el array? (smarty)
PHP
Cergath 1 1,877 Último mensaje 14 Noviembre 2013, 07:01 am
por Cergath
Descifrar estructura de archivo con formato propietario
Ingeniería Inversa
marceloarguello700 2 2,361 Último mensaje 19 Agosto 2014, 18:39 pm
por marceloarguello700
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines