online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <fstream> #include <iostream> #include <random> using namespace std; void drawBoard(int board[5][5]) { cout << "\n"; for (int a = 0; a <= 4; a++) { for (int b = 0; b <= 4; b++) { cout << "| " << board[a][b] << " |"; } cout << "\n"; } } void setBoard(int board[5][5], int bombAmount, mt19937 &seed) { uniform_int_distribution<int> randomBomb(1, 5); int bombPlaced = 0; while (bombPlaced < bombAmount) { int bombRow = randomBomb(seed); int bombColumn = randomBomb(seed); if (board[bombRow - 1][bombColumn - 1] != 2) { board[bombRow - 1][bombColumn - 1] = 2; bombPlaced++; } } return; } void playerInput(int board[5][5], int &correctTile) { int column; int row; int menu = 0; while (menu != 2) { cout << "\nWhat Will You Do?\n1. Check A Tile\n2. Stop\n"; cin >> menu; while (menu > 2 || menu < 1) { cout << "Invalid input. Try again.\n1. Check A Tile\n2. Stop\n"; cin >> menu; } switch (menu) { case 1: cout << "\nInput Column(1-5) : "; cin >> column; cout << "Input Row(1-5) : "; cin >> row; if (column >= 1 && column <= 5 && row >= 1 && row <= 5 && board[row - 1][column - 1] != 1) { if (board[row - 1][column - 1] != 2) { board[row - 1][column - 1] = 1; correctTile++; } else { cout << "\nYou Hit A Bomb\n"; correctTile = 0; return; } } else if (column >= 1 && column <= 5 && row >= 1 && row <= 5 && board[row - 1][column - 1] == 1) { cout << "Invalid input Or Already Filled. Try again.\n"; } drawBoard(board); break; case 2: return; default: cout << "\nInvalid Input\n"; break; } } } int main() { int board[5][5] = {{0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}}; mt19937 seed(time(NULL)); int balance = 1000; int bet; int menu; int correctTile; int bombAmount; ifstream inFile("data.txt"); if (inFile.is_open()) { inFile >> balance; inFile.close(); cout << "Data Read\n\n"; } else { cout << "Data Read Failed\n\n"; } do { for (int a = 0; a <= 4; a++) { for (int b = 0; b <= 4; b++) { board[a][b] = 0; } } cout << "Play MineSweeper? \n0 = Undiscovered Tile\n1 = Discovered Tile\n2 " "= Bomb\n1. Play\n2. Quit\n"; cin >> menu; while (menu > 2 || menu < 1) { cout << "\nInvalid Option\n"; cout << "Play MineSweeper? \n0 = Undiscovered Tile\n1 = Discovered " "Tile\n2 " "= Bomb\n1. Play\n2. Quit\n"; cin >> menu; } switch (menu) { case 1: do { cout << "\nMoney Left : " << balance << "\nInput Bet : "; cin >> bet; } while (bet < 0 || bet > balance); balance -= bet; cout << "\nBalance Now : " << balance << "\nHow Many Bombs? (3-5) : "; cin >> bombAmount; while (bombAmount > 5 || bombAmount < 3) { cout << "\nInvalid Number!\nHow Many Bombs (3-5) : "; cin >> bombAmount; }; setBoard(board, bombAmount, seed); playerInput(board, correctTile); bet = (bet/(8-bombAmount))*correctTile; cout << "\nYou Won " << bet << "\n"; balance += bet; break; case 2: break; default: cout << "\nInvalid Choice\n"; break; } } while (menu != 2); ofstream outFile("data.txt"); if (outFile.is_open()) { outFile << balance; outFile.close(); cout << "Data Written\n\n"; } else { cout << "Data Write Failed\n\n"; } }
1000

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue