C/Visual C - Una ayuda en C para listas enlazadas con punteros

 
Vista:

Una ayuda en C para listas enlazadas con punteros

Publicado por Mercury Phoenix (3 intervenciones) el 09/06/2004 13:02:11
Soy novato en esto,para mas de las mas estoy estudiando en la Universidad, el Prof no nos esta ayudando mucho q se diga y lo que quiere es que paguemos para pasarle, bueno yo he realizado algo pero no estoy seguro que este bien, el plantamiento dice lo siguiente:"se tiene una lista simplemente encadenada con datos de una nmina de empleados.Realice un programa que permita almacenar en otra lista encadenada todos los empleados cuya edad sean mayor a 50 años", bueno he aqui el asunto el hizo otros pero este al parecer es mas complicado y no nos quiere mostrar la solucion bien aqui tengo la que creo es la solucion:
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
#include "conio.h"

struct d{
int codigo,edad;
char nombre[20];
float sueldo;
struct d *sig;
};
struct d *inicio,*anterior,*ultimo;
struct c{int codigo,edad;
char nombre[20];
float sueldo;
struct c *si;};
struct c *inici,*anterio,*ultim;
main(){
int mcod,linea=0;struct d *i; struct c *p;
i=inicio;p=inici;
while (i){
if (i->codigo) if (i->edad>50) {p=(struct c*) malloc(sizeof(struct c));
strcpy(p->nombre,i--nombre);p->codigo = i->codigo;}
}
}
Cualquier ayuda es de utilidad gracias y salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Una ayuda en C para listas enlazadas con punter

Publicado por Jesus Oliver Beltran (166 intervenciones) el 09/06/2004 14:11:32
Muy bonito el codigo, si señor.
Solo algunas correcciones, la principal a mi vista es la repeticion del tipo de datos. Por qué simplemente no declaras otra lista del tipo struct d?
Has comprobado que el codigo que haces inserte en la otra lista?, me parece que no eh? a ver que hace cuando hay mas de un minero de mas de 50 años.

Otra cosa, mas funcional que nada. Para utilizar una estructura de tipo lista, sea por punteros o arrays, es mejor utilizar un TAD (Tipo Abstracto de Datos). Esto consiste en una serie de operaciones basicas, sobre las que puedes programar tu, u otra persona, sin tener conocimiento de la estructura usada.
Algunas operaciones básicas son : Crear, Insertar, Eliminar, Modificar, Cosultar, y esVacio.
Por supuesto, siempre puedes ampliar el TAD con una biblioteca. Un ejemplo de como quedaria tu problema mediante un TAD. Siempre como una funcion ;-)
ListaMineros *CribaMineros(ListaMineros *origen)
{
ListaMineros *aux ,*copia;
Crear(copia);
aux=origen;
while !(esVacio(aux))
{
if (consultarEdad(aux)>=50) Insertar(copia, aux->codigo, aux- >nombre,aux->edad);
avanzar(aux)
}
return copia;
}

¿A que es mucho mas legible?
Espero que te sirva de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una ayuda en C para listas enlazadas con punter

Publicado por Mercury Phoenix (3 intervenciones) el 09/06/2004 21:30:10
Upps me equivoque colocando la respuesta....Gracias pero queria decirte q... bueno es mas entendible... pero tienes q entender q el Prof q tenemos no nos ha dado nada que sea muy guiador.... si tu quieres te muestro el programa uno solo que ha hecho completo.... para que tu veas q uno se pierde en ese menu que hizo, lo que coloque fue a punta de mochas y trancas,bueno con respecto al codigo lo q el prof siempre ha dicho es que.... cuando sea verdad el codigo es debido que existe... bueno mira si tu quieres te muestro lo q él ha hecho en un diskette para que lo veas que no es mentira mira,pero lo q mas me interesa es poder hacer lo q t digo trasladar, los datos de una lista a otra, con la explicacion que tu me das como o donde lo pondria? es mas tengo otros 2 q dan errores q fueron los ultimos q el dio y no le intereso explicarlos eso para q salgamos mal en el examen, o siguiendo la misma filosofia del Prof. como lo haria? no comprendo si me puedes ayudar te lo agradeceria bye...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una ayuda en C para listas enlazadas con punter

Publicado por Erick (92 intervenciones) el 14/06/2004 00:53:50
Te puedo ayudar, el punto es si aun te es de utilidad!!

Escribeme!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar