如何在C语言的循环或IF语句中一次重复一次?

时间:2013-03-09 13:31:05

标签: c++ c

我在C语言编程中做了一个关于WHILE循环,FOR循环或IF语句的赋值。我已经尝试了各种方法来做到这一点,但失败了。我需要有人帮我解决这个问题。 我想重复某个表达式,直到我得到一个符合我最重要的两个条件之一的数字。 代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>

int main()
{
    int function;

    printf("Please choose a function:\n>>");
    scanf("%d",&function);
    printf("\n");
    if(function==1)
    {
        system("cls");
        printf("Nice");
    }
    else if(function==2)
    {
        printf("You chose to exit.\n\n");
        return 0;
    }
    else if(function>2)
    {
        printf("Error! Please try again.\n\n");
    }
    else;
    return 0;
}

我要重复的部分是这个,直到我得到1或2作为我的号码。

else if(function>2)
    {
        printf("Error! Please try again.\n\n");
    }

有人有办法解决这个问题吗?如果我必须将这个IF语句更改为FOR循环或WHILE循环并不重要,只要结果如上所述。

5 个答案:

答案 0 :(得分:3)

使用它可能会对你有帮助。

for(i=1;i<10;i++)
{
printf("Please choose a function:\n>>");
scanf("%d",&function);
printf("\n");
if(function==1)
{
    system("cls");
    printf("Nice");
}
else if(function==2)
{
    printf("You chose to exit.\n\n");
    return 0;
}
else if(function>2)
{
    printf("Error! Please try again.\n\n");
}
}

你可以根据你的要求输入任何数字。我已经使用了10 for for循环。您可以根据您的要求使用

答案 1 :(得分:0)

将以下内容放入循环

while(1)
{
    printf("Please choose a function:\n>>");
    scanf("%d",&function);
    printf("\n");
    if(function==1)
    {
        system("cls");
        printf("Nice");
        break;
    }
    else if(function==2)
    {
        printf("You chose to exit.\n\n");
        return 0;
    }
    else if(function>2)
    {
        printf("Error! Please try again.\n\n");
    }
}

答案 2 :(得分:0)

尝试使用while循环和switch语句。

喜欢这样的东西(不确定它是否符合,只是为了告诉你我的意思):

function = 0;
do
{
    printf("Please choose a function:\n>>");
    scanf("%d", &function);
    switch(function)
    {
        case 1:
            /* do your stuff */
            break;
        default:
            fprintf(stderr, "Error! Please try again.\n\n");
            break;
    }
} while(function != 2)

答案 3 :(得分:0)

假设您被允许多个while / for / ifdo ... while和{{}的混合物如何? {1}}

if

答案 4 :(得分:0)

使用可以使用do while循环

int main()

int function;
do {
  printf("Please choose a function:\n>>");
  scanf("%d",&function);
  printf("\n");
  if(function==1) {
      system("cls");
      printf("Nice");
  }
  else if(function==2)  {
      printf("You chose to exit.\n\n");
      return 0;
  }
  else  {
      printf("Error! Please try again.\n\n");
  }
} while (function > 2)
return 0;

}