Pav*_*tar 2 c switch-statement
有没有办法在一个操作中将用户输入存储在交换机案例中,并在运行时跨交换机操作使用它.
示例:如果它是银行的软件,我想从用户那里获取信息并验证他的账号是否正确,还要检查他是否有足够的银行余额来取款.
我需要知道如何存储一个操作的值,以便我可以将它用于进一步的操作.
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;
}
Run Code Online (Sandbox Code Playgroud)
我还尝试在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;
Run Code Online (Sandbox Code Playgroud)
`
为什么不在交换机外声明变量.您甚至可以在开关周围放置大括号以防止变量泄漏到周围的函数,如下所示:
// code from the surrounding function
{
char ac_no;
long amt,amt2,init_dep;
char name,ac_allocated;
switch(ops)
{
case OpenAC:
...
}
} // end of block
Run Code Online (Sandbox Code Playgroud)