下面是一段很简单的代码,目的是求得所有输入的整数的平均值。但是我的问题不在这里,大家可以发现这段代码有很大的bug,当我输入的变量不是一个整数而是属于浮点数或者字符的话,程序就会崩溃。请教:如何判断由键盘输入的数据类型,来避免这种情况?有没有什么特定的函数,类似于VB里面的IsNumeric函数可以直接判断输入的是否是数字?
#include<iostream>
using namespace std;
int running_avg(int i);
int main()
{
int num;
do{
cout<<"enter numbers(-1 to quit):";
cin>>num;
if(num!=-1)
cout<<"running average is:"<<running_avg(num);
cout<<'\n';
}while(num>-1);
return 0;
}
int running_avg(int i)
{
static int sum=0,count=0;
sum+=i;
count++;
return sum/count;
}