簡(jiǎn)易登錄界面

先上效果圖粪狼。


接下來(lái)你將學(xué)習(xí):將光標(biāo)定位于任何位置逞频,以及輸入密碼時(shí)用星號(hào)代替纯衍。

首先我們需要對(duì)控制臺(tái)的窗口有所了解。


默認(rèn)情況下苗胀,屏幕可以輸出300行完整的信息襟诸,但往往一屏只顯示25行,想要看到更多信息就得往下拉進(jìn)度條基协,一行有80列歌亲,這樣就可以得到300*80的矩陣圖。

<!-------預(yù)備知識(shí)完畢--------->

然后我們可以通過調(diào)用函數(shù)gotoxy(int x澜驮,int y)來(lái)把光標(biāo)移動(dòng)到想要的坐標(biāo)位置应结。

遺憾的是,gotoxy函數(shù)是包含在TC版本的conio.h里面的泉唁,(該版本下還有許多函數(shù)可以在控制臺(tái)中畫出圖形如正弦函數(shù)等)。

VS版本的conio.h里面沒有這個(gè)函數(shù)揩慕、亭畜、、迎卤、

沒有沒關(guān)系拴鸵,我們可以自己寫一個(gè)。

首先include<windows.h>

void gotoxy(int x, int y)

{

COORD pos = {x,y}; ? ? ? ? ? ? ? ? //設(shè)置光標(biāo)位置

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); ? ?// 獲取標(biāo)準(zhǔn)輸出設(shè)備句柄

SetConsoleCursorPosition(hOut, pos); ? ? ?//兩個(gè)參數(shù)分別是指定哪個(gè)窗體蜗搔,什么位置劲藐?

}

是不是很熟悉呢,沒錯(cuò)啦樟凄,又回到我們親愛的HANDLE聘芜,這次新增了一個(gè)COORD類型,這是什么東東缝龄。

COORD是一個(gè)結(jié)構(gòu)體汰现。

typedef struct _COORD{

SHORT ?X;

SHORT ?Y;

}COORD;

//X:橫坐標(biāo);

//Y:縱坐標(biāo)叔壤。

微軟最喜歡typedef了瞎饲,基本上大寫的都是經(jīng)過typedef的,就像INVALID_HANDLE_VALUE事實(shí)上就是-1 ? ?@_@


這里補(bǔ)充說明一下炼绘,建立的坐標(biāo)系是以左上角為原點(diǎn)嗅战,以水平方向?yàn)閤軸,以垂直方向?yàn)閥軸俺亮,也就是平時(shí)的直角坐標(biāo)系的第四象限驮捍。


這樣函數(shù)就寫好了疟呐,調(diào)用調(diào)用調(diào)用。

system("title login");

system("color 0A");

gotoxy(3,8);

cout<<"華南理工大學(xué)教務(wù)管理系統(tǒng)\n";

gotoxy(10,10);

cout<<"用戶名 :";

gotoxy(10,12);

cout<<"密 ?碼 :";

打印完這些以后厌漂,把光標(biāo)回到用戶名右邊以便輸入萨醒。

gotoxy(20,10);

char arr[16];

cin>>arr;

用戶輸入以后,把光標(biāo)移動(dòng)到密碼旁邊以便輸入苇倡。

輸入時(shí)以*代替明文富纸。

gotoxy(20,12);

char brr[16];

for(int i=0;i<15;)//此循環(huán)把每一個(gè)輸入的字符依次存到brr數(shù)組中

{

? ?while( ? ?(brr[i++]=_getch()) ? != ? 13 ? ? )//_getch()函數(shù)是包含在conio.h里面,直接讀進(jìn)去一個(gè)字符旨椒,并且不顯示在屏幕上

? ? {cout<<"*";} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//回車的ansic值是13

brr[--i]='\0';//輸入結(jié)束時(shí)晓褪,brr中包含了密碼和一個(gè)回車,i指向回車的下一個(gè)位置综慎,這步把回車置為'\0'

break;

}

到此程序基本算是完成了涣仿,當(dāng)然還有輸入時(shí)擔(dān)心數(shù)組越界的問題,這不在本次考慮范圍之內(nèi)示惊。

最后說一下_getch()函數(shù)好港,這個(gè)函數(shù)與getch()函數(shù)差不多,都是讀取輸入流的一個(gè)字符米罚,返回int類型钧汹,區(qū)別在于前者不把它回顯在屏幕上,即時(shí)輸入即時(shí)生效录择,在做小游戲的時(shí)候可以用用拔莱。



<!---------update----------->

現(xiàn)在密碼的輸入都會(huì)先顯示實(shí)際輸入數(shù)據(jù),然后再用星號(hào)代替隘竭。接下來(lái)塘秦,我們來(lái)試試。

基本思路是先輸出原始數(shù)據(jù)动看,等待用戶看到確認(rèn)之后尊剔,然后用'\b'退格鍵刪掉顯示的數(shù)據(jù)并且輸出星號(hào)。

代碼如下


分析一下菱皆,Sleep(X)函數(shù)是Windows.h里面的一個(gè)庫(kù)函數(shù)赋兵,可以讓程序暫停X毫秒。

cout<<"\b"能實(shí)現(xiàn)光標(biāo)向前移動(dòng)一位(但不改變?cè)撐恢玫臄?shù)據(jù))搔预,緊接著在該位置上輸出星號(hào)取代原始數(shù)據(jù)霹期。

注意到變量i的自增的位置也不同了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拯田,一起剝皮案震驚了整個(gè)濱河市历造,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖吭产,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侣监,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡臣淤,警方通過查閱死者的電腦和手機(jī)橄霉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)邑蒋,“玉大人姓蜂,你說我怎么就攤上這事∫降酰” “怎么了钱慢?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)卿堂。 經(jīng)常有香客問我束莫,道長(zhǎng),這世上最難降的妖魔是什么草描? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任览绿,我火速辦了婚禮,結(jié)果婚禮上穗慕,老公的妹妹穿的比我還像新娘挟裂。我一直安慰自己,他們只是感情好揍诽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著栗竖,像睡著了一般暑脆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狐肢,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天添吗,我揣著相機(jī)與錄音,去河邊找鬼份名。 笑死碟联,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的僵腺。 我是一名探鬼主播鲤孵,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辰如!你這毒婦竟也來(lái)了普监?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎凯正,沒想到半個(gè)月后毙玻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡廊散,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年桑滩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允睹。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡运准,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擂找,到底是詐尸還是另有隱情戳吝,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布贯涎,位于F島的核電站听哭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏塘雳。R本人自食惡果不足惜陆盘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望败明。 院中可真熱鬧隘马,春花似錦、人聲如沸妻顶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讳嘱。三九已至幔嗦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沥潭,已是汗流浹背邀泉。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钝鸽,地道東北人汇恤。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拔恰,于是被迫代替她去往敵國(guó)和親因谎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • #include stdio.h #include windows.h #include stdlib.h #in...
    Tangbh閱讀 487評(píng)論 0 0
  • //出自51博客:www.Amanda0928.51.com 第一章 一颜懊、選擇題 1.B; (typedef ,t...
    Damongggggg閱讀 11,130評(píng)論 0 1
  • 1.面向?qū)ο蟮某绦蛟O(shè)計(jì)思想是什么蓝角? 答:把數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的方法封裝形成一個(gè)個(gè)的對(duì)象阱穗。 2.什么是類?...
    少帥yangjie閱讀 4,999評(píng)論 0 14
  • /*類和對(duì)象 1.類和實(shí)例化定義類聲明類定義成員函數(shù)數(shù)據(jù)成員的賦值使用類的對(duì)象使鹅。 2.構(gòu)造函數(shù)數(shù)據(jù)封裝默認(rèn)構(gòu)造函數(shù)...
    aofeilin閱讀 1,053評(píng)論 1 2
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,788評(píng)論 0 38