0

C 言語プログラミングで、WHILE ループ、FOR ループ、または IF ステートメントのいずれかに関する代入を行っています。私はそれを行うためにあらゆる種類の方法を試しましたが、失敗しました。この問題の解決を手伝ってくれる人が必要です。上位 2 つの条件のいずれかを満たす数値が得られるまで、特定の式を繰り返したいと考えています。コードは次のようになります。

#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 ループに変更する必要があるかは問題ではありません。

4

5 に答える 5

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");
}
}

あなたの要件に応じて任意の数を入れることができます..私は for ループで 10 を使用しました。要件に応じて使用できます

于 2013-03-09T13:37:35.407 に答える
0

while/ for/の複数が許可されていると仮定すると、 ...と...ifの混合はどうですかdowhileif

int function;
do {
    while (scanf("Please choose a function:\n>>%d", &function) != 1)
        ;
    printf("\n");
    if(function==1) {
        system("cls");
        printf("Nice");
    }
    else if(function>2) {
        printf("Error! Please try again.\n\n");
    }
} while (function != 2);
printf("You chose to exit.\n\n");
return 0;
于 2013-03-09T13:38:19.863 に答える
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;

}

于 2013-03-09T13:45:01.390 に答える
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)
于 2013-03-09T13:36:08.500 に答える
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");
    }
}
于 2013-03-09T13:33:44.353 に答える