Práctica C. Necesito ayuda por favor.
Estoy haciendo una práctica y en el momento de la inserción de datos me da error y no se como solucionarlo, os adjunto el código.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//typedef struct Tclientes cita;
typedef struct {
Tclientes *ppio,*cfinal;
} Tcola;
struct Tclientes {
char nombre[80];
int cantidad_reproductores;
int deposito;
Tcola *sgte;
};
void peticion (Tcola *);
int menu ();
main(){
int opcion;
void peticion (Tcola *);
Tcola cola;
cola.ppio=NULL;
cola.cfinal=NULL;
opcion=menu();
switch (opcion){
case 1: //Hacer peticion
peticion (&cola);
break;
}
return 0;
}
Tclientes *NuevoElemento(void){
return (Tclientes *) malloc (sizeof(Tclientes));
}
void peticion (Tcola *c){
Tclientes *nuevo=NuevoElemento();
printf ("Introduzca el nombren");
gets (nuevo->nombre);
if (c->ppio==NULL && c->cfinal==NULL)
c->ppio=c->cfinal=nuevo;
else{
c->cfinal->sgte=nuevo;
c->cfinal=nuevo;
}
return;
}
Creo que falla algo de las estructuras y los punteros pero no se como solucionarlo,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//typedef struct Tclientes cita;
typedef struct {
Tclientes *ppio,*cfinal;
} Tcola;
struct Tclientes {
char nombre[80];
int cantidad_reproductores;
int deposito;
Tcola *sgte;
};
void peticion (Tcola *);
int menu ();
main(){
int opcion;
void peticion (Tcola *);
Tcola cola;
cola.ppio=NULL;
cola.cfinal=NULL;
opcion=menu();
switch (opcion){
case 1: //Hacer peticion
peticion (&cola);
break;
}
return 0;
}
Tclientes *NuevoElemento(void){
return (Tclientes *) malloc (sizeof(Tclientes));
}
void peticion (Tcola *c){
Tclientes *nuevo=NuevoElemento();
printf ("Introduzca el nombren");
gets (nuevo->nombre);
if (c->ppio==NULL && c->cfinal==NULL)
c->ppio=c->cfinal=nuevo;
else{
c->cfinal->sgte=nuevo;
c->cfinal=nuevo;
}
return;
}
Creo que falla algo de las estructuras y los punteros pero no se como solucionarlo,
