2012-01-25 48 views
0

寫一個智能編輯器來模擬以下內容:智能編輯器程序用C

在打字時,如果一個新單詞具有相同字母,一些以前輸入的單詞,選擇這個詞,而不是鍵入的選擇開始整個應該給。 這是我的作業。

我的算法:

1: Read the input by everytime checking the _kbhit() macro. 
2: Store the word in an array 
3: On every further read, check the array if the word exists. 

現在出現問題!

我該如何給用戶一個選項來選擇或不選? 即使提供選項是成功的,我怎麼知道他的用戶決定選擇這個詞?

我是這種編程風格的新手。任何人都知道如何做到這一點,請幫助我...

+0

你有沒有聽說過的[ncurses的(http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/)? – zwol

+0

在此之前。 – Kameron

回答

1

這取決於你如何閱讀輸入,並與用戶溝通。如果它只是一個終端,我建議你定義一個鍵(可能是tab或esc)來移動到choosing state,然後讓他(例如)擊中一個或多個鍵。

編輯:一些代碼:

char c=getchar(); 
//some of your proccessing... 
if (c=='\t') { 
printf("\nPlease select option (0 to abort)\n"); 
char **op; 
int n,i; 
//calculate the options, assign them to op and n. 
for (i=0;i<n;i++) printf("%d: %s\n",i+1;op[i]); 
i=n+1; 
while (i<0 || i>n) scanf("%d",&i); 
if (i>0) { 
    //do whatever you need. remember to use i-1 
} 
} 
//reprint the whole string. 
+0

是的,它只是終端(普通C)。你可以發佈一些代碼嗎? – Kameron

+0

一些代碼已發佈:) – asaelr

1

各種東西使用自動完成....甚至谷歌搜索!您只需要選擇一種方法,例如選項卡循環選項,空格選擇該選項(或輸入)。也許Esc會阻止它嘗試自動完成該選項。無論哪種方式,由你來提出一個計劃。也許嘗試一些其他程序自動完成。

+0

雅但如何實現相同?任何教程或程序做同樣的事情? – Kameron

+0

好吧,你沒有給出任何細節,你正在實施這個,但你需要1)如果你在一個單詞中解決問題2)如果你在文字中,顯示選項3)允許用戶選擇通過按某些按鍵,或者如果他們鍵入一個有效的字符,將它添加到現有的單詞,然後搜索新的選項4)讓他們選擇一個選項,然後返回到正常的編輯,你不再是一個字,並且不必顯示選項 –