黑马程序员技术交流社区

标题: 这段代码当用户输出时,怎么让它重新输入啊 [打印本页]

作者: 邢秀兰    时间: 2012-11-13 21:15
标题: 这段代码当用户输出时,怎么让它重新输入啊
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace flag4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入李四的评审等级A-E");
            string input = Console.ReadLine();
            decimal salary = 5000;
            bool flag = false;
            switch (input)
            {
                case "A":
                    salary += 500;
                    break;
                case "B":
                    salary+= 200;
                    break;
                case "C":
                    salary = 5000;
                    break;
                case "D":
                    salary -= 200;
                    break;
                case "E":
                    salary -= 500;
                    break;
                default:
                    {
                        Console.WriteLine("你输入的有问题");
                        
                        flag = true;
                       
                        break;
                    }

                    
            }
            if(flag==false)
            {
                Console.WriteLine("李四的工资为"+salary);
            }
            Console.ReadKey();
        }
    }
}

作者: 邢秀兰    时间: 2012-11-13 21:16
是输错时
作者: 李栋Jelly    时间: 2012-11-13 21:30
定义一个bool类型的变量为true, 在main函数开始定义while()循环,  
作者: 吴步兵    时间: 2012-11-13 21:50
  1. while (true)
  2.             {
  3.                 Console.WriteLine("请输入李四的评审等级A-E");
  4.                 string input = Console.ReadLine();
  5.                 decimal salary = 5000;
  6.                 bool flag = false;
  7.                 switch (input)
  8.                 {
  9.                     case "A":
  10.                         salary += 500;
  11.                         break;
  12.                     case "B":
  13.                         salary += 200;
  14.                         break;
  15.                     case "C":
  16.                         salary = 5000;
  17.                         break;
  18.                     case "D":
  19.                         salary -= 200;
  20.                         break;
  21.                     case "E":
  22.                         salary -= 500;
  23.                         break;
  24.                     default:
  25.                         {
  26.                             Console.WriteLine("你输入的有问题");
  27.                             flag = true;
  28.                             break;
  29.                         }
  30.                 }
  31.                 if (flag == false)
  32.                 {
  33.                     Console.WriteLine("李四的工资为" + salary);
  34.                     return;
  35.                 }
  36.             }
  37.             Console.ReadKey();
复制代码

作者: 郭会茹    时间: 2012-11-14 08:03
  1. bool flag=true;
  2. while (flag)
  3.             {
  4.                 Console.WriteLine("请输入李四的评审等级A-E");
  5.                 string input = Console.ReadLine();
  6.                 decimal salary = 5000;
  7.                 bool flag = false;
  8.                 switch (input)
  9.                 {
  10.                     case "A":
  11.                         salary += 500;
  12.                         break;
  13.                     case "B":
  14.                         salary += 200;
  15.                         break;
  16.                     case "C":
  17.                         salary = 5000;
  18.                         break;
  19.                     case "D":
  20.                         salary -= 200;
  21.                         break;
  22.                     case "E":
  23.                         salary -= 500;
  24.                         break;
  25.                     default:
  26.                         {
  27.                             Console.WriteLine("你输入的有问题");
  28.                             flag = true;
  29.                             break;
  30.                         }
  31.                 }
  32.                 if (flag == false)
  33.                 {
  34.                     Console.WriteLine("李四的工资为" + salary);
  35.                     return;
  36.                 }
  37.             }
  38.             Console.ReadKey();
复制代码

作者: duanhuilin    时间: 2012-11-14 09:17
不错。。不错。。。
作者: 维纳斯之叶    时间: 2012-11-14 13:31
定义一个bool类型的标志位flag,然后用while实现循环。。。。
作者: 刘-洋    时间: 2012-11-15 00:11
用goto关键字也可以,不过不建议
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace flag4
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             start:Console.WriteLine("请输入李四的评审等级A-E");
  12.             string input = Console.ReadLine();
  13.             decimal salary = 5000;
  14.             bool flag = false;
  15.             switch (input)
  16.             {
  17.                 case "A":
  18.                     salary += 500;
  19.                     break;
  20.                 case "B":
  21.                     salary+= 200;
  22.                     break;
  23.                 case "C":
  24.                     salary = 5000;
  25.                     break;
  26.                 case "D":
  27.                     salary -= 200;
  28.                     break;
  29.                 case "E":
  30.                     salary -= 500;
  31.                     break;
  32.                 default:
  33.                     {
  34.                         Console.WriteLine("你输入的有问题");
  35.                         
  36.                         flag = true;
  37.                         goto start;
  38.                        
  39.                         break;
  40.                     }

  41.                     
  42.             }
  43.             if(flag==false)
  44.             {
  45.                 Console.WriteLine("李四的工资为"+salary);
  46.             }
  47.             Console.ReadKey();
  48.         }
  49.     }
  50. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2