calculadora1.erl

text/x-erlang calculadora1.erl — 1 KB

Continguts del fitxer

-module(calculadora1).
-export([inici/0]).

inici () ->
    register(calc, spawn(fun calcular/0) ).

calcular() ->
    receive
        {suma, X, Y} ->
            io:format ("~p + ~p = ~p ~n", [X, Y, X+Y]),
            calcular();
        {resta, X, Y} ->
            io:format ("~p - ~p = ~p ~n", [X, Y, X-Y]),
            calcular();
        {multiplica, X, Y} ->
            io:format ("~p * ~p = ~p ~n", [X, Y, X*Y]),
            calcular();
        {divideix, X, Y} when Y > 0 ->
            io:format ("~p / ~p = ~p ~n", [X, Y, X/Y]),
            calcular();
        finalitzar ->
            void;
        Altre ->
            io:format("Error: comanda <~p> incorrecte~n", [Altre]), 
            calcular()
    end.