blacjack program using functions

im new to c++ and having trouble writing a program using functions to score a blackjack hand. this is what i have so far.


#include <iostream>
using namespace std;

void instructions ( );
void input (int& number_of_cards, char& card_value1, char& card_value2, char& card_value3, char& card_value4, char& card_value5);
int calculate_hand (int& number_of_cards, char& card_value1, char& card_value2, char& card_value3, char& card_value4, char& card_value5);
int card_value(char card);
int main ( )
{

char yes;
int number_of_cards;
char card_value1;
char card_value2;
char card_value3;
char card_value4;
char card_value5;
char card;
int value_of_cards;

do{

input (number_of_cards, card_value1, card_value2, card_value3, card_value4, card_value5);
card_value(card);

calculate_hand ( value_of_cards, card_value1, card_value2, card_value3, card_value4, card_value5);

cout << "Again? (y/n)" << endl;
cin >> yes;
cout << endl;


}while (yes == 'Y' || yes == 'y');

return 0;
}

void instructions ( )
{
cout << "This program scores a blackjack hand. The user is asked how many cards" << endl;
cout << "he or she has, and the card values. This program will then output the user's" << endl;
cout << "scores. The output will be either: a number between 2 and 21, or the word BUSTED" << endl << endl;
cout << "The values of the cards should be inputted as the following: input the numbers" << endl;
cout << "2-9 just as inputting regular numbers, for the number 10 input 't', for jack" << endl;
cout << "input 'j' for queen input 'q', for king input 'k', and for ace input 'a'" << endl << endl;
}

void input (int& number_of_cards, char& card_value1, char& card_value2, char& card_value3, char& card_value4, char& card_value5)
{
cout << "Please input the number of cards in your hand (either 2, 3, 4, or 5)" << endl;
cin >> number_of_cards;
cout << endl;
if (number_of_cards == 2)
{
cout << "Please input the value of the first card: " << endl;
cin >> card_value1;
cout << "Please input the value of the second card: " << endl;
cin >> card_value2;
cout << endl << endl;
}
else if (number_of_cards == 3)
{
cout << "Please input the value of the first card: " << endl;
cin >> card_value1;
cout << "Please input the value of the second card: " << endl;
cin >> card_value2;
cout << "Please input the value of the third card: " << endl;
cin >> card_value3;
cout << endl << endl;
}
else if (number_of_cards == 4)
{
cout << "Please input the value of the first card: " << endl;
cin >> card_value1;
cout << "Please input the value of the second card: " << endl;
cin >> card_value2;
cout << "Please input the value of the third card: " << endl;
cin >> card_value3;
cout << "Please input the value of the fourth card: " << endl;
cin >> card_value4;
cout << endl << endl;
}
else if (number_of_cards == 5)
{
cout << "Please input the value of the first card: " << endl;
cin >> card_value1;
cout << "Please input the value of the second card: " << endl;
cin >> card_value2;
cout << "Please input the value of the third card: " << endl;
cin >> card_value3;
cout << "Please input the value of the fourth card: " << endl;
cin >> card_value4;
cout << "Please input the value of the fifth card: " << endl;
cin >> card_value5;
cout << endl << endl;
}
}

int calculate_hand (int& value_of_cards, char& card_value1, char& card_value2, char& card_value3, char& card_value4, char& card_value5)
{

value_of_cards= card_value1+ card_value2+ card_value3+ card_value4+ card_value5;
return (value_of_cards);
}

int card_value( char card)
{
switch (card)
{
case'2':
card=2;
break;


case'4':
card=4;
break;

case'5':
card=5;
break;

case'6':
card=6;
break;

case'7':
card=7;
break;

case'8':
card=8;
break;

case'9':
card=9;
break;

case'10':
card=10;
break;

case'j':
card=10;
break;

case'J':
card=10;
break;


case'q':
card=10;
break;

case'Q':
card=10;
break;


case'k':
card=10;
break;


case'K':
card=10;
break;



case'a':
card=11;
break;




case'A':
card=11;
break;





case'1':
card=1;
break;





default:

case 't':
card= -1;
break;

case 'T':
card= -1;
break;


return (card);

}



}
Topic archived. No new replies allowed.