【发布时间】:2020-06-27 03:52:00
【问题描述】:
我正在尝试做一个将卡片与数字相关联的程序。 我先问花色,(红心、黑桃、方块、梅花) 然后是它的值(ace-1, 2, 3... K-13)。 当我执行这个程序时,它总是返回数字 0,你能帮帮我吗? 抱歉,对于西装或价值观的混淆词, 我希望它不会给你带来任何问题。 顺便说一句,在葡萄牙语中 适合:naipes; 价值观:勇气;
#include <stdio.h>
#include <stdlib.h>
char naipe;//suit
int valor;//value (ace,1,queen...)
int num;//nunumber associated to the card in question
int main(){
int naip, val;
scanf("%c", &naipe);
scanf("%d", &valor);
switch (naipe){
case 'C':
naip= 0;
break;
case 'E':
naip= 13;
break;
case 'O':
naip= 26;
break;
case 'P':
naip= 39;
break;
return naip;
}
switch (valor){
case '1':
val= 1;
break;
case '2':
val= 2;
break;
case '3':
val= 3;
break;
case '4':
val= 4;
break;
case '5':
val= 5;
break;
case '6':
val= 6;
break;
case '7':
val= 7;
break;
case '8':
val= 8;
break;
case '9':
val= 9;
break;
case '10':
val= 10;
break;
case '11':
val= 11;
break;
case '12':
val= 12;
break;
case '13':
val= 13;
break;
return val;
}
num= (naip + val);
printf("%d", num);
return 0;
【问题讨论】:
-
您的编译器没有收到警告吗?
-
从第二个
switch块中删除单引号。那就是'1'应该只是1等等。 -
不,我顺便使用了代码块...为什么?
-
事实上,您可以删除整个
switch块。valor已经是int,可以直接使用。 -
感谢老兄的帮助,也许它的读数像 char 值...
标签: c playing-cards