program create_a_type ! This file: http://ftp.aset.psu.edu/pub/ger/fortran/hdk/Make_a_Type.f90 ! Implicit none type chemical_element ! a user defined data type character (len=2) :: symbol integer :: atomic_number real :: atomic_mass end type type (chemical_element) :: argon, carbon, neon ! elements type (chemical_element) :: Periodic_Table(109) ! an array real :: mass ! a scalar carbon%atomic_mass = 12.010 ! set a component value carbon%atomic_number = 6 ! set a component value carbon%symbol = "C" ! set a component value argon = chemical_element ("Ar", 18, 26.98) ! construct element read *, neon ! get "Ne" 10 20.183 Periodic_Table( 5) = argon ! insert element into array Periodic_Table(17) = carbon ! insert element into array Periodic_Table(55) = neon ! insert element into array mass = Periodic_Table(5) % atomic_mass ! extract component print *, mass ! gives 26.9799995 print *, neon ! gives Ne 10 20.1830006 print *, Periodic_Table(17) ! gives C 6 12.0100002 end program create_a_type