| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3050 人关注过本帖
标题:本人刚学C# ,感觉do-while比while要麻烦点 求高人指点程序
只看楼主 加入收藏
hans998123
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2011-7-10
结帖率:0
收藏
已结贴  问题点数:10 回复次数:8 
本人刚学C# ,感觉do-while比while要麻烦点 求高人指点程序
这个程序是说 :提示 用户输入用户名和密码  只要不是 用户名不是admin  密码不是888888
就要用户 一直输入
这个是while语句写的:

Console.WriteLine("请输入用户名");
            string user = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string pwd = Console.ReadLine();
            while (user != "admin" || pwd != "888888")
            {
                Console.WriteLine("用户名密码不对,请重新输入");
                Console.WriteLine("请重新输入用户名");
                user = Console.ReadLine();
                Console.WriteLine("请重新输入密码");
                pwd = Console.ReadLine();
            }
这个是我用do-while写的 感觉这个比while麻烦 ,因为这个把if语句给套上了 高手看看有没有简单的办法 不用if语句
Console.WriteLine("请输入用户名");
            string username = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string password = Console.ReadLine();
            if (username == "admin" && password == "888888")
            {
                Console.WriteLine("输入正确");
            }
            else
            {
                do
                {

                    Console.WriteLine("请重新输入用户名");
                    username = Console.ReadLine();
                    Console.WriteLine("请重新输入密码");
                    password = Console.ReadLine();
                }
                while (username != "admin" || password != "888888");
            }
           
            Console.ReadKey();

[ 本帖最后由 hans998123 于 2011-7-10 12:41 编辑 ]
搜索更多相关主题的帖子: while admin 用户名 输入密码 
2011-07-10 12:39
olderlong
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2011-7-10
收藏
得分:2 
do-while在检查条件语句前已经执行了一次循环体内的代码,因此如果用do-while的话你前面的if是必须的,用while就可以了。
2011-07-10 13:58
zhengxw1989
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2011-4-12
收藏
得分:2 
while和do-while虽然相似,但是根据具体情况还是有方便和不方便的,所以要根据实际情况选择用哪种循环方式
2011-07-10 14:11
梦之翼
Rank: 1
等 级:新手上路
帖 子:74
专家分:4
注 册:2006-7-5
收藏
得分:2 
do
                {
                    if(username != "admin" || password != "888888")
                    {
                    Console.WriteLine("请重新输入用户名");
                    username = Console.ReadLine();
                    Console.WriteLine("请重新输入密码");
                    password = Console.ReadLine();
                    }
                }
                while (username != "admin" || password != "888888");
            Console.WriteLine("输入正确");
            Console.ReadKey();

这样写比较简洁

[ 本帖最后由 梦之翼 于 2011-7-10 16:36 编辑 ]

既不回头,何必不忘。 既然无缘,何必誓言。 今日种种,似水无痕。 明夕何夕,君已陌路。
2011-07-10 16:16
ai0_0jun
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:145
注 册:2011-6-29
收藏
得分:2 
1.do{}while()  先得出结果,在筛选。
2.while(){} 先筛选,在去得结果。
2011-07-12 09:54
bailulei
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2011-7-13
收藏
得分:2 
自己写麻烦了
bool jx=false;
do
{
Console.WriteLine("请输入用户名");
string name = Console.ReadLine();
Console.WriteLine("请输入密码");
string pwd = Console.ReadLine();
if(name!="admin" || pwd !="88888")
{
jx=true;
Console.WriteLine("用户名或者密码错误!");
}
}
while(jx);
2011-07-13 21:34
bailulei
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2011-7-13
收藏
得分:0 
do-while的执行过程是先执行一次do{}里面的内容,然后判断while的条件,真就再执行,假酒退出循环;所以你不用先写一次让输入密码和用户名的代码。
2011-07-13 21:37
Source_Liu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-7-14
收藏
得分:0 
string username;
            string password;            
                do
                {

                    Console.WriteLine("请输入用户名");
                    username = Console.ReadLine();
                    Console.WriteLine("请输入密码");
                    password = Console.ReadLine();
                }
                while (username != "admin" || password != "888888");
            
           Console.WriteLine("输入正确");
            Console.ReadKey();
2011-07-20 16:05
gjq52199
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-10-15
收藏
得分:0 
回复 8楼 Source_Liu
我觉得应该是这样才是原来的那个意思吧?
string username;
            string password;            
                do
                {

                    Console.WriteLine("请输入用户名");
                    username = Console.ReadLine();
                    Console.WriteLine("请输入密码");
                    password = Console.ReadLine();
                }
                while (username = "admin" || password = "888888");
            
           Console.WriteLine("输入正确");
            Console.ReadKey();
do{}while的意思应该是做...直到...,while的意思应该是当...的时候做...。一点个人理解,不对之处还望指正。
2011-10-18 15:57
快速回复:本人刚学C# ,感觉do-while比while要麻烦点 求高人指点程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018149 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved