Programación General > C/C++
Re: como hacer una tabla con array??
kurko:
necesito saber como hacer una tabla con arrays.
la idea es mas o menos esto
nombre| apellido | edad
pedro | flores | 26
juan | perez | 27
y ke cada nombre, apellido y edad sea un elemento del vector.
ayudenme porfa.
gracias!!
JuanK:
:comp:
sabes...para los que nos tomamos el trabajo de ayudar con las preguntas...es importante saber si te sirvio de ayuda o no.... por favor nunca dejes un tema en blanco, si fue concluido o sirvio, o no sirvio, por favor documentalo para que todos sepan si lo que se hizo esta bien , o hay que implementar otra cosa... es desagradable trabajar sobre un problema y aunque no es necesario recibir agradecimjeintos, por lo menos poderce uno enterar que sucedio con el problema.
:bad:
JuanK:
con respecto al arrai de vectores:
esta es una alternativa, aunque puedes tener otras:
debes tener en cuenta que solicitaste una tabla, asi que latabla es un contendor de otros tipos de dato, entonces definimos una estructura asi:
--- Código: Text --- struct tabla{ char nombre[20]; char apellido[20]; int edad[2];}
2-una vez definido el tipo, creamos una variable del tipo struct tabla:
struct tabla MiTabla;
y para acceder a los campos de este registro hacemos:
MiTabla.Nombre="Juank";
MiTabla.Apellido="KnauJ";
MiTabla.edad=23;
y asi se hace, sin embargo solo trienes un registro, asi que es mejor hacerlo asi, para meter cuantos registros querramos:
--- Código: Text --- struct tabla *MiTabla;/*un apuntador a memoria que contiene un tipo de dato tabla*/MiTabla=(struct tabla *) malloc(sizeof(struct tabla));/*pedimos una direccion de memoria que apunte a un segmento del tamaño de struct tabla, y la asignamos a nuestro apuntador*/ /*accesamos a los datos asi:, es diferente porque ahora son apuntadores*//*el operador '-->' se puede leer... tabla que apunta a...*/MiTabla->Nombre="Juank";MiTabla->Apellido="KnauJ";MiTabla->edad=23;/*sin embargo para enlazr con el siguiente miembro de la lista es mejor incluir en la estructura, por lo menos el campo siguiente, para poder hacer esto:*/ struct tabla *aux;aux=(struct tabla *) malloc(sizeof(struct tabla));MiTabla->siguiente=aux;/* se lee mi tabla en su campo siguiente apunta a aux...ver respuesta de la pregunta anterior para mas detalles*/. O T R A F O R M A
/*guardar 20 campos de cada uno, en el
caso de nombre y apellido, cada campo
es capaz de guardar informacion de 20 caracteres*/
char nombre[20][20];
char apellido[20][20];
int edad[20];
/*aqui ya tienes una tabla de 20 filas y
tres columnas, solo tienes tantas filas
como decidas al momento de la creacion
de la variable : queda asi:
nombre apellido edad
1
2
3
4
5
.
.
.
20
espero que esto haya solucionado tu pregunta.
juank
kurko:
gracias!!
y disculpa por haber dejado el tema anterior sin respuesta.
hice esto y no me funciona, si puedes, revisalo.
la idea es llenar los vectores, en este caso con 2 nombres y 2 apellidos.
luego hacer un switch para buscar por nombre o por apellido.
por favor, revisalo.
gracias
#include <stdio.h>
main ()
{
int eleccion;
int i=0;
char n[2][10];
char a[2][10];
char nombre[10];
char apellido[10];
printf("ningrese su nombre: "); // llenamos los vectores//
scanf("%s",&n[0]);
printf("ningrese su apellido: ");
scanf("%s",&a[0]);
printf("ningrese su nombre: ");
scanf("%s",&n[1]);
printf("ningrese su apellido: ");
scanf("%s",&a[1]);
printf("nelije 1 para buscar por nombre, 2 por apellido, 3 para salir:");
scanf("%d",&eleccion);
switch (eleccion) //menu de buskeda
{
case 1:printf("ningrese nombre a buscar:"); //buscar por nombre
scanf("%s",&nombre);
while(n=nombre && n!=NULL,i++)
{
printf("%s, %s",n,a);
}
break;
case 2:printf("ingrese apellido a buscar:");
scanf("%s",&apellido);
while(a=apellido && a!=NULL,i++)
{
printf("%s, %s",n,a);
}
case 3: break;
default: break;
}
}
kurko:
cuando compilo lo ke en el mensaje anterior puse, me aparece lo siguiente.:
c:>gcc-o prueba prueba.c
prueba.c: In function `main':
prueba.c:24: incompatible types in assignment
prueba.c:31: incompatible types in assignment
que significa eso??
gracias :good:
Navegación
[#] Página Siguiente
Ir a la versión completa