R Program to Make a Simple Calculator

R Programming Language Decision Making of R Language (Article) Decision Making of R Language (Program)

8342

In this program we will create a simple calculator using R programming language.

To understand this example, you should have knowledge of following R programming topics:

  • R Functions
  • R switch()
  • R Return Value from Function

Program:

<span class="com"># Program make a simple calculator that can add, subtract, multiply and divide using functions</span><span class="pln">
</span><span class="kwd">add</span><span class="pln"> </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln"> y</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">x </span><span class="pun">+</span><span class="pln"> y</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
subtract </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln"> y</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">x </span><span class="pun">-</span><span class="pln"> y</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
multiply </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln"> y</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">x </span><span class="pun">*</span><span class="pln"> y</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
divide </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln"> y</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">x </span><span class="pun">/</span><span class="pln"> y</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com"># take input from the user</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Select operation."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"1.Add"</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"2.Subtract"</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"3.Multiply"</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"4.Divide"</span><span class="pun">)</span><span class="pln">
choice </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">as</span><span class="pun">.</span><span class="pln">integer</span><span class="pun">(</span><span class="pln">readline</span><span class="pun">(</span><span class="pln">prompt</span><span class="pun">=</span><span class="str">"Enter choice[1/2/3/4]: "</span><span class="pun">))</span><span class="pln">
num1 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">as</span><span class="pun">.</span><span class="pln">integer</span><span class="pun">(</span><span class="pln">readline</span><span class="pun">(</span><span class="pln">prompt</span><span class="pun">=</span><span class="str">"Enter first number: "</span><span class="pun">))</span><span class="pln">
num2 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">as</span><span class="pun">.</span><span class="pln">integer</span><span class="pun">(</span><span class="pln">readline</span><span class="pun">(</span><span class="pln">prompt</span><span class="pun">=</span><span class="str">"Enter second number: "</span><span class="pun">))</span><span class="pln">
</span><span class="kwd">operator</span><span class="pln"> </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">switch</span><span class="pun">(</span><span class="pln">choice</span><span class="pun">,</span><span class="str">"+"</span><span class="pun">,</span><span class="str">"-"</span><span class="pun">,</span><span class="str">"*"</span><span class="pun">,</span><span class="str">"/"</span><span class="pun">)</span><span class="pln">
result </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">switch</span><span class="pun">(</span><span class="pln">choice</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">add</span><span class="pun">(</span><span class="pln">num1</span><span class="pun">,</span><span class="pln"> num2</span><span class="pun">),</span><span class="pln"> subtract</span><span class="pun">(</span><span class="pln">num1</span><span class="pun">,</span><span class="pln"> num2</span><span class="pun">),</span><span class="pln"> multiply</span><span class="pun">(</span><span class="pln">num1</span><span class="pun">,</span><span class="pln"> num2</span><span class="pun">),</span><span class="pln"> divide</span><span class="pun">(</span><span class="pln">num1</span><span class="pun">,</span><span class="pln"> num2</span><span class="pun">))</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">paste</span><span class="pun">(</span><span class="pln">num1</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">operator</span><span class="pun">,</span><span class="pln"> num2</span><span class="pun">,</span><span class="pln"> </span><span class="str">"="</span><span class="pun">,</span><span class="pln"> result</span><span class="pun">))</span>

Output:

[1] "Select operation."
[1] "1.Add"
[1] "2.Subtract"
[1] "3.Multiply"
[1] "4.Divide"
Enter choice[1/2/3/4]: 4
Enter first number: 20
Enter second number: 4
[1] "20 / 4 = 5"

Explanation:

In this program, we ask the user to choose the desired operation. Options 1, 2, 3 and 4 are valid.

Two numbers are taken from the user and a switch branching is used to execute a particular function.

User-defined functions add()subtract()multiply() and divide() evaluate respective operations.


This Particular section is dedicated to Programs only. If you want learn more about R Programming Language. Then you can visit below links to get more depth on this subject.