This is the console program that I've written in C++. It's a game where you have to guess a randomly picked number within the range 0-200. I just took a look at syntax and how to get started with C++ and VS and I was able to write this game almost immediately, but tweaking and improving it took me some time. I have a lot of experience with PAWN.Anyway, does my code look alright? Please let me know if there are any bad practices that you notice or anything wrong.#include <iostream> // cin(), cout(), printf()#include <time.h> // time()#include <windows.h> // Sleep()/* Variables */int number;int tries;int max_tries;/* Functions */void game_init(int try_count);void game_process();void game_decide();int game_check(char input);int main(){    srand((unsigned int)time(NULL));    game_init(8);    game_process();}void game_init(int try_count){    number    = rand() % 200;    tries     = 1;    max_tries = try_count;    printf(You have %d tries to guess a random number we've picked for you. (withing a range 0-200)\n, max_tries);}void game_process(){    do    {        printf(\nTry %d/%d: , tries, max_tries);        int input;        scanf_s(%d, &input);        if (game_check(input) == 1)        {            std::cin.get();            break;        }        if (tries == 9)        {            printf(\n\n\nUnfortunately, you weren't able to guess the number.\nIt was %d!, number);            printf(\n\nI wish you more luck the next time. Wanna try again? Type \yes\ or \no\.);            printf(\nDo you want to try again? );            game_decide();        }    }    while (tries <= max_tries);}int game_check(char input){    if (input == number)    {        printf(\nCongratulations! You've guessed the number, it was %d!, number);        printf(\n\nDo you want to play again? );        game_decide();        return 1;    }    else if (input < number)    {        printf(\nThe number %d you've entered is lower than the number we're looking for., input);        tries ++;        std::cin.ignore();    }    else if (input > number)    {        printf(\nThe number %d you've entered is higher than the number we're looking for., input);        tries ++;        std::cin.ignore();    }    return 0;}void game_decide(){    char decision[3];    std::cin >> decision;    if (!strcmp(decision, yes))    {        std::cout << \n\n\n;        game_init(8);        game_process();    }    else if (!strcmp(decision, no))     {        printf(Quitting...);        // Close the console after 1 second        Sleep(1000);        exit(0);    }    else     {        printf(\n\nI'm not sure I understand what are you saying... Can you repeat that again, just \yes\ or \no\, please?);        printf(\nDo you want to try again? );        game_decide();    }}
Console guess game
c++;game;number guessing game
There's no need for printf() and scanf() in C++.  Instead, use:std::cout << Some text... << aVariable; for outputting, orstd::cin >> aVariable; for inputtingIn C++, use <ctime> instead of <time.h>.  The latter is a C library.Never use global variables, unless they're constants.  Instead, pass number and tries to their relevant functions.If max_tries is supposed to be a constant, initialize it below the #includes as such:const int max_tries = 8;Since you're using std::rand(), which returns non-negative numbers, you could change number's type to unsigned int.You should move game_init()'s contents to main() instead for clarity and easier program termination (via return X).game_check() should return a bool since it's conditional.  For bools, 0 corresponds to false and 1 corresponds to true.It shouldn't need to display anything since that's not its purpose.  Instead, move those outputs to game_process(), remove the std::cin.ignore()s, and return the appropriate bools.Remove the return 0; it should now return a value of true or false instead.The parameter for its prototype and definition should be an int, which you're already passing into it from game_process().In game_decide(): instead of using a char array to hold decision, just make it a single char variable.  A y or Y could mean yes, and an n or N could mean no.  Then, your conditional statements could look like this:if (decision == 'y' || decision == 'Y')// do somethingelse if (decision == 'n' || decision == 'N')// do something elseelse// try againYou're doing a recursive call, which is absolutely unnecessary for this situation.  Instead, use a while or do-while loop to handle this.It should return a bool instead (for the same reason as game_check()).Clear everything from the yes and no blocks and instead have them respectively return true and false.  Then, back at game_process(), allow the loop to end if game_decide() returns false (meaning that the user no longer wants to play).  Thus, the program will fall back to main() and terminate nicely.  You would then no longer need #include <windows.h>.