Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語の構造体を使って円と円柱の面積・体積を求めるプログラム

C言語では、構造体(structure)を活用することで、円の面積や円柱の表面積・体積を効率的に計算できます。構造体を使うことで、関連する複数のデータをひとまとめに管理でき、コードの可読性と保守性も向上します。

計算ロジック

円の面積を求める式

s.areacircle = (float)pi*s.radius*s.radius;

円柱の表面積を求める式

s.areacylinder = (float)2*pi*s.radius*s.line + 2 * s.areacircle;

円柱の体積を求める式

s.volumecylinder = s.areacircle*s.line;

アルゴリズム

構造体を使用して円の面積および円柱の各パラメータを求めるには、以下の手順に従います。

  • ステップ1: 構造体のメンバーを宣言する。
  • ステップ2: 入力用変数を宣言し、初期化する。
  • ステップ3: 円柱の長さ(高さ)と半径を入力する。
  • ステップ4: 円の面積を計算する。
  • ステップ5: 円柱の表面積を計算する。
  • ステップ6: 円柱の体積を計算する。

サンプルコード

以下は、構造体を使用して円の面積と円柱の表面積・体積を求めるCプログラムの例です。

#include<stdio.h>
struct shape{
   float line;
   float radius;
   float areacircle;
   float areacylinder;
   float volumecylinder;
};
int main(){
   struct shape s;
   float pi = 3.14;
   //ユーザーからの入力を受け取る
   printf("Enter a length of line or height : ");
   scanf("%f",&s.line);
   printf("Enter a length of radius : ");
   scanf("%f",&s.radius);
   //円の面積
   s.areacircle = (float)pi*s.radius*s.radius;
   printf("Area of circular cross-section of cylinder : %.2f\n",s.areacircle);
   //円柱の表面積
   s.areacylinder = (float)2*pi*s.radius*s.line + 2 * s.areacircle;
   printf("Surface area of cylinder : %.2f\n", s.areacylinder);
   //円柱の体積
   s.volumecylinder = s.areacircle*s.line;
   printf("volume of cylinder : %.2f\n", s.volumecylinder);
   return 0;
}

実行結果

上記のプログラムを実行すると、次のような出力が得られます。

Enter a length of line or height: 34
Enter a length of radius: 2
Area of circular cross-section of cylinder: 12.56
Surface area of cylinder: 452.16
volume of cylinder : 427.04

プログラムの解説

このプログラムでは、struct shape という構造体を定義し、長さ(高さ)、半径、円の面積、円柱の表面積、円柱の体積という5つの float 型メンバーを持たせています。ユーザーから高さと半径を入力してもらい、それぞれの計算式に基づいて値を求めます。

円柱の表面積は「側面積(2πrh)+上下の底面積(2πr²)」で計算され、体積は「底面積 × 高さ」で求められます。また、出力時には %.2f 書式指定子を使用することで、小数点以下2桁まで整形して表示しています。

  1. 直方体の表面積と体積を求めるJavaプログラム

    この記事では、直方体の表面積と体積を計算するJavaプログラムの書き方について詳しく解説します。直方体とは、6つの長方形の面で構成される三次元の立体のことであり、各辺の長さ・幅・高さがそれぞれ異なる場合があります。立方体と直方体の違いは、立方体では長さ・高さ・幅がすべて等しいのに対し、直方体ではこれら3つの寸法が必ずしも同じではないという点です。直方体の表面積と体積の計算式直方体の表面積は、次の式で求めることができます。2*(縦 × 横 + 横 × 高さ + 高さ × 縦)直方体の体積は、次の式で求めることができます。縦 × 横 × 高さ以下に具体的な計算例を示します。入力Length = 6

  2. Javaで台形の面積を求めるプログラムの作成方法を解説

    この記事では、Javaを使って台形(トラペジウム)の面積を求める方法について詳しく解説します。台形とは、少なくとも1組の対辺が互いに平行になっている四角形のことです。平行な2つの辺は「底辺」と呼ばれ、平行でない残りの2つの辺は「脚」と呼ばれます。英語圏では trapezoid(トラペゾイド)と呼ばれることもあります。 台形の面積は、次の公式を使って計算できます。 面積 = (高さ ÷ 2) × (上底 + 下底) すなわち、 面積 = ½ × (平行な2辺の長さの合計) × (平行な2辺間の垂直距離) 以下に具体的なイメージを示します。平行な2辺の長さを a、b、台形の高さを h としたとき