2015-10-20 34 views
-1

這是我第一次用C語言編程,而且我試圖創建一個查詢接口。在C中創建一個查詢接口?

我的意思是說,我有一些數據,我有一個函數CreateGraph()。

我想CreateGraph能夠把這些查詢

CreateGraph <頭> <吧> <開始日期/時間> <結束日期/時間>

,其中這些查詢由用戶在輸入在控制檯上運行。 示例:CreateGraph MyGraph 7 blue 10 將生成一個帶有7個大小爲10,標題爲myGraph的條形圖的藍色圖形。

非常困惑如何做到這一點。謝謝。 (這是基於我正在嘗試完成的任務,但我只想要一般想法)

+0

也許你可以發佈你被困惑的代碼的具體例子,以及你試圖嘗試更完美理解的東西嗎? – Erik

+0

這不一定是我感到困惑的代碼,它或多或少都是結構,從哪裏開始。我試圖找到任何關於「查詢界面」的東西,但沒有。 –

+1

在C中,我總是發現#include 很好的開場白。 – Erik

回答

0

聽起來像你要做的是使用命令行參數作爲執行程序的標誌。在C中,你不會特別從命令行調用函數,因爲沒有辦法做到這一點(至少據我所知)。但是,您要做的是使用argcargv

當C編寫的主要功能,你會經常只寫

int main(){ 
    //code 
} 

但這不是這樣做的唯一途徑。您也可以編寫

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

這些argc和argv是變量,用於存放在命令行中提供給程序的數據。基礎跑步只是看起來像

>./a.out 

在這種情況下,「./a.out」實際上是一個命令行參數,啓動程序運行。因此,如果你在

鍵入
>./a.out MyGraph 7 blue 10 

的argc將是一個int具有值5,和argv包含在該行的每個字符串數組,由空格分隔

["./a.out","MyGraph", "7", "blue", "10"] 

這些然後可以像任何其他訪問數組中的字符* *

這就是說,您在問題中遇到的情況更適合從使用scanf的用戶讀取文件輸入或運行時。

編輯:現在我重讀了你的問題,scanf似乎是一個更好的選擇。在C中,爲了在程序執行期間獲得用戶輸入,可以使用函數scanf。我建議做一個關於如何在C中獲取用戶輸入的谷歌搜索,因爲它比我想寫在這個答案更復雜。 AFAIK,「查詢界面」不是C

+0

是的,這個問題是一個更大的項目的一部分。我已經從argv []中的命令行參數中獲取了一個文件,這是我將所有數據提取的位置。不幸的是,我的任務是要求用戶在控制檯中鍵入函數名稱,然後輸入參數。我相信我可以使用stdin檢查第一個單詞是否是函數名稱,調用該函數,然後使用輸入的下列標記作爲該函數的參數。 –

+0

爲此使用'scanf'。您可以使用'printf'向控制檯寫入提示並使用'scanf'獲取用戶輸入。在網上查看它們並觀看一些教程,它們相對簡單 –