我想使用一个开关盒而不是两个开关盒

时间:2018-02-14 09:38:23

标签: c

Stage

这是一张来自牌组卡的两张牌总和的程序。卡片包含2,3,... 10和J,A,Q和K的值.str [0]包含第一张卡片的值,temp [0]包含第二张卡片的值我想用一个开关盒代替由于str [0]和temp [0]的情况相同,因此有两个开关情况。那么,我只能使用一个开关盒而不是两个开关盒。怎么样,我能做到吗?

1 个答案:

答案 0 :(得分:5)

您可以简单地将逻辑放在函数中,然后使用temp[0]调用一次,再使用str[0]调用。这就是功能的用途。而不是重复逻辑将它放在一个函数中并多次调用它。

此处,switch个案if陈述代替func(str[0],&sum2); ... func(temp[0],&someintvar); 陈述更有效。类似的东西: -

void func(char c, int *a){
   if( c>='2' && c<='9')
      *a = c-'0';
   else if( c=='1' || c=='J' || c=='K' || c=='A' || c=='Q')
      *a = 10;
   else
      *a = 0;
}

然后

|---items--|---types--|---paras---|---description----|

Query=Select * from table1;
while fetching Query in table1{
 Subquery= Select * from table2 where types = table1['types'];
 while fetching Subquery in table2{
  |table1['items']|table1['types']|table2['paras']|table1['description'] : table2['description']|
 }
}