Domingo 15 de Diciembre de 2024, 04:04
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: como hacer una tabla con array??
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: como hacer una tabla con array?? (Leído 2507 veces)
kurko
Miembro activo
Mensajes: 33
Re: como hacer una tabla con array??
«
en:
Domingo 20 de Abril de 2003, 00:53 »
0
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!!
Tweet
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: como hacer una tabla con array??
«
Respuesta #1 en:
Domingo 20 de Abril de 2003, 01:07 »
0
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.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: como hacer una tabla con array??
«
Respuesta #2 en:
Domingo 20 de Abril de 2003, 01:27 »
0
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
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
kurko
Miembro activo
Mensajes: 33
Re: como hacer una tabla con array??
«
Respuesta #3 en:
Domingo 20 de Abril de 2003, 01:36 »
0
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
Miembro activo
Mensajes: 33
Re: como hacer una tabla con array??
«
Respuesta #4 en:
Domingo 20 de Abril de 2003, 01:47 »
0
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
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: como hacer una tabla con array??
«
Respuesta #5 en:
Domingo 20 de Abril de 2003, 05:59 »
0
este error se debe especificamente a esto:
while(n=nombre && n!=NULL,i++)
si te fijas estas asignando con
=
en vez de comparar con
==
, te pasa en las dos ocasiones que lo usas.
Una vez los corrijas te van a salir estos errores:
lista.c(24) Warning: comparison of distinct pointer types lacks a cast
lista.c(31) Warning: comparison of distinct pointer types lacks a cast
y es porque
while(n==nombre && n!=NULL,i++)
si te fijas compararias n que es tipo char *, con nombre, que tambien lo es..
pues bien , en c no puedes comparar asi los datos, lo que debes hacer es compararlos uno a uno en cada una de sus posiciones, por suerte para ti ya existen las funciones que hacen esto, y son:.....(estas son del djgpp, la mayoria estaran tambien en otros compiladofres, pero no lo garantizo)
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
stricmp
strncasecmp
strncat
strncmp
strncpy
strnicmp
strpbrk
strrchr
strsep
strspn
strupr
strxfrm
todas sirven para cosas diferentes, para comparar, para comparar sin tener en cuenta mayusculas y minusculas, para concatenar, para conseguir subcadenas de una cadena, para convertir de mayus a minus, viceversa, etc, etc...
si tuviese
char a [10], b[30];
...
...
if (strcmp(a,b)==0)//son iguales
{
}
else
{
}
asi que debes de rediseñar tu programa para implementar estas funciones, recuerda que si tienes
char a [5][10];
char b[12];
tendrias que hacer algo como
strcmp(a[1],b);... segun lo que vayas a comparar.
suerte
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
kurko
Miembro activo
Mensajes: 33
Re: como hacer una tabla con array??
«
Respuesta #6 en:
Domingo 20 de Abril de 2003, 23:55 »
0
nuevamente, gracias juanka!!
kurko
Miembro activo
Mensajes: 33
Re: como hacer una tabla con array??
«
Respuesta #7 en:
Lunes 21 de Abril de 2003, 00:13 »
0
juanka
donde puedo encontral informacion sobre ke hacen especificamente estas funciones??
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
stricmp
strncasecmp
strncat
strncmp
strncpy
strnicmp
strpbrk
strrchr
strsep
strspn
strupr
strxfrm
desorden
Miembro activo
Mensajes: 57
Re: como hacer una tabla con array??
«
Respuesta #8 en:
Lunes 21 de Abril de 2003, 01:54 »
0
Documentación Libc
desorden
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: como hacer una tabla con array??
«
Respuesta #9 en:
Lunes 21 de Abril de 2003, 02:39 »
0
por lo general tu compilador la dabe tener, si es el turboc o el djgpp, bastara con predionar F! sobre la palabra clave para que te muestre los encabezados necesarios, los datos que necesitan, los datos que devuelven y po supuesto un ejemplo, con el Visual C++ , talñ vez a travez de msdn library, o con el Visual Studio.NET con actyivar la ventana de ayuda dinamoca y colocar el cursos sobre la palabra clave, funcion, etc, etc, esta ayuda se modificara y te mostrara links a la diferente dopcumentcion y o ejemplos que puedas necesitar, por supuesto quue esta documentacio queda instalada con vs.net...
he subido la documentacion de
libc
para el djgpp e esta direccion:
http://juank-solocodigo.iespana.es
no olvides que te sirve, porque en general estos parametros no deberian cambiar de un compilador a otro, salvo que sean funciones propias del compilador.
Suerte.
Juank:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
kurko
Miembro activo
Mensajes: 33
como hacer una tabla con array??
«
Respuesta #10 en:
Miércoles 23 de Abril de 2003, 00:30 »
0
gracias por todo
me sirvio mucho.
kurko:good:
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: como hacer una tabla con array??