switch文を使って三角形・正方形・円・長方形・平行四辺形の面積を計算するC言語プログラム
問題
switch文(switch case)を使用して、三角形・正方形・円・長方形・平行四辺形の面積を計算するプログラムを作成します。
解決策
ユーザーが入力した選択番号に応じてswitch文が対応するcaseへ分岐し、それぞれの図形の面積を計算します。各図形の面積を求めるロジックは以下のとおりです。
- 三角形の面積:3辺 a, b, c を入力し、ヘロンの公式を用いて求めます。
三角形の3辺 a, b, c を入力します。
s=(float)(a+b+c)/2; area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
- 正方形の面積:実行時に1辺の長さを入力して求めます。
正方形の1辺の長さを入力します。
area=(float)side*side;
- 円の面積:実行時に半径を入力して求めます。
円の半径を入力します。
area=(float)3.14159*radius*radius;
- 長方形の面積:実行時に縦と横の長さを入力して求めます。
長方形の縦と横の長さを入力します。
area=(float)len*breadth;
- 平行四辺形の面積:底辺と高さを入力して求めます。
平行四辺形の底辺と高さを入力します。
area=(float)base*height;
サンプルコード
以下は、switch文を使って三角形・正方形・円・長方形・平行四辺形の面積を計算するC言語プログラムの完全な例です。
#include<stdio.h>
#include<math.h>
main(){
int choice;
printf("Enter\n1 to find area of Triangle\n2 for finding area of Square\n3 for finding area of Circle\n4 for finding area of Rectangle\n5 for Parallelogram\n");
scanf("%d",&choice);
switch(choice) {
case 1: {
int a,b,c;
float s,area;
printf("Enter sides of triangle\n");
scanf("%d%d %d",&a,&b,&c);
s=(float)(a+b+c)/2;
area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
printf("Area of Triangle is %f\n",area);
break;
}
case 2: {
float side,area;
printf("Enter Sides of Square\n");
scanf("%f",&side);
area=(float)side*side;
printf("Area of Square is %f\n",area);
break;
}
case 3: {
float radius,area;
printf("Enter Radius of Circle\n");
scanf("%f",&radius);
area=(float)3.14159*radius*radius;
printf("Area of Circle %f\n",area);
break;
}
case 4: {
float len,breadth,area;
printf("Enter Length and Breadth of Rectangle\n");
scanf("%f %f",&len,&breadth);
area=(float)len*breadth;
printf("Area of Rectangle is %f\n",area);
break;
}
case 5: {
float base,height,area;
printf("Enter base and height of Parallelogram\n");
scanf("%f %f",&base,&height);
area=(float)base*height;
printf("Enter area of Parallelogram is %f\n",area);
break;
}
default: {
printf("Invalid Choice\n");
break;
}
}
}実行結果
上記のプログラムをコンパイルして実行すると、以下のような出力が得られます。
Run 1: 1 to find area of Triangle 2 for finding area of Square 3 for finding area of Circle 4 for finding area of Rectangle 5 for Parallelogram 5 Enter base and height of Parallelogram 2 4 6 8 Enter area of Parallelogram is 8.000000 Run 2: 1 to find area of Triangle 2 for finding area of Square 3 for finding area of Circle 4 for finding area of Rectangle 5 for Parallelogram 3 Enter Radius of Circle 4.5 Area of Circle is 63.617199
-
楕円に内接する正方形の中に描ける最大のルーロー三角形の面積を求める方法
概要本記事では、「楕円に内接する正方形」の中に収まる最大のルーロー三角形(Reuleaux Triangle)の面積を求める方法を解説します。ルーロー三角形とは、正三角形の3つの頂点をそれぞれ中心として、ほかの頂点を通る円弧をつなぎ合わせてできる幅一定の曲線三角形で、マンホールの蓋などにも使われることで知られる形状です。ここでは、楕円の長軸の長さを 2a、短軸の長さを 2b とし、内接する正方形の一辺を x、ルーロー三角形の高さを h として考えます。ステップ1:楕円に内接する正方形の一辺を求める長軸が 2a、短軸が 2b の楕円に内接する正方形の一辺は、次の式で与えられます。ステップ2:ルー
-
正方形に内接する円の面積を求めるC言語プログラム
正方形に内接する円とは、正方形の四つの辺すべてに接する円のことです。このとき、内接円の直径は正方形の一辺の長さと等しくなります。内接円の面積は、次の公式で計算できます。面積 = (π / 4) × a × aここで「a」は正方形の一辺の長さです。これは、内接円の半径が「a / 2」になるため、一般的な円の面積の公式「π × r2」に代入すると「π × (a/2)2 = (π/4) × a2」となることに基づいています。プログラムのロジック内接円の面積は、公式「((π / 4) × a × a)」を用いて計算します。そのために、数学的に 22/7 すなわち 3.14 とされる円周率(π)の値をあ