gpt4 book ai didi

c - 开关盒运算符——C

转载 作者:行者123 更新时间:2023-12-04 10:45:12 25 4
gpt4 key购买 nike

有没有一种方法可以将来自一个操作的用户输入存储在 switch case 中,并在运行时跨 switch 操作使用它。

示例:如果它是一个银行软件,我想从用户那里获取信息并验证他的 a/c 号码是否正确,并检查他是否有足够的银行余额来取款.

我需要知道如何存储一个操作的值,以便我可以将它用于进一步的操作。

 switch(ops)
{

char ac_no;
long amt,amt2,init_dep;
char name,ac_allocated;


case OpenAC:
{
printf("1.Name:\n");
scanf("%s",&name);

printf("2.A/Cno_allocated:\n");
scanf("%s",&ac_allocated);

printf("3.Initial deposit:\n");
scanf("%d",&init_dep);
break;

}
case Deposit:
{
printf("Enter the a/c number: ");
scanf("%s",&ac_no);

printf("Amount:Rs. ");
scanf("%ld",&amt);
break;

}
case Withdraw:
{
printf("Enter the a/c number: ");
scanf("%s",&ac_no);

printf("Amount:Rs. ");
scanf("%ld",&amt2);


{printf("Cannot withdraw.Rs.500 minimum balance mandatory.\n");}

break;

}
return ops;

}

我还尝试在 switch(ops) 中声明变量以将值存储在其中(就像在以下情况中以在下一步中验证 a/c 号码,但它没有帮助。)

编辑后的代码:

`

                            char ac_no;

long amt,amt2,init_dep,dep1;

char name,ac_allocated,ac1;

case OpenAC:
{
printf("1.Name:\n");
scanf("%s",&name);

printf("2.A/Cno_allocated:\n");
scanf("%s",&ac_allocated);

ac_allocated = ac1;

printf("3.Initial deposit:\n");
scanf("%d",&init_dep);
init_dep = dep1;

//break;

}
case Deposit:
{
printf("Enter the a/c number: ");
scanf("%s",&ac_no);

if(ac_no == ac1)
{
printf("Amount:Rs. ");
scanf("%ld",&amt);
}

break;

`

最佳答案

为什么不在开关外声明变量。您甚至可以在开关周围放置大括号,以防止变量泄漏到周围的函数,如下所示:

// code from the surrounding function
{
char ac_no;
long amt,amt2,init_dep;
char name,ac_allocated;

switch(ops)
{
case OpenAC:
...
}
} // end of block

关于c - 开关盒运算符——C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com