Language: C

#include <stdio.h>

struct DICE {
int mark[5];
string name;
};

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