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
next 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