我對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