関数を定義して3つの図形の面積を求めるプログラム
auです。
今回は、関数を作って処理をするプログラムを作ろうと思い、正方形・長方形・円形の3つの図形の面積を求めるプログラムを組みました。
#include <stdio.h> #define PI 3.14f float radius = 0; // (ここから)グローバル関数 float side1 = 0; float side2 = 0; float circle_side = 0; // (ここまで)グローバル関数 float square(void) { printf("正方形の面積を計算します\n"); printf("半径: "); scanf("%f", &radius); return radius * radius; } float rectangle(void) { printf("長方形の面積を計算します\n"); printf("縦の長さ: "); scanf("%f", &side1); printf("横の長さ: "); scanf("%f", &side2); return side1 * side2; } float circle(void) { printf("円の面積計算します\n"); printf("半径: "); scanf("%f", &circle_side); return circle_side * circle_side * PI; } int main(void) { int type = 0; float result = 0; printf("求めたい図形を選んでください\n"); printf("正方形: 1 長方形: 2 円: 3\n"); scanf("%d", &type); switch(type) { case 1: // 正方形の面積を求める result = square(); break; case 2: // 長方形の面積を求める result = rectangle(); break; case 3: // 円の面積を求める result = circle(); break; default: printf("正しい値が入力されませんでした\n"); break; } printf("結果: %.2f\n", result); return 0; } // 実行結果 求めたい図形を選んでください 正方形: 1 長方形: 2 円: 3 3 円の面積計算します 半径: 9 結果: 254.34
このような感じで計算をしてくれます。
#defineを使ったマクロを使用し円周率(π)を3.14に入れ替えてもらって計算するなどの工夫もしました。
結果を出力する指定子は「%.2f」とすることで、小数点第2位までの表示にしています。