Muchas gracias por leer mi mensaje. Aqui os dejo el bloque de codigo con problemas en cuestion:
El problema en si es en el primer while. La primera vez que entro al do puedo hacer todo bien. Pero cuando selecciono Nueva Insercion me pone :Ingrese nombre del agente intoxicante y enseguida el Ingrese las medidas.... Y no me deja poner el nombre del agente intoxicante, y eso que la condicion del while se cumple asi que deberia dejarme.
Es para un trabajo de la Uni.
Gracias de antemano.
Código:
do
{
i = 0;
// FORMULARIO DE INGRESO DE AGENTE
system("CLS");
printf("Ingrese el nombre del agente intoxicante: ");
while((c = getchar()) != '\n')
{
agente[i++] = c;
}
agente[i] = '\0';
if(Insertar(&Agentes,agente))
{
char medidas[30001];
strcpy(strcat(agente,".txt"),agente);
FILE * archivo;
if(archivo = fopen(agente,"w+"))
{
printf("\nEscriba las medidas para la desintoxicacion\n");
printf("Maximo 3000 caracteres. Finalice con '#':\n\n");
while((d = getchar()) != '#')
{
fputc(d,archivo);
}
fputc('\0',archivo);
fclose(archivo);
printf("\nInsercion realizada con exito\n\n");
}
else
{
// ERROR DE LECTURA
}
}
else
{
printf("\nEl agente intoxicante ya existe\n\n");
}
c = d = 'a';
printf("1.- Nueva insercion\n");
printf("2.- Volver");
} while ((subOp = getch()) == '1');