Я новичок в функциях и пытаюсь получить значения возвращаемых значений.Изменение возвращаемого значения
Я создал функцию, которая печатает текст, но я хочу, чтобы он возвращал значение в зависимости от того, что происходит в фактической функции.
Это пример:
int function(char a)
{
int b = 0;
if(a == 'a')
{
b++;
}
cout << "Example";
if(b == 1){
return 1;
}
else
{
return 0;
}
}
Однако в этом случае, возвращаемое значение будет «застревает» в 0 и не изменится на 1. Есть ли способ, чтобы сделать возвращаемое значение надежно из что происходит в функции или это не так, как это должно быть сделано?
EDIT: Это код, над которым я работаю. В основном это игра «Hangman» на шведском языке. То, что я хочу для функции «wordCheck», чтобы вернуть значение, если все буквы заполнены (и слово завершено), но сейчас он возвращает только 0, даже если «нКл» есть 4.
#include <iostream>
#include <string>
using namespace std;
int wordCheck(char word[4], int c)
{
int nC = 0, a;
if(c != 1)
{
for (int i = 0; i < 4; i++)
{
if (word[i] == NULL)
{
word[i] = '_';
}
else if (word[i] != '_')
{
nC++;
}
}
cout << "Ordet: "<< word[0] << " " << word[1] << " " << word[2] << " " << word[3] << endl << endl;
}
if(nC == 4){
return 1;
}
else
{
return 0;
}
}
int main()
{
setlocale(LC_ALL,"");
char guess = 'l', word[50] = "bajs", letter[4] = {NULL, NULL, NULL, NULL}, null[4] = {NULL, NULL, NULL, NULL};
int i = 0, d = wordCheck(null, 1);
do
{
i++;
system("cls");
cout << "**********HÄNGA GUBBE**********" << endl;
cout << "*******************************" << endl;
cout << "*********GISSA PÅ ORDET********" << endl;
cout << "-------------------------------" << endl << endl;
wordCheck(letter, 0);
cout << "Gissning " << i << " : ";
cout << d;
cin >> guess;
if (guess == word[0])
{
letter[0] = 'B';
}
else if (guess == word[1])
{
letter[1] = 'a';
}
else if(guess == word[2])
{
letter[2] = 'j';
}
else if (guess == word[3])
{
letter[3] = 's';
}
} while (wordCheck(null, 1) != 1);
system("pause");
return 0;
}
(соиЬ < < д только для отладки возвращаемого значения, а также голая в виде код не отполирован, это работа в процессе)
@dasblinkenlight Плохо, я отредактировал сообщение. Это была опечатка. – user2166357
Что вы пытаетесь сделать? – user3344003
Как это «застряло»? Вы пытались использовать 'function ('a')'? – crashmstr