#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
static void play();
static void pause();
static void stop();
typedef enum
{
ST_PLAY,
ST_PAUSE,
ST_STOP,
ST_RESUME,
ST_MAX
}Status;
typedef enum
{
BT_PLAY,
BT_PAUSE,
BT_STOP,
BT_MAX
}Button;
typedef struct statusAction
{
Status status;
void(*act)();
}StatusAction;
static int currentStatus = ST_STOP;
static const StatusAction const stActArray[ST_MAX][BT_MAX] =
{
{ { ST_PLAY, NULL }, { ST_PAUSE, pause }, { ST_STOP, stop } },
{ { ST_PLAY, play }, { ST_RESUME, pause }, { ST_STOP, stop } },
{ { ST_PLAY, play }, { ST_STOP, NULL }, { ST_STOP, NULL } },
{ { ST_RESUME, NULL }, { ST_PAUSE, pause }, { ST_STOP, stop } }
};