Fsm

#include #include #include enum estado{ start, wait, menu, control, largo, corto, capuccino, }; int estado; int calentar

Views 82 Downloads 9 File size 18KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

#include #include #include enum estado{ start, wait, menu, control, largo, corto, capuccino, }; int estado; int calentar=0; int cafe,agua=0,leche=0,billete=0,vapor=0, cafe1=0; void estado_wait() { printf("Ingrese 1 peso"); scanf("%d",&billete); if(billete==1) { calentar=1; printf("Calentando agua"); sleep(1000); estado=menu; } } void estado_menu() { printf("Bienvenido a la maquina expendedora de cafe de la UTEC, le ofrecemos: 1-Capuccino \n 2-Corto \n 3-Largo"); scanf(&cafe1); estado=start; } void estado_start() { if(cafe1==1) { cafe=1; printf("Agregando Cafe"); sleep(20); cafe=0; leche=1; printf("Agregando leche"); sleep(20); leche=0; agua=1; printf("Agregando Agua"); sleep(50); agua=0; vapor=1; sleep(20); vapor=0; printf("Cafe Capuccino Pronto, retirar"); estado=wait; } else if(cafe1==2) { cafe=1; printf("Agregando Cafe"); sleep(20); cafe=0; agua=1; printf("Agregando Agua");

sleep(50); agua=0; printf("Cafe Corto pronto, retirar"); estado=wait; } else if(cafe1==3) { cafe=1; printf("Agregando Cafe"); sleep(50); cafe=0; agua=1; printf("Agregando Agua"); sleep(100); agua=0; printf("Cafe Largo pronto, retirar"); estado=wait; } } void FSM_maquina_control(){ if (calentar!=1) printf("baja tension en bateria, no utilice la maquina hasta que se restablezca la bateria"); if (agua=!1) printf("bajo nivel de presion, no utilice la maquina hasta que se restablezca la presion"); } void FSM_cafe_utec() { switch(estado) { case wait: estado_wait(); break; case menu: estado_menu(); break; case start: estado_start(); break; }

}

int main() { while(1) FSM_cafe_utec(); FSM_maquina_control(); return 0; }