gotos [Really Yet Another write this without gotos]
Dragos Ruiu
work at dragos.UUCP
Sun Apr 24 04:50:21 AEST 1988
In article <2200 at louie.udel.EDU>, new at udel.EDU (Darren New) writes:
.>
.> How about: (pseudocode)
.> for (i = 0; i < max_in_table && key != name[i]; ++i)
.> if (keypressed()) goto handle_key;
.> seek(helpfile, offset[i]);
.> if (keypressed()) goto handle_key;
.> linecount = 0;
.> do {
.> read_line_from_file();
.> ++linecount;
.> if (keypressed()) goto handle_key;
.> if (read_line[0] == special_flag_char) goto handle_key;
.> insert_spaces_and_color_codes();
.> if (keypressed()) goto handle_key;
.> display_text_line();
.> if (keypressed()) goto handle_key;
.> } while (linecount < 24);
.> handle_key:
.> c = wait_for_key_then_read_it();
.> switch (c) {
.> case 'A': ...
.> ...
.> }
.>
.> I contend that if the reading and formatting and displaying are sufficiently
.> slow, such behaviour can be desirable (i.e., on microcomputers).
.> I would like to see a goto-less version of this that is easier to understand.
.> - Darren New
.> Graduate Student
.> University of Delaware.
.>
done_reading = FALSE;
linecount = 0;
do_what_ever_seeks();
while(!done_reading)
{
if(!keypressed())
{
read_line();
linecount++;
}
if(!keypressed())
do_what_ever_stuff();
if(!keypressed())
print_that_sucker();
if(keypressed() || linecount >= 24)
done_reading = TRUE;
}
c = wait_for_key_then_read_it();
switch (c)
{
case 'A': ...
...
}
Really, this is getting boring. Would all the goto fans please go get
themselves a BASIC compiler to write software and let us talk about
something else. :-)
--
Dragos Ruiu ruiu at dragos.UUCP
...alberta!dragos!ruiu "cat ansi.c | grep -v noalias >proper.c"
More information about the Comp.lang.c
mailing list