c++ source用getch()来输入并获得一个浮点小数

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:15:41
请教下cpp
我想用getch()输入字符 其中限制数字与.号以外的不可输入
且第一个输入的不为0或.号
获得的浮点小数不小于1且不大于99999.99999

回车确认后
最后得到一个浮点小数
我不得不承认您的方法很好
但是也许是我想的与我所表达的有出入
我想要的是将这些字符变为一个 double shuzi
例如我输入 1-2-1-.-1-4-4 最后我得到的是shuzi=121.144

我想这次是你想要的答案。

#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{

int ch;
double shuzi;
char temp[100];
int k=0;
while(1)
{
ch=getch();
if( (ch>'0' && ch<'9') || ch=='.')
{
printf("%c",char(ch));
temp[k]=ch;
k++;
}
if(ch=='\r')
break;
else
continue;
}
temp[k]='\0';
shuzi=atof(temp);
cout<<"数值为:"<<shuzi<<endl;
cout<<endl;
return 0;
}

回车确认后
最后得到一个浮点小数
问题补充:我不得不承认您的方法很好
但是也许是我想的与我所表达的有出入
我想要的是将这些字符变为一个 double shuzi
例如我输入 1-2-1-.-1-4-4 最后我得到的是shuzi=121.144
我想这次是你想要的答案。

#include <stdio.h>
#include <iostream.h>
#include <conio.h>