- 注册时间
- 2004-10-2
- 最后登录
- 1970-1-1
|
发表于 2004-12-23 19:11:00
|
显示全部楼层
#define ENTER_KEY 13
#define LT_KEY 23
long inputn(char start)
{
int i;
int n,sign;
char ch,row,col;
long value;
char numberc[11];
char string[12];
row=start/20;col=start%20;
strcpy(numberc,"0bnmghjtyu");
memset(string,0,12);
sign=1;
n=0;
value=0;
for(;;)
{
n=strlen(string);
Locate(row,col);
memset(_TEXT+start,0,156-start);
printf("%s_",string);
ch=getchar();
for(i=0;i<10;i++)
if(ch==numberc){ch=i+'0';break;}
else if(ch==20)ch='-';
if(isdigit(ch)&&n<10)string[n]=ch;
else if (ch=='-')
{
if(sign==1)
{
memmove(string+1,string,10);
string[0]=ch;
}
else if(sign==-1){memmove(string,string+1,10);string[n-1]=0;}
sign=-sign;
}
else if(ch==LT_KEY&n)string[n-1]=0;
else if (ch==ENTER_KEY&&n) {string[n]=0;break;}
}
if(sign==1)i=0;else i=1;
for(;i<n;i++)
{
ch=string;
value=value*10+(ch&0xf);
}
return sign*value;
}
void main()
{
long value;
SetScreen(1);
value=inputn(0);
printf("\n%d",value);
getchar();
}
[此贴子已经被作者于2004-12-23 19:15:52编辑过]
|
|