はじめに
この実験では、C言語を使ってswitch文を使ったメニュー駆動型のプログラムを作成します。メニュー駆動型のプログラムとは、ユーザにメニューを提示し、ユーザがメニューからオプションを選んで特定のタスクを実行するプログラムです。このプログラムでは、ユーザに数の階乗を計算したり、数が素数か合成数かをチェックしたり、数が偶数か奇数かをチェックするなど、様々なタスクを実行できるメニューを作成します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、C言語を使ってswitch文を使ったメニュー駆動型のプログラムを作成します。メニュー駆動型のプログラムとは、ユーザにメニューを提示し、ユーザがメニューからオプションを選んで特定のタスクを実行するプログラムです。このプログラムでは、ユーザに数の階乗を計算したり、数が素数か合成数かをチェックしたり、数が偶数か奇数かをチェックするなど、様々なタスクを実行できるメニューを作成します。
最初のステップは、~/project/
ディレクトリに新しいCファイルを作成することです。このファイルの名前を main.c
とします。
このステップでは、プログラムに標準入出力ライブラリを読み込みます。このライブラリは、C言語における入出力操作に関する関数を提供します。
#include <stdio.h>
main()
関数の定義main()
はC言語のプログラムのエントリーポイント関数です。このステップでは、main()
関数を定義します。
int main()
{
// コードをここに記述します
return 0;
}
このステップでは、ユーザにメニューを表示します。このメニューでは、ユーザが様々なオプションから選べるようになっています。このプログラムでは、以下のオプションを使用します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
}
return 0;
}
このステップでは、switch文を実装します。ユーザの選択に基づいて、異なるケースを実行します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
/*
* 数の階乗を計算するコード
*/
break;
case 2:
/*
* 数が素数か合成数かをチェックするコード
*/
break;
case 3:
/*
* 数が偶数か奇数かをチェックするコード
*/
break;
case 4:
/*
* プログラムを終了するコード
*/
break;
}
}
return 0;
}
このステップでは、ユーザがオプション1を選択したときにユーザが要求する数の階乗を計算します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("Enter number:\n");
scanf("%d", &num);
fact = 1;
for(i = 1; i <= num; i++)
{
fact = fact*i;
}
printf("\n\nFactorial value of %d is = %lu\n\n\n",num,fact);
break;
case 2:
/*
* 数が素数か合成数かをチェックするコード
*/
break;
case 3:
/*
* 数が偶数か奇数かをチェックするコード
*/
break;
case 4:
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
exit(0);
}
}
return 0;
}
このステップでは、数が素数か合成数かをチェックします。プログラムは、ユーザが入力した数が素数かどうかを示すメッセージを出力します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
/*
* 数の階乗を計算するコード
*/
break;
case 2:
printf("Enter number:\n");
scanf("%d", &num);
if(num == 1)
printf("\n1は素数でも合成数でもありません\n\n");
for(i = 2; i < num; i++)
{
if(num%i == 0)
{
printf("\n%dは素数ではありません\n\n", num);
break;
}
}
/*
1とそれ自身以外のどの数でも割り切れない
*/
if(i == num)
{
printf("\n\n%dは素数です\n\n", num);
break;
}
break;
case 3:
/*
* 数が偶数か奇数かをチェックするコード
*/
break;
case 4:
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
exit(0);
}
}
return 0;
}
このステップでは、数が偶数か奇数かをチェックします。プログラムは、ユーザが入力した数が偶数か奇数かを示すメッセージを出力します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
/*
* 数の階乗を計算するコード
*/
break;
case 2:
/*
* 数が素数か合成数かをチェックするコード
*/
break;
case 3:
printf("Enter number:\n");
scanf("%d", &num);
if(num%2 == 0) // 0は偶数と見なされる
printf("\n\n%dは偶数です\n\n",num);
else
printf("\n\n%dは奇数です\n\n",num);
break;
case 4:
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
exit(0);
}
}
return 0;
}
このステップでは、ユーザがオプション4を選択したときにプログラムを終了するケースを追加します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int choice, num, i;
unsigned long int fact;
while(1)
{
printf("1. Factorial \n");
printf("2. Prime\n");
printf("3. Odd\\Even\n");
printf("4. Exit\n\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
/*
* 数の階乗を計算するコード
*/
break;
case 2:
/*
* 数が素数か合成数かをチェックするコード
*/
break;
case 3:
/*
* 数が偶数か奇数かをチェックするコード
*/
break;
case 4:
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
exit(0);
}
}
return 0;
}
この実験では、switch文を使ってC言語でメニュー駆動型のプログラムを作成しました。このプログラムはユーザにメニューを表示し、ユーザは数の階乗を計算したり、数が素数か合成数かをチェックしたり、数が偶数か奇数かをチェックしたりなど、さまざまなタスクを実行するためにさまざまなオプションから選択できます。この実験が、C言語でswitch文を使ってメニュー駆動型のプログラムを作成することを十分に理解してもらえたことを願っています。