Category : C Source Code
Archive   : CLEAR_C.ZIP
Filename : SEL.C

 
Output of file : SEL.C contained in archive : CLEAR_C.ZIP
/* sel.c */

#include
#include

/* This program illustrates of CODE.H definitons to make C code /*
/* more readable. */

void trim(char *s)
/* Trim white space from both ends of string s */
BEGIN
char *pc, *pce;

for (pc = s; *pc AND (*pc == ' ' OR *pc == '\t'); pc++);
for (pce = pc; *pce > ' '; pce++);
*pce = 0;
strcpy(s, pc);
END

cdecl main(int argc, char *argv[])
BEGIN
char s[80], *clrstr, *pc;
int i, n;

IF (argc < 2)
cputs("Usage: sel \"Prompt\" [max_no]\r\n");
cputs(" Intended for use it batch files with ERRORLEVEL testing.\r\n");
cputs(" Will output the prompt and wait for the user to input\r\n");
cputs(" Y or N if max_no parameter is not present, or otherwise\r\n");
cputs(" expects the input of number from 1 to max_no. Exits with\r\n");
cputs(" errorlevel according to user input. Examples:\r\n");
cputs(" sel \"Enter your selection form 1 to 5 \" 5\r\n");
cputs(" sel \"Are you sure? (Y/N) \"\r\n");
cputs(" The last line returns errorlevel 0 for N and 1 for Y\r\n");
exit(255);
ENDIF
cputs(argv[1]);
clrstr = "\r \r";
IF (argc > 2) /* This is selection, get number 1..n */
n = atoi(argv[2]);
IF (n < 1 OR n > 25)
cputs("Error in select.");
exit(255);
ENDIF
REPEAT
s[0] = 78;
pc = cgets(s);
trim(pc);
i = atoi(pc);
IF (i<1 OR i>n)
cputs(clrstr);
cputs(argv[1]);
ENDIF
UNTIL (i > 0 AND i <= n);
exit(i);
ELSE /* This is Y/N prompt, get Y or N */
REPEAT
s[0] = 78;
pc = cgets(s);
trim(pc);
i = toupper(*pc);
IF (i!='N' AND i!='Y')
cputs(clrstr);
cputs(argv[1]);
ENDIF
UNTIL (i == 'N' OR i == 'Y');
exit (i=='Y');
ENDIF
END


  3 Responses to “Category : C Source Code
Archive   : CLEAR_C.ZIP
Filename : SEL.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/