Nota inicial 1: El programa tienes que hacerlo en C, no en C++, por tanto sobra "using namespace".
Nota inicial 2: "fflush" está pensado para buffers de salida, no de entrada. fflush(stdin) puede dar resultados inesperados.
Necesitas crear 3 listas:
Al final la estructura que queda es la que sigue:
Tienes una lista de intérpretes, cada intérprete tiene su propia lista de Cds. De forma paralela hay una lista de disqueras, de tal forma que cada CD acaba apuntando a la disquera que le corresponde.
De esto se deduce que tu estructura TEMPTATIONS no es correcta, ya que ahí estás forzando a que la relación intérprete-cd sea 1-1.
Nota inicial 2: "fflush" está pensado para buffers de salida, no de entrada. fflush(stdin) puede dar resultados inesperados.
Necesitas crear 3 listas:
Código (cpp) [Seleccionar]
typedef struct Disquera
{
char nombre[20];
struct Disquera* siguiente;
} Disquera;
typedef struct Cd
{
char nombre[20];
Disquera* disquera;
struct Cd* siguiente;
} Cd;
typedef struct Interprete
{
char nombre[20];
Cd* inicioListaCds;
Cd* finListaCds;
struct Interprete* siguiente;
} Interprete;
Al final la estructura que queda es la que sigue:
Tienes una lista de intérpretes, cada intérprete tiene su propia lista de Cds. De forma paralela hay una lista de disqueras, de tal forma que cada CD acaba apuntando a la disquera que le corresponde.
De esto se deduce que tu estructura TEMPTATIONS no es correcta, ya que ahí estás forzando a que la relación intérprete-cd sea 1-1.