Я должен сделать программу, которая в основном простая форма блэкджека. Программа произвольно рисует 4 карты из стандартной колоды 52, а номер карты должен отображаться вместе с ее значением карты. (Например, если номер карты равен 43, он имеет значение 4). Стоимость карт 2-10 стоит их стоимости, туз стоит 1, стоят лицевые карты (11-13, домкрат, королева, король) 10. Когда общая сумма превышает 21, программа должна отображать «B» после общей суммы. У меня проблемы с последними двумя частями. Я не могу понять, как получить лицевые карты равными 10 и отобразить «B» без использования логических операторов, реляционных операторов или конструкций выбора, таких как оператор if. Любая помощь будет оценена! Благодаря! Вот код, который я до сих пор:Как бы присвоить значения 11, 12 и 13 всем равным 10 без использования логических операторов, реляционных операторов или конструкций выбора в C?
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int seedValue();
int card();
int cardValue(int);
int cardValue2(int);
int cardValue3(int);
int cardValue4(int);
void printStatements(int, int, int, int, int, int, int, int);
int main()
{
int seed;
int cardnum1;
int cardnum2;
int cardnum3;
int cardnum4;
int value1;
int value2;
int value3;
int value4;
seed = seedValue();
srand(seed);
cardnum1 = card();
cardnum2 = card();
cardnum3 = card();
cardnum4 = card();
value1 = cardValue(cardnum1);
value2 = cardValue2(cardnum2);
value3 = cardValue3(cardnum3);
value4 = cardValue4(cardnum4);
printStatements(cardnum1,cardnum2,cardnum3,cardnum4,value1,value2,value3,value4);
return(0);
}
int seedValue()
{
int seed;
printf("Enter the seed value: ");
scanf("%d",&seed);
return(seed);
}
int card()
{
int cardval;
cardval = (rand() % 52) + 1;
return(cardval);
}
int cardValue(int cardnum1)
{
int val1;
val1 = cardnum1 % 13;
return(val1);
}
int cardValue2(int cardnum2)
{
int val2;
val2 = cardnum2 % 13;
return(val2);
}
int cardValue3(int cardnum3)
{
int val3;
val3 = cardnum3 % 13;
return(val3);
}
int cardValue4(int cardnum4)
{
int val4;
val4 = cardnum4 % 13;
return(val4);
}
void printStatements(int cardnum1, int cardnum2, int cardnum3, int cardnum4, int value1, int value2, int value3, int value4)
{
printf("1. Card generated: %d Card value: %d\n",cardnum1,value1);
printf("2. Card generated: %d Card value: %d\n",cardnum2,value2);
printf("3. Card generated: %d Card value: %d\n",cardnum3,value3);
printf("4. Card generated: %d Card value: %d\n",cardnum4,value4);
printf("Total points generated is: %d\n",value1 + value2 + value3 + value4);
}
* "без использования логических операторов, операторов отношения или конструкции выбора, таких как, если заявление «Почему бы не использовать их? Если это назначение, и это ограничение в задании, посмотрите на свою недавнюю работу, и она должна четко указывать на то, что использовать. –
Массив из 13 целых чисел, содержащий значение карты? –
Когда у вас есть переменные типа 'cardnum1',' cardnum2', 'cardnum3',' cardnum4', вы почти наверняка хотите получить массив: 'int cardnum [4]'. –