12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #include "bc_string.h"
- #include "bc_io.h"
- /* $Id$ */
- /* Here all routine to generate terminal oriented output is located */
- _qstmark()
- {
- /* prompt for terminal input */
- putchar('?');
- }
- _nl()
- {
- _asschn();
- _outnl();
- }
- _prinum(i)
- int i;
- {
- char buffer[40];
- _asschn();
- if(i>=0)
- sprintf(buffer," %d ",i);
- else sprintf(buffer,"-%d ",-i);
- _out(buffer);
- }
- _str(f,buffer)
- double f;
- char *buffer;
- {
- register char *c = buffer;
- int eformat = 0;
- if( f>=0){
- if( f> 1.0e8) {
- eformat = 1;
- sprintf(buffer," %e",f);
- }
- else sprintf(buffer," %f",f);
- c++;
- }else {
- if(-f> 1.0e8) {
- eformat = 1;
- sprintf(buffer,"-%e",-f);
- }
- else sprintf(buffer,"-%f",-f);
- }
- if (! eformat) {
- for( ; *c && *c!= ' ';c++) ;
- c--;
- while( c>buffer && *c== '0')
- {
- *c= 0;c--;
- }
- if( *c=='.') *c=0;
- }
- }
- _prfnum(f)
- double f;
- {
- /* BASIC strings trailing zeroes */
- char buffer[100];
- char *c;
- _asschn();
- c= buffer;
- _str(f,c);
- strcat(buffer," ");
- _out(buffer);
- }
- _prstr(str)
- String *str;
- {
- _asschn();
- if( str==0) _out("<null>");
- else _out(str->strval);
- }
|