HTMLify
turnstile.c
Views: 1 | Author: abh
#include <stdio.h>
#include <stdlib.h>
struct StateMachine {
int state;
};
struct StateMachine New_machine() {
struct StateMachine machine;
return machine;
}
void Coin_machine(struct StateMachine *machine) {
machine->state = 1;
}
void Push_machine(struct StateMachine *machine) {
machine->state = 0;
}
int main() {
struct StateMachine machine = New_machine();
int input;
while (1) {
printf(">> Machine status: ");
if (machine.state == 1)
printf("Unlocked\n");
else
printf("Locked\n");
printf("\n");
printf("------------------\n");
printf("0: Exit\n");
printf("1: Coin\n");
printf("2: Push\n");
printf("<< ");
scanf("%d", &input);
printf("\n");
switch (input) {
case 0:
exit(0);
break;
case 1:
Coin_machine(&machine);
break;
case 2:
Push_machine(&machine);
break;
default:
printf("Invalid Option\n");
}
}
return 0;
}