Un programa (se tilda) cuando ingreso los datos a una lista enlazada (como si quedara esperando que ingrese más datos). La función encargada de agregar los datos a la lista enlazada es la siguiente:
La implementación en main () es:
PD: no pongo todo el código del programa porque es bastante extenso, la implementación es un caso de un switch. En cuestión, cuando ejecuto esa parte del código, me pide ingresar todos los valores, hasta que ingreso la tensión máxima y ahí se tilda y vuelvo a repetir es como si quedara esperando alguna información (titilando el cursor de la consola). Les pido alguna ayuda.
struct componente
{
int codigo;
char descripcion [20];
int cantidad;
double corrienteMax;
double tensionMax;
struct componente *sig;
};
typedef struct componente Componente, *ptrComponente;
void agregar (ptrComponente *inicio, ptrComponente nuevo) {
ptrComponente aux;
if(*inicio==NULL)
{
*inicio=nuevo;
return;
}
else
{
aux=*inicio;
while (aux->sig!=NULL)
{
aux=aux->sig;
}
aux->sig=nuevo;
}
return;
}
{
int codigo;
char descripcion [20];
int cantidad;
double corrienteMax;
double tensionMax;
struct componente *sig;
};
typedef struct componente Componente, *ptrComponente;
void agregar (ptrComponente *inicio, ptrComponente nuevo) {
ptrComponente aux;
if(*inicio==NULL)
{
*inicio=nuevo;
return;
}
else
{
aux=*inicio;
while (aux->sig!=NULL)
{
aux=aux->sig;
}
aux->sig=nuevo;
}
return;
}
nuevo=(ptrComponente)malloc(sizeof(Componente)); printf("Ingrese el codigo del componente\n");
scanf("%d", &(nuevo->codigo));
printf("Ingrese la descripcion-Max 20 caracteres-\n");
scanf(" %[^\n]", nuevo->descripcion);
printf("Ingrese la cantidad de este componente en el stocke\n");
scanf("%d", &(nuevo->cantidad));
printf("Ingrese la corriente maxima y la tension maxima\n");
scanf("%lf %lf ", &(nuevo->corrienteMax), &(nuevo->tensionMax));
nuevo->sig=NULL;
agregar (&inicio, nuevo);
scanf("%d", &(nuevo->codigo));
printf("Ingrese la descripcion-Max 20 caracteres-\n");
scanf(" %[^\n]", nuevo->descripcion);
printf("Ingrese la cantidad de este componente en el stocke\n");
scanf("%d", &(nuevo->cantidad));
printf("Ingrese la corriente maxima y la tension maxima\n");
scanf("%lf %lf ", &(nuevo->corrienteMax), &(nuevo->tensionMax));
nuevo->sig=NULL;
agregar (&inicio, nuevo);
Comentario