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