Menu

Game Pico Fermi Bagel Number Guessing Game Include Using Namespace Std Function Count Digi Q43825909

The game Pico Fermi Bagel is a number guessing game. #includeusing namespace std; //function to count digit in number intcount_digit(int n) { int a = 0; while (n>0) { n = n / 10; a++; }return a; } int leaderNum() { const int MAX = 999; const int MIN =101; int num, check; //srand(time(NULL)); do { num = rand() % (MAX- MIN + 1) + MIN; check = count_digit(num); } while (check == 0);return num; } //checking number contains any repeated digits asmentioned in problem bool check_number(int number) { if(count_digit(number) == 3) { //if (((number % 10) == ((number / 10)% 10)) || ((number % 10) == ((number / 100) % 10)) || (((number /10) % 10) == ((number / 100) % 10))) //return false; //else returntrue; } else { return false; } } //count the digit occurence inleaders number bool count_occur(int digit, int guess) { int place;while (guess) { place = guess % 10; if (place == digit) returntrue; guess /= 10; } return false; } //returning how many digits ofplayers is matched with leaders number int match_digit(int player,int guess) { int digit_unit, digit_tenth, digit_hundreth;digit_unit = player % 10; player /= 10; digit_tenth = player % 10;player /= 10; digit_hundreth = player % 10; if(count_occur(digit_unit, guess) && count_occur(digit_tenth,guess) && count_occur(digit_hundreth, guess)) return 3;else if ((count_occur(digit_unit, guess) &&count_occur(digit_tenth, guess)) || (count_occur(digit_tenth,guess) && count_occur(digit_hundreth, guess)) ||(count_occur(digit_unit, guess) &&count_occur(digit_hundreth, guess))) return 2; else if(count_occur(digit_unit, guess) || count_occur(digit_tenth, guess)|| count_occur(digit_hundreth, guess)) return 1; else return 0; }//writing data t file of users choice void write_file(intfind_digit, int guess, int player_1, std::ofstream& outfile) {if (find_digit == 1) //If only single digit of players number ispresent in leaders number { //one digit is present and position isnot matching if ((player_1 % 10 != guess % 10) &&((player_1 / 10) % 10 != (guess / 10) % 10) && ((player_1 /10) % 10 != (guess / 100) % 10)) { cout << “Pico” <<endl; outfile << player_1 << “:” << “Pico”<< endl; } else { cout << “Fermi” << endl;outfile << player_1 << “:” << “Fermi” <<endl; } } else if (find_digit == 2) //If two digits of playersnumber is present in leaders number { //Two digits are present andtwo positions are matched with leaders number if (((player_1 % 10== guess % 10) && ((player_1 / 10) % 10 == (guess / 10) %10)) || ((player_1 % 10 == guess % 10) && ((player_1 / 100)% 10 == (guess / 100) % 10)) || (((player_1 / 10) % 10 == (guess /10) % 10) && ((player_1 / 100) % 10 == (guess / 100) %10))) { cout << “Fermi Fermi” << endl; outfile <<player_1 << “:” << “Fermi Fermi” << endl; } //Twodigits are present and single position is matched with leadersnumber else if (((player_1 % 10 == guess % 10) &&((player_1 / 10) % 10 != (guess / 10) % 10)) || ((player_1 % 10 !=guess % 10) && ((player_1 / 10) % 10 == (guess / 10) % 10))|| ((player_1 % 10 == guess % 10) && ((player_1 / 100) % 10!= (guess / 100) % 10)) || ((player_1 % 10 != guess % 10)&& ((player_1 / 100) % 10 == (guess / 100) % 10)) ||(((player_1 / 10) % 10 == (guess / 10) % 10) && ((player_1/ 100) % 10 != (guess / 100) % 10)) || (((player_1 / 10) % 10 !=(guess / 10) % 10) && ((player_1 / 100) % 10 == (guess /100) % 10))) { cout << “Pico Fermi” << endl; outfile<< player_1 << “:” << “Pico Fermi” << endl;} //Two digits are present and none positions are matched withleaders number else { cout << “Pico Pico” << endl;outfile << player_1 << “:” << “Pico Pico”<< endl; } } else if (find_digit == 3) //If all 3 digits ofplayers number is present in leaders number { //If all digits arepresent and only units place is matching with leaders number if((player_1 % 10 == guess % 10) && ((player_1 / 10) % 10 !=(guess / 10) % 10) && ((player_1 / 100) % 10 != (guess /100) % 10)) { cout << “Pico Pico Fermi” << endl;outfile << player_1 << “:” << “Pico Pico Fermi”<< endl; } //If all digits are present and only 10th place ismatching with leaders number else if ((player_1 % 10 != guess % 10)&& ((player_1 / 10) % 10 == (guess / 10) % 10) &&((player_1 / 100) % 10 != (guess / 100) % 10)) { cout <<“Pico Fermi Pico” << endl; outfile << player_1 <<“:” << “Pico Fermi Pico” << endl; } //If all digits arepresent and only 100th place is matching with leaders number elseif ((player_1 % 10 != guess % 10) && ((player_1 / 10) % 10!= (guess / 10) % 10) && ((player_1 / 100) % 10 == (guess /100) % 10)) { cout << “Fermi Pico Pico” << endl;outfile << player_1 << “:” << “Fermi Pico Pico”<< endl; } //If all digits are present and all places arematching with leaders number else if ((player_1 % 10 == guess % 10)&& ((player_1 / 10) % 10 == (guess / 10) % 10) &&((player_1 / 100) % 10 == (guess / 100) % 10)) { { cout <<“Fermi Fermi Fermi” << endl; cout << “That is correct!Thank you for playing!!” << endl; outfile << player_1<< “:” << “Fermi Fermi Fermi” << endl; } } //Ifall digits are present and none of the place is matching withleaders number else { cout << “Pico Pico Pico” << endl;outfile << player_1 << “:” << “Pico Pico Pico”<< endl; } } else //If none digits of players number ispresent in leaders number { { cout << “Bagel” << endl;outfile << player_1 << “:” << “Bagel” <<endl; } } } int main() { std::ifstream myfile(“Guess.txt”); //inputfile std::ofstream outfile; //Output file std::stringout_file_name; //User entered output file name char ch = ‘y’; intplayer_1, guess_count = 1; int guess; guess = leaderNum(); myfile>> guess; //copying leader choice in guess cout <<“Enter output file name : “; cin >> out_file_name;outfile.open(out_file_name.c_str()); //creating output file of userchoice outfile << guess << endl; do { while (1) //itwill execute until user enters proper value mentioned in Question {cout << “Player guess ” << guess_count << “: “;cin >> player_1; if (check_number(player_1)) //user enteredproper value so break the loop break; else cout << “Number isnot ok” << endl; } int find_digit = match_digit(player_1,guess); //counting how many digits of players guess number inleaders choice write_file(find_digit, guess, player_1, outfile);//writing data to file depending on condition given in problem cout<< “Do you want to continue y/n : “; //indefinite loopexecutes on user choice.If want to stop press ‘n’ cin >> ch;guess_count++; } while (ch == ‘y’); return 0; } please review

Expert Answer


Answer to The game Pico Fermi Bagel is a number guessing game. #include using namespace std; //function to count digit in number i…

OR