Что не хватает завершающего " вредный характер?
Я пытаюсь запустить эту программу и постоянно получаю одни и те же ошибки. Что означает отсутствие завершающего символа и как я могу исправить эти проблемы в своем коде? Для меня все прекрасно работает на Repl. Я скопировал и вставил в Linux, и теперь у меня есть все эти ошибки.
RPS.c:162:10: предупреждение: отсутствует завершающий символ"
РПС.C: в функции âprintResultsâ:
RPS.c:162: ошибка: отсутствует завершающий символ"
РПС.ч:163: ошибка: ожидается выражение перед ' % * маркер
RPS.c:163:9: предупреждение: отсутствует завершающий символ"
RPS.c:163: ошибка: отсутствует завершающий символ"
РПС.с:164: ошибка: ожидается'; прежде чем â â}â маркер
код:
/* * Description: Game of Rock, Paper, Scissors with the Computer. * * Author: Cole * * Date: 10-12-2018 */ #include <stdio.h> #include <stdlib.h> #include <time.h> //FUNCTION DECLARATIONS /*Function Name: flushscanf Input Parameters: c Description: Used after scanf. Prevents scanf from messing up, and EOF is used so it isn't read after the end of the file. Return Values: void */ void flushScanf(void); /*Function name: compareInputs Input parameters: userInput Description: Determines whether user input is acceptable to run the program. Makes upper and lower case r, p, s, and q acceptable inputs. Return Values: Results, error statement, or rock/paper/scissors. */ int compareInputs(char); /*Function name: getInput Input parameters: The userInput. Description: Tallies the wins for the computer and user, as well as the ties. Return Values: myWins++, pcWins++, or ties++. */ char getInput(); /*Function name: printResults Input parameters: int myWins, int pcWins, and int ties. Description: Prints the tallied wins and ties. Return Values: printf statement with correct record of results from games played. */ void printResults(int, int, int); int main(void) { //variables char userInput; int flag=1; int myWins= 0; int pcWins= 0; int ties= 0; int result; printf("Let’s play a game of Rock/Paper/Scissors \n"); // do{ userInput = getInput(); if(userInput == 'Q' || userInput == 'q') { printResults(myWins, pcWins, ties); printf("\nThank you for playing!"); flag =0; }else if(userInput == 'R' || userInput == 'r'){ userInput = 'r'; }else if(userInput == 'P' || userInput == 'p'){ userInput = 'p'; }else if(userInput == 'S' || userInput == 's'){ userInput = 's'; }else{ printf("Error, Please try again\n "); } result = compareInputs(userInput); switch(result){ case 1: myWins++; break; case 2: pcWins++; break; case 3: ties++; break; } }while(flag==1); return 0; } char getInput(void){ char userInput; printf("\nEnter R, P, S, or Q (for quit):"); scanf("%c", &userInput); flushScanf(); return userInput; } char check(char input){ } int compareInputs(char userInput){ srand(time(NULL)); int pc = (rand()%3)+1; // 1 = Rock // 2 = Paper // 3 = Scissors if (pc==1 && userInput == 'r'){ printf("You picked Rock, the computer picked Rock.\n"); printf("It's a tie.\n"); return 3; } else if(pc==1 && userInput == 's'){ printf("You picked Scissors, the computer picked Rock.\n"); printf("Rock breaks Scissors, you lose!\n"); return 2; }else if(pc==1 && userInput == 'p'){ printf("You picked Paper, the computer picked Rock.\n"); printf("Paper covers rock, you win!\n"); return 1; }else if (pc==2 && userInput == 'r'){ printf("You picked Rock, the computer picked Paper.\n"); printf("Paper covers rock, you lose.\n"); return 2; } else if (pc==2 && userInput == 's'){ printf("You picked Scissors, the computer picked Paper.\n"); printf("Scissors cuts Paper, you win!\n"); return 1; } else if (pc==2 && userInput == 'p'){ printf("You picked Paper, the computer picked Paper.\n"); printf("It's a tie.\n"); return 3; } else if (pc==3 && userInput == 'r') { printf("You picked Rock, the computer picked Scissors.\n"); printf("Rock breaks Scissors, you win!\n"); return 1; } else if (pc==3 && userInput =='s'){ printf("You picked Scissors, the computer picked Scissors.\n"); printf("It's a tie\n"); return 3; } else if (pc==3 && userInput == 'p'){ printf("You picked Paper, the computer picked Scissors.\n"); printf("Scissors cuts paper, You lose!\n"); return 2; } return 4; } void printResults(int myWins, int pcWins, int ties){ printf("\nYou won %d times, the computer won %d times, and it was a tie %d times", myWins, pcWins, ties); } void flushScanf(void) { char c = getchar(); while (c != '\n' && c != EOF) { c = getchar(); } }
Что я уже пробовал:
Перепечатанные цитаты и другие знаки препинания в случае, если это связано с тем, что редактор использует другую систему символов.
Rick York
Взгляните на функции tolower и toupper. Они преобразуют символ в нужный вам регистр, так что вам не нужно тестировать их оба, и это может упростить ваш код.