Language: C

#include <stdio.h>

struct DICE {
int mark[5];
};

void MoveDice(struct DICE *p,char c);

int main(){

struct DICE p;char compass;
scanf("%d %d %d %d %d %d\n",p.mark[0],p.mark[1],p.mark[2],p.mark[3],p.mark[4],p.mark[5]);
scanf("%c", &compass);
while(compass!='\n'){
MoveDice(&p,compass);
scanf("%c", &compass);
}

return 0;
}

void MoveDice(struct DICE *p,char c){
int tmp;
tmp=p.mark[1];
switch(c)
case 'W':
*p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
break;
case 'E':
*p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
break;
case 'N':
*p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
break;
case 'S':
*p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
break;
}

Compiler output:
main.c: In function 'MoveDice':
main.c:24:6: error: 'p' is a pointer; did you mean to use '->'?
   24 | tmp=p.mark[1];
      |      ^
      |      ->
main.c:27:3: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |   ^
      |   ->
main.c:27:14: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |              ^
      |              ->
main.c:27:25: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |                         ^
      |                         ->
main.c:27:36: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |                                    ^
      |                                    ->
main.c:27:47: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |                                               ^
      |                                               ->
main.c:27:58: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |                                                          ^
      |                                                          ->
main.c:27:69: error: 'p' is a pointer; did you mean to use '->'?
   27 | *p.mark[1]=*p.mark[3];*p.mark[3]=*p.mark[6];*p.mark[6]=*p.mark[4];*p.mark[4]=tmp;
      |                                                                     ^
      |                                                                     ->
main.c:28:1: error: break statement not within loop or switch
   28 | break;
      | ^~~~~
main.c:29:1: error: case label not within a switch statement
   29 | case 'E':
      | ^~~~
main.c:30:3: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |   ^
      |   ->
main.c:30:14: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |              ^
      |              ->
main.c:30:25: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |                         ^
      |                         ->
main.c:30:36: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |                                    ^
      |                                    ->
main.c:30:47: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |                                               ^
      |                                               ->
main.c:30:58: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |                                                          ^
      |                                                          ->
main.c:30:69: error: 'p' is a pointer; did you mean to use '->'?
   30 | *p.mark[1]=*p.mark[4];*p.mark[4]=*p.mark[6];*p.mark[6]=*p.mark[3];*p.mark[3]=tmp;
      |                                                                     ^
      |                                                                     ->
main.c:31:1: error: break statement not within loop or switch
   31 | break;
      | ^~~~~
main.c:32:1: error: case label not within a switch statement
   32 | case 'N':
      | ^~~~
main.c:33:3: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |   ^
      |   ->
main.c:33:14: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |              ^
      |              ->
main.c:33:25: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |                         ^
      |                         ->
main.c:33:36: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |                                    ^
      |                                    ->
main.c:33:47: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |                                               ^
      |                                               ->
main.c:33:58: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |                                                          ^
      |                                                          ->
main.c:33:69: error: 'p' is a pointer; did you mean to use '->'?
   33 | *p.mark[1]=*p.mark[2];*p.mark[2]=*p.mark[6];*p.mark[6]=*p.mark[5];*p.mark[5]=tmp;
      |                                                                     ^
      |                                                                     ->
main.c:34:1: error: break statement not within loop or switch
   34 | break;
      | ^~~~~
main.c:35:1: error: case label not within a switch statement
   35 | case 'S':
      | ^~~~
main.c:36:3: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |   ^
      |   ->
main.c:36:14: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |              ^
      |              ->
main.c:36:25: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |                         ^
      |                         ->
main.c:36:36: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |                                    ^
      |                                    ->
main.c:36:47: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |                                               ^
      |                                               ->
main.c:36:58: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |                                                          ^
      |                                                          ->
main.c:36:69: error: 'p' is a pointer; did you mean to use '->'?
   36 | *p.mark[1]=*p.mark[5];*p.mark[5]=*p.mark[6];*p.mark[6]=*p.mark[2];*p.mark[2]=tmp;
      |                                                                     ^
      |                                                                     ->
main.c:37:1: error: break statement not within loop or switch
   37 | break;
      | ^~~~~