感謝你們所有人,這個時候atof會以某種方式工作。我忘了提,它是一個C++類,所以一些代碼被看似複雜,我:)數組中的數據類型
原來的問題是:
寫一個程序,將發現的最小,最大,或意思是一組 浮點數。程序的第一個參數將是一個 字符串,用於指定用戶期望的操作:
min'',
max'',sum'', or
表示''。所有其他參數都是數字。
如果主要被定義爲接受參數
int main (int argc, char** argv[])
,並假設它被編譯成可執行文件anexe.exe,用我們在課堂學到的程序方法是鍵入以下CMD或外殼: anexe最多1個2 3 4 5
===========
我的問題是:
參數應放在數組argv []中,argv [0]是文件名,argv [1]是字符串min/max/sum/mean,argv [2]和後面應該是數字。但是這些數據類型是什麼?他們是char?如果是這樣,我該如何將它們轉換爲浮點數?
=========== 我的代碼是:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main (int argc, char* argv[])
{
std::string option = std::string(argv[1]);
if (argc >1)
{
int i = 2;
if (option == "min")
{
float least = atof (argv[2]);
for(i = 2;i <=(argc-1);i++)
{
int temp = atof(argv[i]);
if (temp < least)
{least = temp;}
}
cout <<"\n"<<least;
return 0;
}
'argv'的數據類型是什麼? Ergo,'argv [i]'的數據類型是什麼?所以你需要知道如何將'char *'變成'float'。你有很多選擇,但我個人認爲使用['std :: stringstream'](http://en.cppreference.com/w/cpp)。 – BoBTFish
看這裏[鏈接](https://www.google.com/search?btnG=1&pws=0&q=C+convert+char*+to+float) – BeerBaron
顯示您的代碼! –