Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
楼主: 无我不在
打印 上一主题 下一主题

【入门C作业】【strcmp / for / while】 #25楼 有Debug Coding提供。

[复制链接]

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

31#
发表于 2009-1-16 11:50 PM |只看该作者
原帖由 无我不在 于 2009-1-16 09:56 PM 发表
进入Z case,系统要求:
PASSWORD: 123456

在switch_case Z那里,我想增加一个效果。就是当你输入PASSWORD时,如何隐藏PASSWORD?比如说,

进入Z case,
PASSWORD:******         // input 改为*码

...



那麼你就要使用 conio.h 然後配合 getch 取得使用者所輸入的文字之後儲存起來, 之後再用 putch 輸出 * 到畫面

至於字體顏色的改變你可以找一下之前的帖子, 我回過了


回复

使用道具 举报

5

主题

2

好友

3194

积分

本站名嘴

Rank: 11Rank: 11

32#
发表于 2009-1-17 12:28 AM |只看该作者
番茄整天帮人
好好人啊em0034


回复

使用道具 举报

14

主题

1

好友

1491

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

33#
发表于 2009-1-17 09:47 AM |只看该作者
case 'z'        :
case 'Z'        : while(ch != '\r')                                  //\r是什么?
                  {
                       ch = getch();
                        cerr<<"*";                                          //cerr是什么?需要declare吗?
                        stuff_password[i++] = ch;
                        printf("\n\tPassword: ");
                        gets(stuff_password);
                   }


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

34#
发表于 2009-1-17 10:41 AM |只看该作者
原帖由 无我不在 于 2009-1-17 09:47 AM 发表
case 'z'        :
case 'Z'        : while(ch != '\r')                                  //\r是什么?
                  {
                       ch = getch();
                        cerr<<"*";                                          //cerr是什么?需要declare吗?
                        stuff_password[i++] = ch;
                        printf("\n\tPassword: ");
                        gets(stuff_password);
                   }



你要会抄之前先学会看 while 就是循环,要跳出循环当然就是要判断使用者是否输入了 Enter

cerr 的使用说明请看
http://msdn.microsoft.com/en-us/library/6xwbdak2(VS.80).aspx

以上例子你不明白的话,请先明白我所说的 getch 和 putch 使用方法,而且你的那段 coding 也不完整欠缺了 backspace 删除 * 的方式


回复

使用道具 举报

14

主题

1

好友

1491

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

35#
发表于 2009-1-17 12:52 PM |只看该作者

回复 #34 Super-Tomato 的帖子

【成功运行】

我的visual 2008不能用iostream叻。
所以我用这个function。可是不好写……

参考:http://hi.baidu.com/toyourside/b ... 56088f47106493.html

char* get_password(const   char   *prompt)   
{   
        static char buffer[128];   
        int p=0;   
        char letter=NULL;   
        printf(prompt);  
        while((p<127)&&(letter!='\r'))   
        {   
                letter=getch();   
                if(letter==BACKSPACE)   
                {   
                        if(p>0)   
                        {   
                                buffer[--p]=NULL;   
                                putchar(BACKSPACE);   
                                putchar('   ');   
                                putchar(BACKSPACE);   
                        }   
                        else
                        {
                                putchar(7);  
                        }
                }   
                else if(letter!='\r')   
                {   
                        buffer[p++]=letter;   
                        putchar('*');   
                }   
        }   
        return   (buffer);   
}   

【void main里】
case 'z'        :
case 'Z'        : printf("\n\t");
                     stuff_password = get_password("Enter PASSWORD: ");
                                                
                     if(strcmp(stuff_password, "iloveyou") == 0)
                     {
                             printf("\n\n\tS/N\tNRIC\t\tName\t\tTAX Payment\tPassword");
                             printf("\t\t******************************************************************");
                             for(i=1; i<10; i=i+1)
                             {
                              printf("\n\t%d\t%s\t%s\t%8.2f\t%s", i, icno, name, amount_payment, customer_password);
                               }
                              printf("\n\t******************************************************************");
                              printf("\n\n");
                              }
                       }


[ 本帖最后由 无我不在 于 2009-1-17 12:57 PM 编辑 ]


回复

使用道具 举报

14

主题

1

好友

1491

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

36#
发表于 2009-1-17 02:10 PM |只看该作者

回复 #31 Super-Tomato 的帖子

你之前的文章沉到哪里了? T.T
改变字体颜色大小?是不是用SetConsoleTextAttribute?我是想在指定的范围做颜色效果,可是我还没学过。上网搜索,大部分例子都是用function的。
#define BLACK 0
#define BLUE 1
#define GREEN 2
#define CYAN 3
#define RED 4
#define MAGENTA 5
#define BROWN 6
#define LIGHTGREY 7
#define DARKGREY 8
#define LIGHTBLUE 9
#define LIGHTGREEN 10
#define LIGHTCYAN 11
#define LIGHTRED 12
#define LIGHTMAGENTA 13
#define YELLOW 14
#define WHITE 15
#define BLINK 128

还是system("color 0e");?  可是影响到整篇作业的颜色。
   1. 0 = Black       8 = Gray
   2. 1 = Blue        9 = Light Blue
   3. 2 = Green       A = Light Green
   4. 3 = Aqua        B = Light Aqua
   5. 4 = Red         C = Light Red
   6. 5 = Purple      D = Light Purple
   7. 6 = Yellow      E = Light Yellow
   8. 7 = White       F = Bright White

[ 本帖最后由 无我不在 于 2009-1-17 02:22 PM 编辑 ]


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

37#
发表于 2009-1-17 07:51 PM |只看该作者
原帖由 无我不在 于 2009-1-17 12:52 PM 发表
【成功运行】

我的visual 2008不能用iostream叻。
所以我用这个function。可是不好写……

参考:http://hi.baidu.com/toyourside/b ... 56088f47106493.html

char* get_password(const ...



iostream 是 C++ 的 header,  Visual C++ 怎麼可能會不支援呢
那個 get_password 函數怎麼會不好寫啊, 是你還沒去了解程式的應用意義

http://www.super-tomato.net/download/Mask.exe


http://www.jbtalks.cc/thread-442065-1-4.html


回复

使用道具 举报

14

主题

1

好友

1491

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

38#
发表于 2009-1-17 11:37 PM |只看该作者

回复 #37 Super-Tomato 的帖子

其实我学校教的很有限。
现在都是自己在爬文章和例子。基础也不稳。

每次我开的coding都是属于 .c file(学校教的)来的。这样是不是会影响到我不能用iostream呢?因为我拷贝你的coding,都不能运行。还是要下载一些补丁啊?
iostream / windows.h 都会显示错误的。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

39#
发表于 2009-1-18 12:11 AM |只看该作者
原帖由 无我不在 于 2009-1-17 11:37 PM 发表
其实我学校教的很有限。
现在都是自己在爬文章和例子。基础也不稳。

每次我开的coding都是属于 .c file(学校教的)来的。这样是不是会影响到我不能用iostream呢?因为我拷贝你的coding,都不能运行。还是要 ...



昏~~~

.c 當然就只是單純的只能運用 C, 而 .cpp 才能兩者兼用

不過你要做到的 * 單使用 C 就可以做到,但是輸出顏色就必需使用 C++ 的 library


回复

使用道具 举报

14

主题

1

好友

1491

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

40#
发表于 2009-1-18 12:17 AM |只看该作者

回复 #39 Super-Tomato 的帖子

哇哈哈,难怪很多coding例子都不能运行。

努力爬文章中……不明白再再发问。

不好意识啊。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-10-25 05:29 AM , Processed in 0.098645 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部