2021-12-04

Function and procedure subprogram

I need to only use one function and one procedure and unfortunately I didn't manage to solve this problem.

The problem goes as following:

Create a subprogram that has three parameters. One string and two sign.

The subroutine must pick the first and last character in the string. The main program will then print these two characters.

Create a subprogram that retrieves a character, from the keyboard, which represents a truth value (see driving example).

The subprogram must send back the corresponding truth value to the main program.

In the terminal it should look like:

Type a string containing 6 characters: Overfl
First character is: O
Last character is : l

Type F or T (for False or True): T
You typed True

This is how my code looks like:

with Ada.Text_IO; use Ada.Text_IO;

procedure Test is

   procedure String_Check(
      S : in String;
      Char_1, Char_2 : out Character
   ) is
   begin
      Char_1 := S(S'First);
      Char_2 := S(S'Last);
   end String_Check;
   
   function Character_Check(Check : in Character) return Boolean is  
   begin
      if Check = 'T' then
         return True;
      else
         return False;
      end if;
   end Character_Check;
   
   Char_1, Char_2 : Character;
   Check          : Character;
   S              : String(1 .. 6);
   
begin
   Put("Type a string containing 6 characters: ");
   Get(S);
   String_Check(S, Char_1, Char_2);
   Put("First character is: ");
   Put(Char_1);
   New_Line;
   Put("Last character is: ");
   Put(Char_2);
   Skip_Line;
   New_Line(2);
   
   Put("Type F or T (For False or True): ");
   Get(Check);
   Put("You typed ");
   
   if Character_Check(Check) then
      Put("True");
   else
      Put("False");
   end if; 
end Test;

My code runs but it doesn't fulfill the given requirements. I guess I can't use a function in my second subprogram because the instruction says "create a subprogram that receives a character from the keyboard". How am I supposed to do Get in a function? But if I make my second program to a procedure I have to make my first program to a function. How am I supposed to do return for two values at the same time?



from Recent Questions - Stack Overflow https://ift.tt/3olWfYg
https://ift.tt/eA8V8J

No comments:

Post a Comment