comp.lang.ada
 help / color / mirror / Atom feed
From: "NTL" <david.judge1@ntlworld.com>
Subject: Why can't i get an EXE!
Date: Sat, 5 Jan 2002 23:33:58 -0000
Date: 2002-01-05T23:33:58+00:00	[thread overview]
Message-ID: <z4MZ7.61963$4x4.8851706@news2-win.server.ntlworld.com> (raw)

Package: QUE PACKAGE

Hi
I am a university student studying computer science's and have to create a
small program as part of my coursework
The program below compiles perfectly and builds in ADAGIDE GNAT3.11,
however, I can not get it to create the .C and .EXE files... am I making
some small fundemental mistake.

any help gladly recievied.

David.

P.s. Complete newbie to ADA programming.



>> BEGIN QUE.ADS

package que is
empty_queue : EXCEPTION;

type queue is array(1..500) of integer;

q : queue;
qs : queue;
tail : integer := 0;
tails : integer := 0;
head : integer := 1;
heads : integer := 1;
count : integer := 0;
n : integer;
A : integer;

procedure initialiser(q: in out queue; head: in out integer; tail: in out
integer);
procedure add(q: in out queue; head: in out integer; tail: in out integer);
procedure remove(q: in out queue; head: in out integer; tail: in out
integer);
procedure show(q: in out queue; head: in out integer; tail: in out integer);

end que;


<<END QUE.ADS

>>BEGIN QUE.ADB

with ada.text_io, ada.integer_text_io;
use ada.text_io, ada.integer_text_io;
with text_io;
use text_io;


package body que is



procedure initialiser(q: in out queue; head: in out integer; tail: in out
integer) is
begin
   tail := 0;
   head := 1;
   for count in head..tail loop
   q(count) := 0;
   end loop;

end initialiser;

procedure add(q: in out queue; head: in out integer; tail: in out integer)
is
begin
   put_line("Please enter an integer ");
   get(n);
   tail := tail+1;
   q(tail) := n;
   --call proc show here
end add;

procedure remove(q: in out queue; head: in out integer; tail: in out
integer) is
begin
   if head < tail then
   --put_line("Queue is currently empty");
   raise EMPTY_QUEUE;
   else
   head := head + 1;
   end if;
   --call proc show here

   exception
   when EMPTY_QUEUE=>
      SKIP_LINE;
      Put_Line("The queue is currently empty");
      NEW_LINE;

end remove;

procedure show(q: in out queue; head: in out integer; tail: in out integer)
is
begin
   if head < tail then
   --put_line("Queue is currently empty");
   raise EMPTY_QUEUE;
   else
   for count in head..tail loop
   put_line(" ");
   end loop;
   end if;

   exception
   when EMPTY_QUEUE=>
      SKIP_LINE;
      Put_Line("The queue is currently empty");
      NEW_LINE;

end show;


begin
   loop
      initialiser(q => qs, head => heads, tail => tails);
      Put_Line("****************************");
      Put_Line("   1). Add to queue");
      Put_Line("   2). remove to queue");
      Put_Line("   3). Quit queue program");
      Put_Line("****************************");
      get(A);
      case A is --Execute menu option depending on A's value
         when 1      => add(q => qs, head => heads, tail => tails);
         when 2      => remove(q => qs, head => heads, tail => tails);
         when 3      => exit;
         when others => Put_Line("Sorry incorrect entry please retry");
      end case;
   end loop;


end que;

<<END QUE.ADB





             reply	other threads:[~2002-01-05 23:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-05 23:33 NTL [this message]
2002-01-06  0:52 ` Why can't i get an EXE! Preben Randhol
2002-01-06  2:02   ` Phoenix.
2002-01-06 12:19     ` Preben Randhol
2002-01-07 11:06 ` Preben Randhol
2002-01-07 21:52 ` Liddle Feesh
2002-01-08 13:14   ` Phoenix.
2002-01-08 13:31     ` Phoenix.
2002-01-08 13:55       ` Liddle Feesh
2002-01-08 13:52     ` Liddle Feesh
2002-01-07 21:59 ` Liddle Feesh
  -- strict thread matches above, loose matches on Subject: below --
2002-01-06 19:45 Phoenix.
2002-01-06 20:12 ` Preben Randhol
2002-01-06 22:03   ` Phoenix.
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox