首页 >

带默认值的屏幕输入

作者:fcode  日期:05-11
来源:Fcode研讨团队
在我们的日常编程中,经常会用到屏幕输入。
而在调试过程中,每次运行都要重复输入参数,有可能还非常多。稍不注意就会输入错误。

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

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

如下运行效果,蓝色是输入部分:
请输入一个浮点数(直接回车则为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

常规|工具|专业|读物|
代码|教学|算法|
首页 >
FortranCoder手机版-导航