开关盒操作员 - C.

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)

`

Pat*_*ick 7

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

// 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)