Code:#include <iostream.h> #include <lvp\random.h> #include "h:\utility.h" //------------------------------------------------------- int dealcard() { return(random(10)+1); } //------------------------------------------------------- int printcards(int temp) { if(temp==10) cout<<"J "; if(temp==11) cout<<"Q "; if(temp==12) cout<<"K "; if(temp!=10&&temp!=11&&temp!=12) cout<<temp<<" "; return temp; } //------------------------------------------------------- int dealuser() { char hit; int numcards=2; cout<<"Welcome to Black Jack!"<<endl<<endl; cout<<"Your Cards: "; int cardcount, card, sumcards=0; for (cardcount=0; cardcount<numcards; cardcount++) { card=dealcard(); sumcards+=card; printcards(card); } start: cout<<endl<<"Would you like another card (Y/N)?: "; cin>>hit; while ((hit!='n')&&(hit!='N')) { if((hit!='n')&&(hit!='N')) { card=dealcard(); sumcards+=card; printcards(card); cout<<"="<<sumcards; if(sumcards>21) cout<<" Bust!"<<endl; if(sumcards>21) break; goto start; } else cout<<" "; } return(sumcards); } //-------------------------------------------------------- int dealcomputer() { int numcards=2; cout<<"Computer Cards: "; int cardcount, card, sumcards=0; for (cardcount=0; cardcount<numcards; cardcount++) { card=dealcard(); printcards(card); sumcards+=card; } computerhit: if(sumcards<=17) { card=dealcard(); cout<<endl<<"Computer: "; printcards(card); sumcards+=card; } if(sumcards<=17) goto computerhit; else cout<<" "; cout<<"="<<sumcards; if(sumcards>21) cout<<" BUST!"; return(sumcards); } //--------------------------------------------------------- int findwinner(int usersum, int computersum) { const int limit=21; if ((usersum==computersum) || ((usersum>limit) && (computersum>limit))) return(0); else if ((computersum>limit) || ((usersum>computersum) && (usersum<=limit))) return(1); else return(2); } //--------------------------------------------------------- void reportresult(int result) { if (result==0) cout<<endl<<"A draw!\n"; else if (result==1) cout<<endl<<"You win!\n"; else cout<<endl<<"Computer wins!\n"; } //--------------------------------------------------------- int playgame() { int usersum=dealuser(); int computersum=dealcomputer(); int winner=findwinner(usersum, computersum); reportresult(winner); return(winner); } //--------------------------------------------------------- void updatecount(int result, int &wins, int &losses, int &draws) { if (result==0) draws++; else if (result==1) wins++; else losses++; } //--------------------------------------------------------- char askrepeat() { char answer; cout<<endl; cout<<"Would you like to play again? (Y/N)?"; cin>>answer; while ((answer!='Y')&&(answer!='y')&&(answer!='N')&&(answer!='n')) { cout<<"Answer Y or N please: "; cin>>answer; cout<<endl; } return(answer); } //--------------------------------------------------------- void report(int wins, int losses, int draws) { cout<<"Your wins = " <<wins<<endl; cout<<"Computer wins = " <<losses<<endl; cout<<"Draws = " <<draws<<endl; } //--------------------------------------------------------- int main() { randomize(); int wins=0, losses=0, draws=0; char answer; do{ int result; result=playgame(); updatecount(result, wins, losses, draws); answer=askrepeat(); }while((answer!='N')&&(answer!='n')); report(wins, losses, draws); return(0); }