with Ada.Text_IO; use Ada.Text_IO; procedure Country is type Cars is (Ford,Chevrolet,Pontial,Chrysler,Dodge, Rover,Rolls_Royce, Peugeot,Renault,Citroen, BMW,Volkswagen,Opel,Audi, Honda,Toyota,Mitsubishi, Daewoo,Kia,Hyundai ); type Countries is (UK,US,France,Germany,Korea,Japan); function Car_to_Country(C: Cars) return Countries is begin case C is when Ford..Dodge => return US; when Rover|Rolls_Royce => return UK; when Peugeot..Citroen => return France; when BMW..Audi => return Germany; when Daewoo..Hyundai => return Korea; when Honda..Mitsubishi => return Japan; end case; end Car_to_Country; S: String(1..80); Last: Integer; Car: Cars; begin loop Put("Enter the maker of the car: "); Get_Line(S,Last); exit when Last=0; Car:=Cars'Value(S(1..Last)); Put_Line(Cars'Image(Car) & " is made in " & Countries'Image(Car_to_Country(Car))); end loop; exception when Constraint_Error => Put_Line(S(1..Last) & " is not in cars list"); end Country;