File: case_06.f90

package info (click to toggle)
lfortran 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,332 kB
  • sloc: cpp: 137,068; f90: 51,260; python: 6,444; ansic: 4,277; yacc: 2,285; fortran: 806; sh: 524; makefile: 30; javascript: 15
file content (85 lines) | stat: -rw-r--r-- 1,744 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
program cond_03
implicit none
    integer :: a = 1, b = 2
    integer, parameter :: ap = 1, bp = 2

    real :: c = 1.0, d = 2.0
    real, parameter :: cp = 1.0, dp = 2.0

    integer :: marks
    integer, parameter :: marks_fixed = 94

    ! local variable declaration
    character, parameter :: grade_fixed = 'B'

    select case (grade_fixed)

        case ('A')
        print*, "Excellent!"

        case ('B')
            if( a == b ) then
                print *, "a == b"
                if( ap == bp ) then
                    print *, "ap == bp"
                else
                    print *, "ap /= bp"
                end if
            else if( ap == cp ) then
                print *, "ap == cp"
                if( cp == dp ) then
                    print *, "cp == dp"
                else
                    print *, "cp /= dp"
                end if
            else if( c == d ) then
                print *, "c == d"
            end if

        case ('C')
            print*, "Well done"

        case ('D')
            print*, "You passed"

        case ('F')
            print*, "Better try again"

        case default
            print*, "Invalid grade"

    end select

    print*, "Your grade is ", grade_fixed

    marks = 94
    select case (marks)

       case ((40 + bp):)
          print *, "Pass!"

       case (:(39 - ap))
          print *, "Failed!"

       case default
          print*, "Invalid marks"

    end select
    print*, "Your marks are ", marks


    select case (marks_fixed)

      case ((40 + bp):)
         print *, "Pass!"

      case (0:(39 - ap))
         print *, "Failed!"

      case default
         print*, "Invalid marks"

   end select
   print*, "Your marks are ", marks

end