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');