I am creating a hangman project for a college programming class. I get an error
ID: 3908068 • Letter: I
Question
I am creating a hangman project for a college programming class. I get an error saying "<: no conversion from char* to int" and one saying "!=: no conversion from int to char"??Language C
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <ctype.h>
int main(void) {
const int MAX_MISSES = 7;
char guess[2];
char lettersGuessed[27];
char puzzlePhrase[50];
char displayPhrase[50];
int numOfMisses;
int numOfUnsolvedCharcters;
int i;
bool guessFound;
printf("Hangman Time!! ");
printf("-------------- ");
printf("Player 1 enter puzzle phrase(up to 50 characters): ");
gets_s(puzzlePhrase, 50);
for (i = 0; i <= 25; ++i) {
printf(" ");
}
strcpy_s(displayPhrase, 50, puzzlePhrase);
for (i = 0;i < strlen(displayPhrase); ++i) {
if (displayPhrase[i] != ' ') {
displayPhrase[i] = '_';
}
}
numOfUnsolvedCharcters = strlen(puzzlePhrase);
numOfMisses = 0;
strcpy_s(lettersGuessed, 27, "");
while ((numOfUnsolvedCharcters > 0) && (numOfMisses < MAX_MISSES)) {
if (numOfMisses == 0) {
printf("----------");
printf(" ");
printf("| | ");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 1) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 2) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 3) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 4) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 5) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" |");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 6) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" |");
printf(" /");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 7) {
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" /");
printf(" ''");
for (i = 0;i < 7; i++) {
printf("| ");
}
printf("|");
printf("___________ ");
}
printf("Guesses: %s ", lettersGuessed);//May need to change this to add %c
printf("Phrase: %s ", displayPhrase); //May need to change this to add %s
printf("Guess a letter:");
scanf_s("%s", guess);
while(!isalpha(guess[i])){
scanf_s("%s", guess);
}
strcat_s(lettersGuessed, 50, guess);
guessFound = false;
for (i = 0; i < puzzlePhrase; ++i) {
if (toupper(puzzlePhrase[i]) == toupper(guess[0])){
displayPhrase[i] == guess[0];
--numOfUnsolvedCharcters;
guessFound = true;
}
if (guess != guessFound) {
++numOfMisses;
}
}
printf("%s", displayPhrase);
if (numOfUnsolvedCharcters > 0) {
printf("NOT GOOD AT GUESSING I SEE - BETTER LUCK NEXT TIME :) ");
}
else {
printf("WINNER!!! ----- PLAY AGAIN ;) ");
}
return 0;
}
}
Explanation / Answer
If you are still facing errors, please give me comment...
*bolded text indicates modifed
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <ctype.h>
int main(void)
{
const int MAX_MISSES = 7;
char guess[2];
char lettersGuessed[27];
char puzzlePhrase[50];
char displayPhrase[50];
int numOfMisses;
int numOfUnsolvedCharcters;
int i;
bool guessFound;
printf("Hangman Time!! ");
printf("-------------- ");
printf("Player 1 enter puzzle phrase(up to 50 characters): ");
gets_s(puzzlePhrase, 50);
for (i = 0; i <= 25; ++i)
{
printf(" ");
}
strcpy_s(displayPhrase, 50, puzzlePhrase);
for (i = 0; i < strlen(displayPhrase); ++i)
{
if (displayPhrase[i] != ' ')
{
displayPhrase[i] = '_';
}
}
numOfUnsolvedCharcters = strlen(puzzlePhrase);
numOfMisses = 0;
strcpy_s(lettersGuessed, 27, "");
while ((numOfUnsolvedCharcters > 0) && (numOfMisses < MAX_MISSES))
{
if (numOfMisses == 0)
{
printf("----------");
printf(" ");
printf("| | ");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 1)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 2)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 3)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 4)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 5)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" |");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 6)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" |");
printf(" /");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
else if (numOfMisses == 7)
{
printf("----------");
printf(" ");
printf("| | ");
printf(" O");
printf(" /");
printf(" ''");
printf(" |");
printf(" /");
printf(" ''");
for (i = 0; i < 7; i++)
{
printf("| ");
}
printf("|");
printf("___________ ");
}
printf("Guesses: %s ", lettersGuessed); //May need to change this to add %c
printf("Phrase: %s ", displayPhrase); //May need to change this to add %s
printf("Guess a letter:");
scanf_s("%s", guess);
while (!isalpha(guess[i]))
{
scanf_s("%s", guess);
}
strcat_s(lettersGuessed, 50, guess);
guessFound = false;
for (i = 0; i < strlen(puzzlePhrase); ++i)
{
if (toupper(puzzlePhrase[i]) == toupper(guess[0]))
{
displayPhrase[i] == guess[0];
--numOfUnsolvedCharcters;
guessFound = true;
}
if (!guessFound)
{
++numOfMisses;
}
}
printf("%s", displayPhrase);
if (numOfUnsolvedCharcters > 0)
{
printf("NOT GOOD AT GUESSING I SEE - BETTER LUCK NEXT TIME :) ");
}
else
{
printf("WINNER!!! ----- PLAY AGAIN ;) ");
}
return 0;
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.