creo que te falla en EOF (abreviatura de end-of-file, fin de fichero en inglés)
Por eso no entras al bucle creo
creo que cierras el fichero dentro del bucle y solo lo abres fuera del bucle.
O sea para que puedas escribir en el debes de abrirlo antes, eso solo se ve que esta abierto antes del bucle.
Al final del bucle lo cierras y ya no se vuelve a abrir.
creo que la solucion seria poner la linea
reg = fopen("empleados.txt","r"); dentro del bucle primario al principio
Código C++:
Ver original#include "enlace.h"
int main()
{
char ciclo,codigo[20],pass[20],acod[20],apass[20];
int c=0,i=0;
reg
= fopen("empleados.txt","r"); // Abres el archivo al principio y lo cierras al final del bucle primario, pero no lo vuelves a abrir... // ...dentro del bucle primario.
do // al estar abierto el fichero el código funciona una vez y al final se cierra lo que te imposibilita que entre al bucle interno
{
reg
= fopen("empleados.txt","r"); //Aqui antes de usar el fichero lo deberías abrir ya que lo cierras al final.
cout<<"SISTEMA IDENTIFIQUESE\n\n\n";
cout<<"Codigo de empleado: ";
cin>>codigo;
cout<<"Password: ";
cin>>pass;
while(c!=EOF) // Aquí se evalúa si no estas en el final del fichero, como lo tienes cerrado el fichero no se da esta condición, aquí ...
// ...creo que falla, la segunda vez que llegas aquí el fichero esta cerrado y saltas todo el bucle este XD
{
c
=fscanf(reg
," %[^\n]",apass
);
cout<<endl<<acod<<endl<<apass<<endl;
cout<<"entrando"<<endl<<endl;
}
cout<<"Pass incorrecto\n\nDESEA CONTINUAR s/n";
c=0; //Aun que vuelvas esto a 0 al usar fclose abajo ya no tienes fichero abierto para que tu ...
//...bucle interno vuelva a trabajar.
fclose(reg
); //Una segunda solución seria no cerrar el fichero dentro del bucle ya que la c le pones a 0 asi no lo tendrias que... //...que volver a abrir.
}while(ciclo=='s'||ciclo=='S');
//Aquí es donde deberías poner fclose si no quieres estar abriendo y cerrando el fichero 500 pares de veces XDD
return 0;
}
No puedo probar tu programa por que falta el fichero.h de la cabecera pero creo que el error es este que puse.
Si no es así a ver si alguien mas sabe algo, si puedes subir el otro fichero.h podemos probar a ver donde falla.
Saludos y suerte!