C DERS 32: FINITE STATE MACHINE

Klavyeden rastgele bir şeyler giriyoruz ve bize plaka formatında olduğu zaman

plaka bulundu uyarısı veriyor. Örneğin: sadgqweqwf22asd33afqwdq diyince plaka

formatına uygun olan 22asd33 yazısını görüp plaka bulundu uyarısı veriyor.

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int s; //Kaçıncı stateteyiz?
char c;
int main(int argc, char *argv[]) {
do{
c=getch();
putchar(c);
switch(s)
{
case 0:{if(isdigit(c)) s=1;break;}
case 1:{if(isdigit(c)) s=2; else s=0;break;}
case 2:{if(isalpha(c)) s=3;break;}
case 3:{if(isalpha(c)) s=4; else s=6;break;}
case 4:{if(isalpha(c)) s=5; else s=6;break;}
case 5:{if(isdigit(c)) s=6; else s=0;break;}
case 6:{if(isdigit(c)) s=7; else s=0; break;}
case 7:{if(isalpha(c)) s=8;}
case 8:{printf("nPlaka bulundun");break;}
}
}while(s<8);
return 0;
}