首页 文章

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

提问于
浏览
0

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

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 回答

  • 4

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

    A := Some_Integer_Type (3.41);
    

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

相关问题