058.使用循环对结构体进行赋值

时间:2025-03-29 08:46:57
with Ada.Text_IO; use Ada.Text_IO; procedure Recored4 is type MONTH_NAME is (JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC); type DATE is record Month:MONTH_NAME; Day:Integer range 1..31; Year:Integer range 1776..2010; end record; type PERSON is record Name :String(1..15); Birth_Day:DATE; Age:Integer:=15; Sex:Character:='M'; end record; Teacher :PERSON; Class_Member:array(1..35)of PERSON; Standard:constant PERSON:=("John Q. Doe ",(MAR, 27, 1955), 33, 'M'); type EMPTY_RECORD is record null; end record; type ANOTHER_EMPTY_RECORD is null record; begin Teacher.Name := "John Q. Doe "; Teacher.Age := 21; Teacher.Sex := 'M'; Teacher.Birth_Day.Month := OCT; Teacher.Birth_Day.Day := 18; Teacher.Birth_Day.Year := 1938; -- 使用for循环对记录数组中的元素进行初始化 for Index in Class_Member'RANGE loop Class_Member(Index).Name := "Suzie Lou Q "; Class_Member(Index).Birth_Day.Month := MAY; Class_Member(Index).Birth_Day.Day := 23; Class_Member(Index).Birth_Day.Year := 1956; Class_Member(Index).Sex := 'F'; end loop; -- 使用简单的赋值语句对某一个合法的记录数组中的元素进行重新复制 Class_Member(4).Name := "Little Johhny "; Class_Member(4).Sex := 'M'; Class_Member(4).Birth_Day.Day := 17; Class_Member(7).Age := 14; Class_Member(2) := Standard; Class_Member(3) := Standard; end Recored4;