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 draw(int playerCard[2], int dealerCard[2], int &playerTotal, int &dealerTotal, mt19937 &seed) { uniform_int_distribution<int> card(2, 11); playerCard[0] = card(seed); playerCard[1] = card(seed); if (playerCard[0] == 11 && playerCard[1] == 11) { playerCard[0] = 1; } playerTotal = playerCard[0] + playerCard[1]; dealerCard[0] = card(seed); dealerCard[1] = card(seed); if (dealerCard[0] == 11 && dealerCard[1] == 11) { dealerCard[0] = 1; } dealerTotal = dealerCard[0] + dealerCard[1]; } void action(int playerHit, int &playerTotal, mt19937 &seed, bool &fold, bool &playerBust, int playerCard[2]) { int menu = 0; uniform_int_distribution<int> card(2, 11); do { cout << "\nAction : \n 1. Hit \n 2. Fold \n 3. Stay \n"; cin >> menu; switch (menu) { case 1: playerHit = card(seed); if (playerHit == 11 && playerTotal + 11 > 21) { playerHit = 1; } if (playerCard[0] == 11 && playerTotal + playerHit > 21) { playerCard[0] = 1; playerTotal = playerCard[1] + 1; } if (playerCard[1] == 11 && playerTotal + playerHit > 21) { playerCard[1] = 1; playerTotal = playerCard[0] + 1; } playerTotal += playerHit; cout << "\nYou Hit For " << playerHit << "\nTotal : " << playerTotal << "\n"; break; case 2: fold = true; return; case 3: return; default: cout << "\nInvalid Choice\n"; break; } } while (playerTotal < 21); if (playerTotal > 21) { playerBust = true; } return; } int game(int bet = 0) { int playerCard[2]; int dealerCard[2]; int playerTotal; int dealerTotal; int playerHit; int dealerHit; bool fold = false; bool playerBust = false; bool dealerBust = false; mt19937 seed(time(NULL)); draw(playerCard, dealerCard, playerTotal, dealerTotal, seed); cout << "Your Hand : \n" << "1. " << playerCard[0] << "\n2. " << playerCard[1] << "\nTotal : " << playerTotal << "\nDealer Hand : \n" << "1. " << dealerCard[0] << "\n2. \n"; action(playerHit, playerTotal, seed, fold, playerBust, playerCard); cout << "\nDealer Hand : \n" << "1. " << dealerCard[0] << "\n2. " << dealerCard[1] << "\nTotal : " << dealerTotal << "\n"; if (!fold && !playerBust) { while (dealerTotal < 17) { uniform_int_distribution<int> card(2, 11); dealerHit = card(seed); if (dealerHit == 11 && dealerTotal + 11 > 21) { dealerHit = 1; } if (dealerCard[0] == 11 && dealerTotal + dealerHit > 21) { dealerCard[0] = 1; dealerTotal = dealerCard[1] + 1; } if (dealerCard[1] == 11 && dealerTotal + dealerHit > 21) { dealerCard[1] = 1; dealerTotal = dealerCard[1] + 1; } dealerTotal += dealerHit; cout << "\nDealer Hit For " << dealerHit << "\nTotal : " << dealerTotal << "\n"; }; if (dealerTotal > 21) { dealerBust = true; } } if (fold == 1) { cout << "\nYou Folded\n"; return bet = 0; } else if (playerBust == 1) { cout << "\nYou Busted\n"; return bet = 0; } else if (dealerBust == 1) { cout << "\nDealer Busted\n"; return bet *= 2; } else if (dealerTotal > playerTotal) { cout << "\nDealer Has The Bigger Hand\n"; return bet = 0; } else if (dealerTotal < playerTotal) { cout << "\nYou Have The Bigger Hand\n"; return bet *= 2; } else if (dealerTotal == playerTotal) { cout << "\nTie\n"; return bet; } return 0; } int main() { int menu; int balance = 1000; bool hasPlayed = false; string username = ""; int bet; ifstream inFile("data.txt"); if (inFile.is_open()) { inFile >> balance >> hasPlayed >> username; inFile.close(); cout << "Data Read\n\n"; } else { cout << "Data Read Failed\n\n"; } if (hasPlayed == 0) { cout << "What is Your Name : "; cin >> username; hasPlayed = true; } do { cout << "Hi! " << username << "\nMoney Left : " << balance << "\n1. QuickPlay (No Bet)\n2. Career\n3. Quit\n"; cin >> menu; switch (menu) { case 1: game(); break; case 2: do { cout << "\nMoney Left : " << balance << "\nInput Bet : "; cin >> bet; } while (bet < 0 || bet > balance); balance = balance - bet; balance += game(bet); break; case 3: break; default: cout << "\nInvalid Choice\n"; } } while (menu != 3); ofstream outFile("data.txt"); if (outFile.is_open()) { outFile << balance << " " << hasPlayed << " " << username; outFile.close(); cout << "Data Written\n\n"; } else { cout << "Data Write Failed\n\n"; } }
1001 1 Crymise

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