Ada:在块语句中写入文件

2023-12-10

我正在处理一个数组,其长度在程序执行期间确定。所以我正在利用block我可以在其中设置数组限制的语句。

我在将数组的元素写入文件时遇到问题因为我在写入过程中使用了存根。我删除了存根,使所有内容都在同一代码中。虽然现在我的代码编译并运行,它没有写入文件。这是代码:

with Ada.Float_Text_IO;
with Ada.Integer_Text_IO;
with Ada.Text_IO; 


procedure Compute_Parameters is

Spin_Speed, Whirling_Speed        : Float;
Time_Step, Rotor_Revolutions      : Float;
Number_Of_Steps                   : Float;


begin
Ada.Text_IO.Put("Enter the spin speed ");
Ada.Float_Text_IO.Get (Item => Spin_Speed);
Ada.Text_IO.New_Line (1);
Ada.Text_IO.Put("Enter the whirling speed ");
Ada.Float_Text_IO.Get (Item => Whirling_Speed);
Ada.Text_IO.New_Line (1);
Ada.Text_IO.Put("Enter the time step ");
Ada.Float_Text_IO.Get (Item => Time_Step);
Ada.Text_IO.New_Line (1);
Ada.Text_IO.Put("Enter the number of revolutions of the rotor ");
Ada.Float_Text_IO.Get (Item => Rotor_Revolutions);


Number_Of_Steps := (360.0 / (Time_Step * Whirling_Speed)) * Rotor_Revolutions *  (Whirling_Speed / Spin_Speed);


declare

   type Vector is array (Integer range <>) of Float;
   Time_Vector                     : Vector (1 .. Integer (Float'Truncation (Number_Of_Steps)) + 1);
   Rotor_Position_Degrees          : Vector (1 .. Integer (Float'Truncation (Number_Of_Steps)) + 1);

   Count       : Integer := 0;
   Start       : Float := 0.0;
   Step        : Float := Time_Step;

   Output_Data_File                            : File_Type;

   procedure Write_Files (Output_File          : File_Type;
                          Out_1                   : Integer;
                          Out_2                   : Float;
                          Prec                    : Natural := 5
                          ) is 
   begin
      Ada.Integer_Text_IO.Put (File => Output_File, Item => Out_1);
      Ada.Text_IO.Put (Output_File, "   ");
      Ada.Float_Text_IO.Put (File => Output_File, Item => Out_2, Fore => 6, Aft => Prec, Exp => 0);
      Ada.Text_IO.New_Line (Output_File);
   end Write_Files;



 begin -- begin of Declare

     Ada.Text_IO.Put ("Put file name to write: ");
     Create (Output_Data_File, Out_File, Get_Line);


     for I in 1 .. Time_Vector'Length  loop
         Count := Count + 1;
         Time_Vector(I) := Start + Step * Float(I-1);
         Put (Integer'Image(Count));
         Ada.Text_IO.Put("   ");
         Rotor_Position_Degrees(I) := Spin_Speed * Time_Step * Float(I-1);
         Ada.Float_Text_IO.Put (Item => Rotor_Position_Degrees(I), Fore => 5, Aft  => 1, Exp  => 0);
         Ada.Text_IO.New_Line(1);

         --write to file
         Write_Files (Output_Data_File,
                      Out_1 => Count,
                      Out_2 => Rotor_Position_Degrees(I)
                      );
     end loop;

 close(Output_Data_File);


 end; -- end of Declare


end Compute_Parameters;

我注意到后面的两行begin in Declare根本没有被执行:

Ada.Text_IO.Put ("Put file name to write: ");
Create (Output_Data_File, Out_File, Get_Line);

我究竟做错了什么?

谢谢...


最后一次后按回车键Get for Rotor_Revolutions在标准输入中留下了一个空行,仍有待阅读:

 Ada.Text_IO.Put_Line (Ada.Text_IO.Get_Line);
 Ada.Text_IO.Put ("Put file name to write: ");
 Create (Output_Data_File, Out_File, Ada.Text_IO.Get_Line);

只是为了澄清:这是Get_Line这是必需的;这Put_Line只是为了表明它是一个空行。

或者,使用Ada.Command_Line,如图所示example.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ada:在块语句中写入文件 的相关文章

  • Laravel 5.3 存储和读取文件目录

    目前正在尝试处理文件 但很难弄清楚将它们放在哪里以及如何在列表中读回它们 我尝试过将一些测试文件放入 files array dir opendir asset files open the cwd also do an err check
  • C 中每个块复制一个文件块

    我试图将文件分成 x 个大小为 y 以字节为单位 的块 以便我可以单独复制每个块 我怎样才能做到这一点 尝试使用fread http www manpagez com man 3 fread char buffer ysize fread
  • php:将变量内容下载为文件

    题主可以吗 我有一个正在执行的脚本 有一次 我在变量中有一大段文本 我可以将其作为可下载文件提供 而不实际将变量内容写入磁盘吗 如果您的意思是让用户单击链接并弹出一个对话框以将某些内容保存为文本文件
  • 使用 bash 解析 ICS 文件

    这是一个谷歌日历 ics 文件 我每次都会下载它来检查是否有新的比赛事件被添加或更改 并且我出现在IRC上 我需要转换这样的文件 BEGIN VEVENT DTSTART 20160612T201000Z DTEND 20160612T21
  • 从文件中读取第n行的快速方法

    介绍 我有一个名为的 C 进程MyProcess我称之为nbLines时间 地点nbLines是一个名为的大文件的行数InputDataFile txt在其中可以找到输入数据 例如调用 MyProcess InputDataFile txt
  • 打开文件对象的大小

    有没有办法找到当前打开的文件对象的大小 具体来说 我正在使用 tarfile 模块来创建 tarfile 但我不希望 tarfile 超过特定大小 据我所知 tarfile 对象是类似文件的对象 所以我想通用的解决方案会起作用 ls la
  • [“03C0”]如何匹配附件P中的语法?

    我正在编写一个工具来使用 2005 年附录 P 中提供的语法来解析 Ada 源文件 通过下面的代码 我知道 03C0 代表 希腊字母Pi 但它是合法的变量名吗 01 package Ada Numerics is 02 Pi constan
  • 从绝对路径获取名称,从最后一个斜杠获取子字符串,java android

    我想提取绝对路径的名称 如果我有一个值为 mnt sdcard Videos Videoname 的字符串 我想保存一个值为 Videoname 的字符串 字符串正在变化 我之前无法获取斜杠的数量 如何从最后一个斜杠中分割子字符串 mnt
  • 如何打开 matlab p 代码文件

    有谁知道如何查看 matlab p 代码文件的代码 p 代码文件专门存在 以便您可以共享代码 以便其他人无法查看它 换句话说 您看不到 Matlab p 代码文件的代码
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg
  • 错误:安装 ffi 时出错:错误:无法构建 gem 本机扩展

    我在 Mac 64 位系统中遇到此错误 并且机器上安装了 xcode Building native extensions This could take a while ERROR Error installing ffi ERROR F
  • 确定执行脚本的路径

    我有一个名为foo R其中包括另一个脚本other R 位于同一目录中 usr bin env Rscript message Hello source other R 但我想要R找到那个other R无论当前工作目录是什么 换句话说 fo
  • 从文件中读取单词并放入列表中

    本质上 我有一个巨大的文件 所有文件包含每行多个单词 每个单词用空格分隔 有点像这样 WORD WORD WORD WORD ANOTHER WORD SCRABBLE BLAH YES NO 我想要做的是将文件中的所有单词放入一个巨大的列
  • PHP 一次只能看到 20 个上传文件

    当我尝试一次上传超过 20 个文件时 网络服务器只能看到前 20 个文件 任何其他文件都会被忽略 问题是什么 简单的代码可以尝试
  • 在 Ada 中定义通用标量类型包

    我想通过制作一个用于操作多项式的 Ada 包来测试编写 Ada 包的水 可以为多种代数结构定义多项式 因此为了反映这一点 我想使该包通用 以便它可以与浮点数 整数或其他数字子类型一起使用 我现在想说 我对 Ada 的类型系统如何工作或者它的
  • 将一个文件写入.c中的另一个文件

    我有一个读取文件然后将其内容复制到另一个文件的代码 我需要使其仅复制每 20 个符号 然后跳过 10 个符号 然后再次跳过 20 个符号 依此类推 我必须使用 lseek 函数 但我不知道如何将所有这些放入循环中来执行此操作 main ar
  • 从 Get-ChildItem -Path 返回对象数组

    从 powershell 开始 ls R txt将按目录递归列出文件 或者更好 PS gt Get ChildItem Path C Test Name logs anotherfile txt Command txt CreateTest
  • 如何填充上次保存的用户和文件的上次保存日期

    我有下面的代码从文件夹中获取文件名 Sub GetFileNames Assessed As T2 Dim sPath As String sFile As String Dim iRow As Long iCol As Long Dim
  • Restlet 和 MULTIPART_FORM_DATA 或通过 Restlet 将文件放在 Google App Engine 上的其他方式

    我尝试通过 Restlet 接收文件 但只获得完整的 MULTIPART FORM DATA 如何提取我的特定文件 我找到了一些代码块 但它们的类型不可用 RESTlet 如何处理多部分 表单数据请求 https stackoverflow
  • 文件保存在文件系统中 VS 保存在数据库中

    我正在设计一个 servlet 或 Struts2 中的操作 用于文件 图像 文档等 下载 但我想知道哪种更好的方法可以将文件保留在文件系统和数据库中 只需保留文件的路径或将文件保留在数据库中 如 BLOB 我知道当我查询数据库时 哪里的

随机推荐

  • 使用Spring SpEL表达式获取Annotation中引用的动态参数

    我想做的是拥有一个看起来很像 Spring 提供的 Cacheable Annotation 的注释 在方法之上使用 如下所示 CleverCache key orders concat id public Order getOrder i
  • 通过管道传递多个参数和最后一个函数的结果

    我正在使用 Ramda js 构建一个管道 它接受三个参数 第一个函数需要这三个参数 其结果用于第二个函数 但是 第二个函数还需要初始参数之一 我无法弄清楚构建类似的东西的分支 在伪代码风格中 我需要这样的东西 const composed
  • OAuth、带参数的 POST 问题

    我正在使用 Jon Crosby 的开源 Objective C OAuth 库http code google com p oauthconsumer 对于一些不处理令牌的基本 http 身份验证 仅处理消费者密钥和消费者秘密 我的代码非
  • 在 Blazor WebAssembly 应用程序中授权普通 Razor 页面?

    我正在使用 Blazor Wasm 编写 SPA 我使用了标准模板并包含托管在服务器中的用户帐户 该服务器也创建了服务器应用程序 到目前为止一切都很好 我想补充一点 我正在使用 Net5 RC2 但我认为这不是我的问题 我希望在服务器和客户
  • Weka GUI 和 Weka 通过 Java 代码得到不同的结果

    我正在使用 NaiveBayesMultinomialText 分类器在 Weka 中应用文本分类 问题是 当我使用 GUI 来执行此操作并在相同的列车数据上进行测试 无需交叉验证 时 我获得了 93 的准确率 而当我尝试通过 java 代
  • 使用maven将版本号输出到文本文件

    我想生成一个 zip 文件 该文件将使用 Maven 更新应用程序 该 zip 将托管在服务器上 我使用程序集插件来生成 zip 不过 我希望 maven 自动生成一个文本文件 将当前版本号存储在 zip 之外 这怎么可能 编辑 我使用 M
  • 使用 ggplot 实现多年销售的同步 X 轴

    我有从2012 01 01到现在 2015 11 20 的1417天的销售数据 我不知道如何在同一年的窗口中拥有单年 1月1日 12月31日 轴和每年的销售额 即使使用ggplot scolor as factor Year option
  • 在不使用 SQLAlchemy 的情况下在 Flask 工厂函数中配置 MySQL 数据库

    我是 Flask 新手 正在尝试使用 MySQL 数据库构建一个简单的应用程序 但是 我不想使用 SQLAlchemy 相反 我想使用mysql connector并将 SQL 语句定向到数据库中的 SELECT INSERT UPDATE
  • 使用 CMake 和 Conan 的外部库的未定义引用

    我正在尝试开发一个程序 使用 Conan 和 CMake 以及 LibLogicalAccess 库与 PCSC USB 读卡器进行通信 我按照构建和安装库的说明进行操作 似乎进展顺利 我使用 main cpp 文件创建了一个小型简单的控制
  • 如何在将上传的文件保存到目录之前重命名它?

    下面是我用来将文件上传到目录的代码 效果很好 我的主要问题是 move uploaded file 就是将上传的文件保存到目录中的 也是我猜测的move uploaded file 是为其设置名称的人 如何将文件名更改为随机数 我尝试在下面
  • 问号和冒号(?:三元运算符)在 Objective-C 中意味着什么?

    这行代码是什么意思 label frame inPseudoEditMode kLabelIndentedRect kLabelRect The and 让我困惑 这是C三元运算符 Objective C 是 C 的超集 label fra
  • 八度舍入和评估顺序

    在八度我得到 1 0 05 0 95 0 and 1 0 95 0 05 4 1633e 17 据我所知 这是由求值顺序与近似二进制表示相结合引起的 0 05 为 0 00 0011 和 0 95 为 0 11 1100 有人可以给我整个故
  • mailto 与 Dojo 一起使用时导致 IE8 中出现空白页面

    由于某种原因 在 IE 中 准确地说是 Win 7 中的 IE8 当我单击 mailto 链接时 最终当前页面被地址栏中带有 mailto 的空白页面替换 具体来说 当我单击 mailto 链接时会发生以下情况 新的 about blank
  • icCube - 如何使用 Apache Web 服务器对 icCube 进行身份验证

    我目前正在编写一个 Web 应用程序来访问我们 ICCube 系统的报告 应用程序页面托管在与 IcCube 服务器不同的服务器上 该服务器当前是本地 Apache 服务器 xampp 使用基本身份验证对用户进行身份验证 然后他们才能访问我
  • 如何使用 Qt oauth 创建登录页面?

    我一直在网上寻找如何在 Qt 桌面应用程序打开时创建身份验证页面 我已经构建了该应用程序 它非常小 仅由 main cpp 调用的 MainWindow 组成 现在我想在用户打开应用程序时添加一个身份验证页面 我创建了一个 Google A
  • 回发后将焦点设置在文本框上

    我有一个带有 3 个文本框的搜索页面 用户可以使用它们过滤搜索 我将焦点放在包含文本的文本框上 如果多个文本框包含文本 则只需关注最后一个文本框 private void SetFocusOnTextBox ControlCollectio
  • 无法在 gradle 同步上添加名称为“googleServices”的扩展程序

    我正在使用 ionic 并构建一个应用程序 该应用程序也使用 cordova plugin firebase 进行消息传递和分析插件 当我为 Android 构建这个应用程序时 我去了 android studio 进行测试 但 gradl
  • 将声音(wav)文件从目标c传递到javascript

    我正在 Objective C 中录制声音文件 wav 格式 我想使用 Objective C 将其传递回 JavascriptstringByEvaluatingJavaScriptFromString 我想我必须将 wav 文件转换为
  • 没有括号的字符串连接内的算术运算会导致奇怪的结果

    考虑以下代码行 其输出为 3 这是计算 x y 的预期结果 然而 预期输出是 10 7 3 因此 我的问题是 我与计算连接的字符串发生了什么 我知道为了产生我期望的结果 我需要将算术运算括在括号中 outputs 10 7 3 但由于 PH
  • Ada:在块语句中写入文件

    我正在处理一个数组 其长度在程序执行期间确定 所以我正在利用block我可以在其中设置数组限制的语句 我在将数组的元素写入文件时遇到问题因为我在写入过程中使用了存根 我删除了存根 使所有内容都在同一代码中 虽然现在我的代码编译并运行 它没有