/* Copyright (C) 1996 by Thomas Glen Smith. All Rights Reserved. */
/* getvect APL2 V1.0.0 *************************************************
* Sends a prompt to the standard output file and obtains from standard *
* input a character string containing zero or more floating constants. *
* The string will be edited, and the user prompted for corrections if *
* necessary. When all constants are valid, they will be converted to *
* internal double floating point. An aplcb will be initialized to *
* point to this vector, and a pointer to the aplcb will be returned. *
***********************************************************************/
#define MAXLINE 256
#define INCLUDES APLCB+STDIO
#include "includes.h"
Aplcb getvect(prompt)
char *prompt;
{
Endoper; Vector;
Aplcb out=NULL;
char c,line[MAXLINE],*lp;
int i,j,linelen;
line[0]='\0';
printf("\n%s\n",prompt);
linelen=gettext(line,MAXLINE);
while (1) {
lp=line;
out=vector(&lp,lp+linelen,0);
if (linelen==(i=lp-line))
break; /* input ok */
/* invalid input */
endoper(out);
out=NULL;
printf("Bad data, reenter:\n");
linelen=edline(line,i,MAXLINE,1);
}
return(out);
}