===== 昨日作った関数を使う(型に注意)っていう話 ===== #include //底辺と高さを引数として、三角形の面積を返す関数 //①まず、引数と戻り値、その型を考える //面積=(底辺×高さ) / 2 //底辺:小数点数 //高さ:小数点数 //面積:小数点数 //②名前を考える //仮引数:底辺と高さ //:float teihen, float takasa //戻り値:面積 //:float menseki; //関数名: //:tmenseki //③関数にする //プロトタイプ宣言 //戻り値の型 関数名(仮引数リスト); float tmenseki(float teihen, float takasa); //プロトタイプ宣言したら、定義を書く! float tmenseki(float teihen, float takasa) { float menseki; menseki = (teihen * takasa) / 2.0; return(menseki); } //整数を2個引数にとり、足した結果を返す関数 //のプロトタイプ宣言と定義を書く //値1:int a //値2:int b //足した結果:int c int addAB(int a, int b); int addAB(int a, int b) { int c; c = a + b; return(c); } //戻り値も引数もない場合 void sayhello(); //関数定義 void sayhello() { for (int i = 0; i < 3; i++) { std::cout << "こんにちは" << std::endl; } } //問題⓪ - 1 //整数の引数をとり、引数の回数分“こんにちは”と表示する関数を作りなさい。 void sayhello_n(int n); void sayhello_n(int n) { for (int i = 0; i < n; i++) { std::cout << "こんにちは" << std::endl; } } //問題①  //整数の 2 乗を計算する関数を作成しなさい。 //1つの int 型引数を取り、結果を戻り値として返すこと。 int square(int x); int square(int x) { int c; c = x * x; return(c); } //問題② //2つの整数の平均を計算する関数を作成しなさい。 //2つの int 型引数を取り、結果を戻り値として返すこと。 //※ 計算は整数で行い、小数点以下は切り捨ててよい。 int average(int a, int b); int average(int a, int b) { int c = (int)((a + b) / 2); return(c); } //問題③ //2つの実数の平均を計算する関数を作成しなさい。 //2つの 実数 型引数を取り、結果を戻り値として返すこと。 float average_f(float a, float b); float average_f(float a, float b) { float c; c = (a + b) / 2.0; return(c); } //問題④ //2つの整数の平均を計算する関数を作成しなさい。 //2つの 整数 型引数を取り、結果を実数で戻り値として返すこと。 float average_d(int a, int b); float average_d(int a, int b) { float c; c = ((float)a + (float)b) / 2.0; // c = (a + b) / 2; // (1 + 2) / 2 = 3/2 = 1.5 => 1 // c = 1 = 1.0 return(c); } //問題⑤ //2つの整数を引数として取り、2つの整数の小さいほうから大きいほうまでの和を計算し整数で返す関数を作りなさい。 int sumab(int a, int b); int sumab(int a, int b) { int sum = 0; //必ずa <= bの状況を作る! if (a > b) { std::swap(a, b); } for (int i = a; i <= b; i++) { sum = sum + i; } return(sum); } ===== 作った関数をmainで呼び出す ===== 適切な型のパラメータ(引数を与えると)設計通りの仕事をしてくれる。\\ 戻り値があるものは戻ってきた値を、計算結果として使ってゆく。\\ int main() { std::cout << addAB(10, 20) << std::endl; int c; c = addAB(10, 20); //c = 30; std::cout << c << std::endl; //sayhello(); //引数で表示回数を指定すると // "こんにちは"を回数分表示 //void sayhello_n(int n); sayhello_n(3); int n = 10; sayhello_n(n); //整数の 2 乗を計算する関数を作成しなさい。 //1つの int 型引数を取り、結果を戻り値として返すこと。 //int square(int x); int result; result = square(4); std::cout << result << std::endl; return 0; }