====== 関数の復習 ======
//関数 sumtoN 1~引数までの和を返す
//引数 100以下の整数
//戻り値 1~引数までの和
//プロトタイプ宣言
int sumtoN(int _number);
//関数 sumMtoN 引数M~N引数までの和を返す
// 面倒だから必ず M <= Nとします!
//引数1 100以下の整数
//引数2 100以下の整数
//戻り値 引数M~引数Nまでの和
//プロトタイプ宣言
int sumMtoN(引数考えてー);
定義はmainの下に書く!
==== ソースコード見本 ====
#include
using std::cout;
using std::cin;
using std::endl;
//関数 sumtoN 1~引数までの和を返す
//引数 100以下の整数
//戻り値 1~引数までの和
//プロトタイプ宣言
int sumtoN(int _number);
int sumMtoN(int _m, int _n);
int main()
{
int n;
do
{
cout << "1~100以下の整数を入力:";
cin >> n;
} while (n > 100 || n <= 0);
//エラー処理(1~100までしか許さない!)
//関数呼び出し
int sum = sumtoN(n);
cout << "1~" << n << "の和は" << sum << endl;
int m, k;
do
{
cout << "1~100以下の整数を2つ入力:";
cin >> m >> k;
} while ((m > 100 || m <= 0) || (k > 100 || k <= 0) || (m > k));
int sum2 = sumMtoN(m, k);
cout << m <<"~" << k << "の和は" << sum2 << endl;
exit(0);
return 0;
}
int sumtoN(int _number)
{
//関数本体
int sum = 0;
for (int i = 1; i <= _number; i++)
{
sum = sum + i;
}
return sum;
}
int sumMtoN(int _m, int _n)
{
int sum = 0;
for (int i = _m; i <= _n; i++)
sum += i;
return sum;
}
==== 練習問題(計算機関数を作ろう) ====
計算機関数を作ろう(プロトタイプ宣言書いて、定義書いて、メインで使ってみよう!)
引数1,2 intの数字2個(プラスでもマイナスでもいいよ)
引数3 '+'、'-'、'*'、'/'の文字(1文字)
内容:第3引数に渡された文字を判別して、
'+' 引数1+引数2
'-' 引数1ー引数2
'*' 引数1×引数2
'/' 引数1÷引数2
を計算して返す関数を作ろう
なまえは、計算機っぽいかっこいいやつ!
戻り値は、整数で!
割り算で0割が発生しそうなときは"エラー"と表示して
exit(0);を呼んでください(プログラムが強制終了できます)
=== 解答の途中(穴埋め) ===
#include
using std::cout;
using std::cin;
using std::endl;
//計算機関数を作ろう(プロトタイプ宣言書いて、定義書いて、メインで使ってみよう!)
//引数1,2 intの数字2個(プラスでもマイナスでもいいよ)
//引数3 '+'、'-'、'*'、'/'の文字(1文字)
//内容:第3引数に渡された文字を判別して...
//戻り値は、整数で!
//プロトタイプ宣言
int calc_matchine(int _num1, int _num2, char _op);
int main()
{
int a, b;
cout << "整数を2つ入力してください!:";
cin >> a >> b;
cout << a << "+" << b << ? ? ? ? ? << endl;
cout << a << "ー" << b << ? ? ? ? ? << endl;
cout << a << "×" << b << ? ? ? ? ? << endl;
cout << a << "÷" << b << ? ? ? ? ? << endl;
return 0;
}
int calc_matchine(int _num1, int _num2, char _op)
{
//char型は、-128~127の整数に
//アスキーコードが割り当てられているよ
//だからswitch文で分岐できるのだ!
int result;//結果を代入する変数
switch (_op)
{
case '+':
result = _num1 + _num2;
break;
case '-':
result = _num1 - _num2;
break;
case '*':
result = _num1 * _num2;
break;
case '/':
if (_num2 == 0) {
cout << "エラー" << endl;
exit(0);
}
result = _num1 / _num2;
break;
default:
cout << "エラー" << endl;
exit(0);
}
return result;
}
==== OpenSiv3Dのチュートリアル ====
[[https://zenn.dev/reputeless/books/siv3d-documentation/viewer/tutorial-shape|チュートリアルだよ]]
* チュートリアル一通りやって
* 基本図形を使ってアンパンマンを書いてみよう!
* Web色見本 [[https://www.colordic.org/colorsample/1018|Web色見本]]
== 背景を変えるよ ==
//パレットカラー(色名)での指定
Scene::SetBackground(Palette::Aquamarine);
//RGB値(各チャンネル0~255)での指定
Scene::SetBackground(Color(100, 0, 0));
Scene::SetBackground(Color{100, 0, 0});
//最近はこっちの括弧でくくるのがおしゃれ感ある。