abajo he puesto una captura de la consola para que entendais lo que os digo
saludos y gracias
Código C:
Ver original
#include <stdio.h> #include <stdlib.h> void Programa(); void inicioPrograma(); void menuPrograma(); void crearFichero(char *nombreFichero); void leerFichero(char *nombreFichero); void escribirFichero(char *nombreFichero); void borrarFichero(char *nombreFichero); enum _estado {_inicioPrograma, _menuPrograma, _crearFichero, _leerFichero, _escribirFichero, _borrarFichero, _finPrograma}; enum _estado estado; int main() { estado = _inicioPrograma; Programa(); return 0; } //FUNCIONES void Programa() { char nombreFichero[40]; do{ switch(estado){ case _inicioPrograma: inicioPrograma(); case _menuPrograma: menuPrograma(); case _crearFichero: crearFichero(nombreFichero); case _leerFichero: leerFichero(nombreFichero); case _escribirFichero: escribirFichero(nombreFichero); case _borrarFichero: borrarFichero(nombreFichero); } }while(estado != _finPrograma); //for(;;) //{ //if(estado == _finPrograma){break;} //else if(estado == _leerFichero){leerFichero(nombreFichero);} //else if(estado == _crearFichero){crearFichero(nombreFichero);} //else if(estado == _menuPrograma){menuPrograma();} //else if(estado == _inicioPrograma){inicioPrograma();} //} } void inicioPrograma() { estado = _menuPrograma; } void menuPrograma() { int modo; modo = 0; switch(modo) { case 1: estado = _crearFichero; case 2: estado = _leerFichero; case 3: estado = _escribirFichero; case 4: estado = _borrarFichero; case 5: estado = _finPrograma; } }; void crearFichero(char *nombreFichero) { estado = _menuPrograma; }; void leerFichero(char *nombreFichero) { estado = _menuPrograma; }; void escribirFichero(char *nombreFichero){}; void borrarFichero(char *nombreFichero){};