📜  TCL脚本使用switch语句执行适当的算术运算

📅  最后修改于: 2021-08-24 08:20:19             🧑  作者: Mango

在本文中,我们将概述TCL脚本的概述,以使用switch语句执行适当的算术运算,并将在示例的帮助下实现。让我们一一讨论。

前提条件–
如果您想了解有关TCL的更多信息,请阅读本文https://www.geeksforgeeks.org/basics-of-ns2-and-otcltcl-script/。

概述 :
通过一个简单的示例,我们将了解“工具命令语言”中switch语句的基本语法。在此示例中,我们的目标是根据我们指定的符号执行算术运算。例如,如果我们指定“ +”,则必须以同样的方式执行加法。

使用switch语句执行适当的算术运算的步骤:
在这里,我们将逐步使用switch语句实现TCL脚本以执行适当的算术运算,如下所示。

步骤1:输入数字:
首先,我们需要读取两个数字a和b。

puts "Enter the first number "
gets stdin a
puts "Enter the second number "
gets stdin b

步骤2:读取输入:
其次,我们需要提示输入所需的字符并必须阅读它。

puts "Enter \n '+' for addition\n '-' for subtraction\n '*' for multiplication\n
'/' for division"
gets stdin ch

步骤3:编写Switch语句:
现在,我们需要编写一个switch语句,以映射到适当的符号。

switch $ch {
 "+" {
        set result [expr $a+$b]
        puts "Addition of $a and $b is $result"
     }
 "-" {
        set result [expr $a-$b]
        puts "Subtraction of $a and $b is $result"
     }
 "*" {
        set result [expr $a*$b]
        puts "Multiplication of $a and $b is $result"  
     }
 "/" {
        set result [expr $a*$b]
        puts "Division of $a and $b is $result"  
     }
 "%" {
        set result [expr $a%$b]
        puts "Modulo of $a and $b is $result"  
     }
 default {
         puts "Enter the appropriate input"
         }
}

笔记 –
switch语句的语法应完全如上所示。如果您忽略空格或在新行中键入左花括号,则结果将是错误的。当然,我们在TCL中仅对字符使用双引号。

步骤4:了解语法:
现在,为了更好地理解语法,下面显示了加号(+)情况的C编程版本。

case '+':
 result=a+b;
 printf("Addition of %d and %d is %d",a,b,result);
 break;

如您所见,在TCL中,我们不使用关键字case后跟冒号’ ‘。取而代之的是,我们直接指定所需的action语句,后跟大括号中的主体。 TCL脚本不需要break语句。

步骤5:TCL脚本使用switch语句执行适当的算术运算
现在,让我们看一下使用TCL的完整代码,如下所示。

代码 –

puts "Enter the first number "
gets stdin a
puts "Enter the second number "
gets stdin b
puts "Enter\n '+' for addition\n '-' for subtraction\n '*' for multiplication\n '/' for division"
gets stdin ch
switch $ch {
 "+" {
        set result [expr $a+$b]
        puts "Addition of $a and $b is $result"
     }
 "-" {
        set result [expr $a-$b]
        puts "Subtraction of $a and $b is $result"
     }
 "*" {
        set result [expr $a*$b]
        puts "Multiplication of $a and $b is $result"  
     }
 "/" {
        set result [expr $a*$b]
        puts "Division of $a and $b is $result"  
     }
 "%" {
        set result [expr $a%$b]
        puts "Modulo of $a and $b is $result"  
     }
 default {
         puts "Enter the appropriate input"
         }
}

输出 :
一组输入的输出如下。

补充–

对于乘法–

对于模数–