首页 > 代码 > 常规代码 > 正文

代码

阅读排行

带默认值的屏幕输入
2015-05-11 23:05:50   来源:Fcode研讨团队   评论:0 点击:

本代码给出一种带默认值的屏幕输入方式,即可以正常输入数据,也可以在直接按下回车时,按照默认值对待。语法符合 Fortran90 以上语法规范。

在我们的日常编程中,经常会用到屏幕输入。
而在调试过程中,每次运行都要重复输入参数,有可能还非常多。稍不注意就会输入错误。

在某些时候,我们也可能会暂时取消屏幕输入,而改成固定值。但这样又不方便。

本代码可以在上述两个选择上折衷。即可以正常输入,又可以直接回车,按照默认值对待。

如下运行效果,蓝色是输入部分:
请输入一个浮点数(直接回车则为3.0)
   3.00000000
请输入一个浮点数(直接回车则为3.0)
   3.00000000
请输入一个浮点数(直接回车则为3.0)2.5
   2.50000000
请输入一个浮点数(直接回车则为3.0)1.4
   1.39999998
请输入一个浮点数(直接回车则为3.0)100
   100.000000
请输入一个浮点数(直接回车则为3.0)

代码如下(此代码以浮点数为例,其他数据类型,如整型,字符型,请自行修改设计):

Program www_fcode_cn
  implicit none
  Real :: a
  Do
    a = GetInputReal( "请输入一个浮点数(直接回车则为3.0)" , 3.0 )
    write(*,*) a
  End Do
  
contains

  Real Function GetInputReal( cStr , rDef ) Result ( rOut )
    Character( Len = * ) , Intent( IN ):: cStr
    Real , Intent( IN ) :: rDef
    real :: rR
    integer :: iErr
    character( Len = 30 ) :: cRead
    rOut = rDef    
    Write( * , '(a)' , advance = 'no' ) cStr
    Read( * , '(a30)' ) cRead
    if ( Len_Trim( cRead ) <= 0 ) return
    Read( cRead , * , iostat = iErr ) rR
    if ( iErr == 0 ) rOut = rR
  End Function GetInputReal
  
End Program www_fcode_cn

相关热词搜索:屏幕输入 默认值 read

上一篇:VCF文件UTF-8加密码转换为明码
下一篇:金额数字转换为会计用金额大写

分享到: 收藏