如何在Ada中将类型从一个更改为另一个?

时间:2018-02-23 03:34:22

标签: types ada

我对改变Ada中的类型感到困惑。具体接收用户输入,该输入存储为字符串,然后以浮点数或整数形式对其执行操作。我的目标是根据用户的起点和终点创建一个对数表,按任意值递增。我尝试过如下操作:开始:=浮动'图像(开始);我能给你一些帮助,谢谢。

with Ada.Text_IO, Ada.Float_Text_IO, Ada.Numerics.Elementary_Functions;
use  Ada.Text_IO, Ada.Float_Text_IO, Ada.Numerics.Elementary_Functions;

procedure log_table is

   Start, Stop, Increment, temp : Float; 

begin                                           -- Prompt for input
   Put_Line("To print a table of logarithms,");
   Put(" enter the start, stop, and increment values: ");
   Get(Start); Get(Stop); Get(Increment);

   loop 
    exit when (Start > Stop);
    Put("The logarithm of");
    Put(Start);
    Put(" is ");
    Put_Line( log(Start, 10.0) );
    Start := Start + Increment;
   end loop;

end log_table;

所以现在代码运行了...我将在下面发布更改的代码部分。我所做的就是将Put_Line函数更改为Put函数,然后添加一个New_Line函数。这有什么用呢?根据我的理解,Put_Line和Put之间的唯一区别是添加了一个' \ n'到最后。我们将不胜感激。

   loop 
    exit when (Start > Stop);
    Put("The logarithm of ");
    Put(Start);
    Put(" is ");
    Put( log(Start, 10.0));
    New_Line;
    Start := Start + Increment;
   end loop;

1 个答案:

答案 0 :(得分:4)

通常,您使用目标类型的名称从一种类型转换为另一种类型,就好像它是一个函数名称一样:

 A := Some_Integer_Type (3.41);

但这仅适用于兼容类型。数组(例如字符串)和数字类型永远不兼容,因此您很可能正在寻找LRM 3.5(52)