用C語言寫出數字鍵0-9可輸入0-9,a-z,A-Z字串程式

2007-07-06 10:30 pm
小弟想要用C語言寫出數字鍵0-9可輸入0-9,a-z,A-Z字串的程式
ex: 按1數字鍵在計時三秒內第一次按是出現'1',
之後三秒內又按下1數字鍵一次,會將剛剛的'1'變成'a','b','c','A,'B''C'循環
另外一個條件是
如果按下跟剛剛不同一個數字鍵,
或是超過二秒time out之後又按下同一個數字鍵,
就將這次輸入的文字接在前一個輸入的文字後面,以此類推~,請問有沒有前輩有寫過這類的程式呢?
麻煩給小弟一些指導~謝謝
更新1:

不好意思 time out 都是兩秒~

更新2:

是呀 就是類似手機的英文字母的輸入法... 不好意思 我的題目讓大家看不懂~~不好意思啦

回答 (4)

2007-07-19 6:16 pm
✔ 最佳答案
你的問題我可以解決。
3天後沒人回,我也忘了的話,請寄信給我。
(這 2 天要先能擺平指導教授,不然我就完了!~>.<~)

2007-07-19 10:16:48 補充:
#include <conio.h> // for _getch()
#include <ctype.h>
#include <stdio.h>
#include <time.h>

int main(void)
{ int i = 0;
clock_t t, t0;
char k, k0='a',
*key[] = { "0abcABC", "1defDEF", "2ghiGHI", "3jklJKL", "4mnoMNO",
"5pqrPQR", "7stuSTU", "8vwxVWX", "9yz*YZ_" };

t0 = clock();
while ((k=_getch()) != 'Q')
{ t = clock();
if (k == k0)
{ if ((t - t0) < 2 * CLOCKS_PER_SEC) i++;
if (i == 7) i = 0;
} else i = 0;

if (isdigit(k)) printf("%c", key[k-'0'][i]);
t0 = t, k0 = k;
}

return 0;
}


你參考看看,哪不懂再問。^_^
2007-07-07 11:39 pm
幫各位大大解說
版大要製作的應該是像手機那樣的輸入方法
2007-07-07 9:34 pm
我…我看不懂,可不可以舉例?
2007-07-07 7:15 pm
可否舉個例子,看不太懂題目@_@....輸入0-9,那輸出要輸出什麼?


收錄日期: 2021-04-27 17:13:58
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070706000015KK05407

檢視 Wayback Machine 備份