我对C++很陌生,并且正在编写一个简单的加法程序。到目前为止,我有这样的代码,只用数字工程参数:简单的加法代码和严重的错误处理
int main(int argc, char *argv[])
{
if (argc==1)
cout << "[email protected]";
if (argc==2)
cout << "P";
//addition function
if (argc==3){
float number1 = atof (argv[1]);
float number2 = atof (argv[2]);
cout << number1 + number2 << endl;
}
if (argc>3)
cout << "P";
return 0;
}
正如你所看到的,我指定的参数变量赋值并加入他们。这些argvs将被测试,他们必须能够处理所有事情。所以我有几个问题:
如果其中一个变量不是一个有效的数字(如1或3000),我如何让我的程序拿起这个,并采取行动?为了有效,一个数字也不能是一个等式(如分数或其他)。
- 如果输入一个奇怪的有效数字(如3,000.2(注意逗号)),将其更改为3,我该如何更改?
所以是的,抛出一些集成的错误检查/处理技术在我身上,我会永远爱你。
为什么1个或3000不是有效的数字? – 2012-03-12 04:15:22
大多数将字符串解析为整数或浮点数的例程在读取的第一个非数字处停止。这就是为什么'3,000.2'转换为'3'的原因。而且,命令和点在不同的语言环境中具有不同的含义,例如,对于一些“3000”是三千,而对于其他人则是三点零。 – 2012-03-12 07:41:51