Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何构造一个运行三次并测试年龄输入的循环_C#_Windows - Fatal编程技术网

C# 如何构造一个运行三次并测试年龄输入的循环

C# 如何构造一个运行三次并测试年龄输入的循环,c#,windows,C#,Windows,我需要做一个循环,运行3次,并为三个年龄组0-1011-20和21-65切换以下代码: class Program { private static object N; static void Main(string[] args) { string answer; { Console.Write

我需要做一个循环,运行3次,并为三个年龄组
0-10
11-20
21-65
切换以下代码:

class Program
    {
        private static object N;
        static void Main(string[] args)
        {
            string answer;                                   
            {
              Console.WriteLine("please enter your name:");
              string name = Console.ReadLine();

              Console.WriteLine("please enter your surname:");
              string surname = Console.ReadLine();

              Console.WriteLine("please enter your age:");
              string age = Console.ReadLine();        

              Console.WriteLine("please enter your adress:");
              string adress = Console.ReadLine();

              Console.WriteLine("hallo,{0} {1},veel sucess met C#", name, surname);

              Console.WriteLine("zijn deze gegevens juist? J/N");
              answer = Console.ReadLine();
            }
            while(answer == "N");
        }
   }      
我尝试了一些测试年龄的方法,但总是出错。此外,我不知道如何正确编写循环代码

有人能给我指出两个问题的正确方向吗

对不起,我英语不好,我是荷兰人


注意:其中一个答案下面提到的OP表示这不是家庭作业。

开关语句对特定值而不是范围进行操作,因此您需要使用一系列
if
语句

使用计数器(在循环外部声明并在每次执行时递增)确定循环已运行多少次(或使用
for
循环)

编辑

class Program
{
    private static object N;

    static void Main(string[] args)
    {
        string answer;
        int runCount= 0;

        do
        {
          ++runCount;
          Console.WriteLine("please enter your name:");
          string name = Console.ReadLine();

          Console.WriteLine("please enter your surname:");
          string surname = Console.ReadLine();

          Console.WriteLine("please enter your age:");
          int age = int.Parse(Console.ReadLine());

          if(age >= 0 && age <= 10)
          {
              Console.WriteLine("Child");
          }
          else if(age <= 20)
          {
              Console.WriteLine("Young adult");
          }
          else if(age <= 65)
          {
              Console.WriteLine("Adult");
          }

          Console.WriteLine("please enter your adress:");
          string adress = Console.ReadLine();

          Console.WriteLine("hallo,{0} {1},veel sucess met C#", name, surname);

          Console.WriteLine("zijn deze gegevens juist? J/N");
          answer = Console.ReadLine();
        }
        while(runCount < 3 && answer == "N");
    }
}
类程序
{
私有静态对象N;
静态void Main(字符串[]参数)
{
字符串回答;
int runCount=0;
做
{
++运行次数;
Console.WriteLine(“请输入您的姓名:”);
字符串名称=Console.ReadLine();
Console.WriteLine(“请输入您的姓氏:”);
字符串姓氏=Console.ReadLine();
Console.WriteLine(“请输入您的年龄:”);
int age=int.Parse(Console.ReadLine());

如果(age>=0&&age您可能需要以下内容:

var ageGroups = new [] { "0-10",  "11-20", "21-65"};

foreach(var ageGroup in ageGroups)
{
    // do your thing. This will loop three times, once for each age group
    // example of switch (but: code-smell, you probably want class hierarchy later)
    switch(ageGroup)
    {
        case "0-10":
         // do somethihg
         break;
    }
}
或者,正如福克斯先生所说,如果你没有预先确定的年龄组(但我在你的问题中没有看到),那么:

for(变量i=0;i<3;i++)
{
//做你的事
//范围的if语句示例(不能使用开关):
整数转换数;
if(内锥虫(年龄,外转换年龄))
{

如果(convertedAge>=0&&convertedAge您的界面是多语言的,一些面向用户的文本是用英语编写的,其他文本是用荷兰语编写的,请您决定或允许用户选择其语言

至于编程技巧,你应该在谷歌上搜索通用C#constructs。这也是非常好的。最后,作为一名程序员,你最好学习英语,不管你来自哪个国家

class Program
{
    static int age;
    static void Main(string[] args)
    {
        string answer;
        do
        {
            Console.WriteLine("please enter your name:");
            string name = Console.ReadLine();

            Console.WriteLine("please enter your surname:");
            string surname = Console.ReadLine();

            Console.WriteLine("please enter your age:");
            age = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("please enter your adress:");
            string adress = Console.ReadLine();

            Console.WriteLine("hallo,{0} {1},veel sucess met C#", name, surname);

            Console.WriteLine("zijn deze gegevens juist? J/N");
            answer = Console.ReadLine();
        }
        while (answer == "N");

        for (int i = 0; i < 3; i++)
        {
            if (age >= 0 && age <= 10)
            {
                // First age group.
            }
            if (age >= 11 && age <= 20)
            {
                // Second age group.
            }
            if (age >= 21 && age <= 65)
            {
                // Third age group.
            }
        }
    }
}
类程序
{
静态智力;
静态void Main(字符串[]参数)
{
字符串回答;
做
{
Console.WriteLine(“请输入您的姓名:”);
字符串名称=Console.ReadLine();
Console.WriteLine(“请输入您的姓氏:”);
字符串姓氏=Console.ReadLine();
Console.WriteLine(“请输入您的年龄:”);
age=Convert.ToInt32(Console.ReadLine());
控制台。WriteLine(“请输入您的地址:”);
字符串地址=Console.ReadLine();
Console.WriteLine(“你好,{0}{1},veel Suces met C#”,姓名);
Console.WriteLine(“zijn deze gegevens juist?J/N”);
answer=Console.ReadLine();
}
而(答案=“N”);
对于(int i=0;i<3;i++)
{

如果(age>=0&&age=11&&age=21&&age尝试一些适合c#编程新手的书,比如家庭作业。如果你的问题是关于家庭作业的,你可以问,但确保你不要让别人为你写代码。你的代码不会编译!你忘记了do关键字。如果你想做这个循环,请使用loop@Jacek:他的密码是但是,while循环将只遍历空语句(因此,将中断或永远循环)。询问者可能希望像您所说的那样执行while操作。
string age=(Console.ReadLine());
应该是
int age=int.Parse(Console.ReadLine());
年龄将是某人输入的值,例如,如果他们输入5,则年龄将与“0-10”不匹配.好的,年龄组变量有效,但我在问题中犯了一个错误,需要从数据年龄中获取年龄,然后根据我正在做的案例显示一行“你是儿童、成人还是老年人”,但当我有这个问题时,我不断地犯错误,因此没有按照我的要求工作,现在我stuck@user1758580当前位置我预料到了那个问题(因为MrFox),请参见我的示例。您可以从那里继续。或者显示您所拥有的,我们可以进一步提供帮助。请注意,此代码仍然有错误的while循环,它要么永远运行,要么立即中断。此外,当您只需测试已设置的变量时,为什么需要for循环?for循环是冗余的;)。我认为for循环应该覆盖整个代码块。是的,我在一个新项目中接手了它,并与我自己一起检查差异。我改变了我没有的东西,但它在年龄案例中停止了。举个完整的工作示例。但在这一点上,我们宁愿不做家庭作业,而试着指出正确的方向方向(我知道,道德警察;)。无论如何,+1。(注:
stringage
应该是
int-age
)@Abel如果你愿意,我可以把它拿回来。我有同样的预约,因此最初没有发布。现在的问题是我已经把你做的canges放进去了,但是visual studio会给错误3操作符@user1758580。很高兴你这么做是为了学习。正如Abel指出的,我不小心在
string age=int.Parse中离开了(…
应该在哪里
int age=int.Parse(…
)。另外,请不要使用“地狱”之类的词。我们都是来帮忙的,没有理由不高兴。哦,对不起,但是opperator的事情不会消失它不仅仅是一行错误
class Program
{
    static int age;
    static void Main(string[] args)
    {
        string answer;
        do
        {
            Console.WriteLine("please enter your name:");
            string name = Console.ReadLine();

            Console.WriteLine("please enter your surname:");
            string surname = Console.ReadLine();

            Console.WriteLine("please enter your age:");
            age = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("please enter your adress:");
            string adress = Console.ReadLine();

            Console.WriteLine("hallo,{0} {1},veel sucess met C#", name, surname);

            Console.WriteLine("zijn deze gegevens juist? J/N");
            answer = Console.ReadLine();
        }
        while (answer == "N");

        for (int i = 0; i < 3; i++)
        {
            if (age >= 0 && age <= 10)
            {
                // First age group.
            }
            if (age >= 11 && age <= 20)
            {
                // Second age group.
            }
            if (age >= 21 && age <= 65)
            {
                // Third age group.
            }
        }
    }
}