Hola, quisisera saber si alguien me puede ayudar en lo siguiente. Tengo un ejercicio y su respuesta, pero no entiendo mucho la respuesta como para estudiarla y hacer un programa parecido yo mismo. Si alguien me puede explicar se lo agradeceria un monton!
Aqui va la pregunta:
Se tiene una lista doble circular que ontiene la siguiente informacion: Cada nodo de la lista representa una sucursal que se identifica mediante uncodigo. Ademas se tiene la direccion, el telefono y el rut del jefe de local. Cada sucursal posee una lista de departamentos de ventas(que poseen al menos 4 atributos). Y cada departamento de ventas posee una lista de productos (5 atributos) que se comercializan en cada uno de ellos. Realice el procedimiento indicado en lenguaje C++.
Aqui va la respuesta:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
int Sdep, Sgiro, Spago;
struct suc //sucursal
{ struct suc *sgte;
struct suc *ant;
struct depto *sgte_depto;
int cod,fono, rut;
char nom[30]; };
struct depto
{ struct produc *sgte_prod;
struct depto *sgte;
struct depto *ant;
char comuna[30],direccion[30],nom_depto[30];
float prom_venta; };
struct produc
{ struct produc *sgte;
struct produc *ant;
char hogar[30],cocina[30],infantil[30],hombre[30],mujer[30]; };
typedef struct _nodo
{ struct _nodo *siguiente; } Tnodo;
typedef Tnodo *Lista;
int resultado(Lista,int valor);
typedef struct suc SUC1;
typedef struct depto DEP1;
typedef struct produc PRO1;
SUC1 *s1;
DEP1 *d1;
int main()
{ int x, n;
Lista lista = NULL;
printf("Ingrese el codigo de la Sucursal:");
scanf("%d",&x);
n = resultado(lista,x);
printf("LA CANTIDAD DE DEPARTAMENTOS QUE TIENE LA SUCURSAL CODIGO %d es : %d ",x,n);
system("pause"); }
int resultado(Lista,int valor)
{ int cont;
while (s1->sgte == NULL)
{ if(valor == s1->suc.cod)
DEP1 *punt;
punt = s1->sgte_depto;
while(punt -> sgte == NULL)
{ cont += cont;
d1 = d1-> sgte; }
s1 = s1->sgte; } }
Mi pregunta es, para que se usa el typedef?, y a grandes rasgos, que hace el programa? Muchas gracias.