60日間全力プログラミング

プログラミング初心者が二ヶ月間でどこまでいけるかを記録したプログラミング学習ブログ

R51 1,00 動作しない

考察
main関数ってどれだよってなったけど、単純に
int main(void)
この最初のやつだったとここにきて初めて理解した。
"%f" のf  はdouble の実数を表示する時使用します。
ああ
 
問題
 図形の種類(正方形=1、長方形=2、円=3)を入力する。図形の種類ごとに面積を
求める関数を実行する。面積の表示はメイン関数で行う。
 
      表示例(正方形の場合)
 
図形の種類(正方形=1、長方形=2、円=3)-->1
一辺の長さ-------->12.5
面積は 156.25cmです
 
      表示例(長方形の場合)
 
図形の種類(正方形=1、長方形=2、円=3)-->2
縦の長さ---------->12.5
横の長さ---------->20
面積は 250.00cmです
 
      表示例(円の場合)
 
図形の種類(正方形=1、長方形=2、円=3)-->3
半径の長さ-------->10.0
面積は 314.16cmです
 
 
考え方
(1)図形の種類(shurui)を入力する。
(2)種類ごとに関数を実行し、面積(menseki)に値を返す。
  ①種類が1(正方形)のとき正方形の面積を求める関数(seihoukei)を実行する。
  ②種類が2(長方形)のとき長方形の面積を求める関数(chouhoukei)を実行する。
  ③種類が3(円)のとき円の面積を求める関数(en)を実行する。
(3)正方形の面積を求める関数(seihoukei)
  ①一辺の長さ(hen)を入力する。
  ②答え(kotae)=一辺の長さ×一辺の長さ
  ③答えを返す。「return (kotae)」
(4)長方形の面積を求める関数(chouhoukei)
  ①縦の長さ(tate)を入力する。
  ②横の長さ(yoko)を入力する。
  ③答え=縦の長さ×横の長さ
  ④答えを返す。
(5)円の面積を求める関数(en)
  ①半径(hankei)を入力する。
  ②答え=3.141592×半径×半径
  ③答えを返す。
(6)(main関数にて)面積を表示する。
※mainから各関数への引数はない(void)とする。
 
動作しない
#include

double seihoukei(void);
double chouhoukei(void);
double en(void);

main()
{
   
   
int shurui;
   
double menseki;
   
    printf(
"図形の種類(正方形=1、長方形=2、円=3)\n");
    scanf(
"%d",&shurui);
   
   
switch (shurui) {
       
case 1:
            menseki=seihoukei();
           
break;
       
case 2:
            menseki=chouhoukei();
           
break;
       
case 3:
            menseki=en();
           
break;
           
       
default:
            menseki=
0;
           
break;
        
    }
    printf(
"面積は%10.2fcmです。",menseki);
   
return 0;
   
    }
   
double seihoukei(void)
    {
       
double kotae;
       
double hen;
       
        printf(
"一辺の長さ");
        scanf(
"%1f",&hen);
       
        kotae = hen * hen;
       
return(kotae);
    }
   
   
double chouhoukei(void);
    {
       
double kotae;
       
double tate;
       
double yoko;
       
        printf(
"縦の長さ");
        scanf(
"%1f",&tate);
        printf(
"横の長さ");
        scanf(
"%1f",&yoko);
       
        kotae = tate * yoko;
       
return(kotae);
    }
   
   
double en(void)
    {
       
double kotae;
       
double hankei;
       
        printf(
"半径の長さ");
        scanf(
"%1f",&hankei);
       
        kotae =
3.141592 * hankei * hankei;
       
return(kotae);
    }
 
別バージョンのやり方
#include

int main(void){
   
   
int i,shurui,menseki,seihoukei,chouhoukei,en;
   
int hen,tate,yoko,hankei,kotae;
   
    printf(
"図形の種類(正方形=1、長方形=2、円=3)\n");
    scanf(
"%d",&shurui);
   
   
switch (shurui) {
       
case 1:
            printf(
"一辺の長さ");
            scanf(
"%d",&hen);
           
            kotae = hen * hen;
           
break;
       
case 2:
            printf(
"縦の長さ");
            scanf(
"%d",&tate);
            printf(
"横の長さ");
            scanf(
"%d",&yoko);
           
            kotae = tate * yoko;
           
break;
       
case 3:
            printf(
"半径の長さ");
            scanf(
"%d",&en);
           
            kotae =
3.141592 * en * en;
           
break;
        
    }
   
   
    menseki = kotae;
   
    printf(
"面積は%dcmです。",menseki);
   
   
return 0;
   
}