Ayuda con listas por favor

Hola.! Me gustaría saber si me podrías ayudar con un ejercicio de lista no lo entiendo es la primera ves que veo esto y la prof. No se da a entender =( =( o dar un ejemplo de como hacerlo por favor este es el enunciado:
Dada la lectura de la siguiente información de ventas mensuales, en forma desordenadas y donde puede existir muchas líneas de información para el mismo producto: codigo_producto, dia_factura, monto_factura. Crear y cargar una lista lineal simplemente encadenada, con esta información; crear y cargar 3 nuevas listas lineal simplemente encadenada, una por cada una de los tres productos que oferta la empresa, a partir de la lista creada en el punto anterior, de tal forma que quede ordenada por dia_factura; resumir la información por dia_factura, para cada una de las listas creada en el punto anterior; imprimir cada lista obtenida en el punto anterior, finalizando con el total de ventas mensual por producto. Dada la lectura de la siguiente información de ventas mensuales, en forma desordenadas y donde puede existir muchas líneas de información para el mismo producto: codigo_producto, dia_factura, monto_factura. Crear y cargar una lista lineal simplemente encadenada, con esta información; crear y cargar 3 nuevas listas lineal simplemente encadenada, una por cada una de los tres productos que oferta la empresa, a partir de la lista creada en el punto anterior, de tal forma que quede ordenada por dia_factura; resumir la información por dia_factura, para cada una de las listas creada en el punto anterior; imprimir cada lista obtenida en el punto anterior, finalizando con el total de ventas mensual por producto.
Le agradezco su ayuda :) gracias.!

1 respuesta

Respuesta
1
Eso es un ejemplo que te servirá de punto de partida:
#include<stdlib.h>
#include<stdio.h>
struct list_elemento {
   int tipo_producto;
   int dia;
   int mes;
   int anio;
   struct list_elemento *siguiente;
};
typedef struct list_elemento productos; //creamos un tipo nuevo 
void main() 
  {
   productos *actual, *primero;
   int i;
   primero = NULL; //Empezamos la lista esta vacia
for(i=1;i<=10;i++) //Ponemos 10 productos
  {
     actual = (productos *)malloc(sizeof(list_elemento)); //creamos elemento que pondremos ANTES del primero
     actual->tipo_producto = i; //Ponemos la referencia
     actual->día = i; //el día de la fecha
     actual->mes = i; // el mes de la fecha
     actual->anio = i; // el anio de la fecha
     actual->siguiente  = primero; //el puntero que da el siguiente producto
     primero = actual; //Ahora el primer elemento es el ultimo creado
   }
   //Apuntamos al primer elemento de la lista
   actual = primero;
   while(actual != NULL) {  //imprimimos para ver como salió
      printf("%d\n", actual-> tipo_producto);
      actual = actual->next ; //Vamos a ver el siguiente elemento
   }
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas