#include #include typedef struct str { char rov[5] ; char ko1[10] , ko2[10] ; char ollo1[10] , ollo2[10] ; char pap1[10] , pap2[10] ; } STR ; STR fix[10] ; char sor1[60] , sor2[60] , sor3[60] , v1n[60] , v1[60] , v2[60] , v2n[60] , s1[60] , s2[60]; int ind1 , ind2 , i , j , ner1 , ner2 , pont1 , pont2 , futo ; char *p ; int main () { strcpy ( fix[0].rov , "cs" ) ; strcpy ( fix[0].ko1 , "Kamen" ) ; strcpy ( fix[0].ko2 , "" ) ; strcpy ( fix[0].ollo1 , "Nuzky" ) ; strcpy ( fix[0].ollo2 , "" ) ; strcpy ( fix[0].pap1 , "Papir" ) ; strcpy ( fix[0].pap2 , "" ) ; strcpy ( fix[1].rov , "en" ) ; strcpy ( fix[1].ko1 , "Rock" ) ; strcpy ( fix[1].ko2 , "" ) ; strcpy ( fix[1].ollo1 , "Scissors" ) ; strcpy ( fix[1].ollo2 , "" ) ; strcpy ( fix[1].pap1 , "Paper" ) ; strcpy ( fix[1].pap2 , "" ) ; strcpy ( fix[2].rov , "fr" ) ; strcpy ( fix[2].ko1 , "Pierre" ) ; strcpy ( fix[2].ko2 , "" ) ; strcpy ( fix[2].ollo1 , "Ciseaux" ) ; strcpy ( fix[2].ollo2 , "" ) ; strcpy ( fix[2].pap1 , "Feuille" ) ; strcpy ( fix[2].pap2 , "" ) ; strcpy ( fix[3].rov , "de" ) ; strcpy ( fix[3].ko1 , "Stein" ) ; strcpy ( fix[3].ko2 , "" ) ; strcpy ( fix[3].ollo1 , "Schere" ) ; strcpy ( fix[3].ollo2 , "" ) ; strcpy ( fix[3].pap1 , "Papier" ) ; strcpy ( fix[3].pap2 , "" ) ; strcpy ( fix[4].rov , "hu" ) ; strcpy ( fix[4].ko1 , "Ko" ) ; strcpy ( fix[4].ko2 , "Koe" ) ; strcpy ( fix[4].ollo1 , "Ollo" ) ; strcpy ( fix[4].ollo2 , "Olloo" ) ; strcpy ( fix[4].pap1 , "Papir" ) ; strcpy ( fix[4].pap2 , "" ) ; strcpy ( fix[5].rov , "it" ) ; strcpy ( fix[5].ko1 , "Sasso" ) ; strcpy ( fix[5].ko2 , "Roccia" ) ; strcpy ( fix[5].ollo1 , "Forbice" ) ; strcpy ( fix[5].ollo2 , "" ) ; strcpy ( fix[5].pap1 , "Carta" ) ; strcpy ( fix[5].pap2 , "Rete" ) ; strcpy ( fix[6].rov , "jp" ) ; strcpy ( fix[6].ko1 , "Guu" ) ; strcpy ( fix[6].ko2 , "" ) ; strcpy ( fix[6].ollo1 , "Choki" ) ; strcpy ( fix[6].ollo2 , "" ) ; strcpy ( fix[6].pap1 , "Paa" ) ; strcpy ( fix[6].pap2 , "" ) ; strcpy ( fix[7].rov , "pl" ) ; strcpy ( fix[7].ko1 , "Kamien" ) ; strcpy ( fix[7].ko2 , "" ) ; strcpy ( fix[7].ollo1 , "Nozyce" ) ; strcpy ( fix[7].ollo2 , "" ) ; strcpy ( fix[7].pap1 , "Papier" ) ; strcpy ( fix[7].pap2 , "" ) ; strcpy ( fix[8].rov , "es" ) ; strcpy ( fix[8].ko1 , "Piedra" ) ; strcpy ( fix[8].ko2 , "" ) ; strcpy ( fix[8].ollo1 , "Tijera" ) ; strcpy ( fix[8].ollo2 , "" ) ; strcpy ( fix[8].pap1 , "Papel" ) ; strcpy ( fix[8].pap2 , "" ) ; futo = 0 ; gets ( sor1 ) ; while ( strcmp ( sor1 , "." ) != 0 ) { ++futo ; p = strtok ( sor1 , " " ) ; strcpy ( v1 , p ) ; p = strtok ( NULL , " " ) ; strcpy ( v1n , p ) ; gets ( sor2 ) ; p = strtok ( sor2 , " " ) ; strcpy ( v2 , p ) ; p = strtok ( NULL , " " ) ; strcpy ( v2n , p ) ; for ( i = 0 ; i < 9 ; i++ ) { if ( strcmp ( v1 , fix[i].rov ) == 0 ) ind1 = i ; if ( strcmp ( v2 , fix[i].rov ) == 0 ) ind2 = i ; } pont1 = 0 ; pont2 = 0 ; gets ( sor3 ) ; while ( strcmp ( sor3 , "-" ) != 0 && strcmp ( sor3 , "." ) != 0 ) { p = strtok ( sor3 , " " ) ; strcpy ( s1 , p ) ; p = strtok ( NULL , " " ) ; strcpy ( s2 , p ) ; if ( strcmp ( fix[ind1].ko1 , s1 ) == 0 || strcmp ( fix[ind1].ko2 , s1 ) == 0 ) ner1 = 0 ; else if ( strcmp ( fix[ind1].pap1 , s1 ) == 0 || strcmp ( fix[ind1].pap2 , s1 ) == 0 ) ner1 = 1 ; else if ( strcmp ( fix[ind1].ollo1 , s1 ) == 0 || strcmp ( fix[ind1].ollo2 , s1 ) == 0 ) ner1 = 2 ; if ( strcmp ( fix[ind2].ko1 , s2 ) == 0 || strcmp ( fix[ind2].ko2 , s2 ) == 0 ) ner2 = 0 ; else if ( strcmp ( fix[ind2].pap1 , s2 ) == 0 || strcmp ( fix[ind2].pap2 , s2 ) == 0 ) ner2 = 1 ; else if ( strcmp ( fix[ind2].ollo1 , s2 ) == 0 || strcmp ( fix[ind2].ollo2 , s2 ) == 0 ) ner2 = 2 ; if ( ner1 == ner2 ) { gets ( sor3 ) ; continue ; } if ( ner1 == 0 ) { if ( ner2 == 1 ) ++pont2 ; else ++pont1 ; } if ( ner1 == 1 ) { if ( ner2 == 2 ) ++pont2 ; else ++pont1 ; } if ( ner1 == 2 ) { if ( ner2 == 0 ) ++pont2 ; else ++pont1 ; } gets ( sor3 ) ; } printf ( "Game #%d:\n" , futo ) ; if ( pont1 == 1 ) printf ( "%s: %d point\n" , v1n , pont1 ) ; else printf ( "%s: %d points\n" , v1n , pont1 ) ; if ( pont2 == 1 ) printf ( "%s: %d point\n" , v2n , pont2 ) ; else printf ( "%s: %d points\n" , v2n , pont2 ) ; if ( pont1 == pont2 ) printf ( "TIED GAME\n\n" ) ; else if ( pont1 < pont2 ) printf ( "WINNER: %s\n\n" , v2n ) ; else printf ( "WINNER: %s\n\n" , v1n ) ; if ( strcmp ( sor3 , "." ) == 0 ) return 0 ; gets ( sor1 ) ; } return 0 ; }