資源簡介
C狀態(tài)機(jī),switch-case版;C狀態(tài)機(jī),查表法。
代碼片段和文件信息
#include?
#include?
//recorder?
enum?state?{?s_stop?s_play?s_forward?s_backward?s_pause?s_record??};
enum?message?{?play?stop?forward?backward?record?pause?};
void?state_change(enum?message?m)
{
?static?enum?state?s=s_stop;
?switch?(s)
?{
case?s_play:
???? if(m==stop)
???????{
s?=?s_stop;
????printf(“stop.\n“);????????
???????}
???????else?if?(m==pause)
???????{
????????????s?=?s_pause;
printf(“pause“);
???????}
???????break;
case?s_pause:
if(m==pause)
{
s?=?s_play;
printf(“play.\n“);????????
}
else?if(m==stop)
{
s?=?s_stop;
printf(“stop.\n“);????????
}
break;
????case?s_stop:
if(m==play)
{
s?=?s_play;
printf(“play.\n“);????????
}
if(m==backward)
{
s?=?s_backward;
printf(“backward.\n“);????????
}
if(m==forward)
{
s?=?s_forward;
printf(“forward.\n“);????????
}
if(m==record)
{
s?=?s_record;
printf(“record.\n“);??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1884??2014-06-21?00:10??state.c
?????文件?????????487??2014-06-29?19:47??state.dot
?????文件???????36578??2014-06-29?19:52??state.jpg
?????文件????????3236??2014-06-21?00:09??state_engine.c
?????文件???????????8??2014-06-21?00:09??test.in
評論
共有 條評論