C11で作った三角関数を表示するプログラムについて。
#include <stdio.h> //いつもの
#include <math.h> //三角関数を使うために読み込み
#define PI 3.14 //マクロを使ってPIの値を3.14に定義(円周率の作成)
void main() {
int ia;
double da;
printf("任意の角度を0~360で入力してください:");
scanf("%d", &ia); //角度の指定
da = PI * (double)ia / 180.0; //ia変数の値をラジアンに変換
printf("sin(%d)=%f\n", ia, sin(da)); //指定した角度のサイン値
printf("cos(%d)=%f\n", ia, cos(da)); //指定した角度のコサイン値
printf("tan(%d)=%f\n", ia, tan(da)); //指定した角度のタンジェント値
}
#include <math.h> //三角関数を使うために読み込み
#define PI 3.14 //マクロを使ってPIの値を3.14に定義(円周率の作成)
void main() {
int ia;
double da;
printf("任意の角度を0~360で入力してください:");
scanf("%d", &ia); //角度の指定
da = PI * (double)ia / 180.0; //ia変数の値をラジアンに変換
printf("sin(%d)=%f\n", ia, sin(da)); //指定した角度のサイン値
printf("cos(%d)=%f\n", ia, cos(da)); //指定した角度のコサイン値
printf("tan(%d)=%f\n", ia, tan(da)); //指定した角度のタンジェント値
}
C言語で三角関数を使うには、math.hをincludeする必要があります。
また上記のプログラムでは、調べたい角度をラジアンに変換するために必要な円周率をマクロを用いて定数PIとして定義しています。
〇マクロについて
マクロはコンピューターではなくコンパイラに命令を与えるための記述です。
マクロの頭には#記号が付きます。
#define 定数名 値 と記述することで、その名称と値を定数として使用することができます。
コーディング規則として、変数名は小文字、定数名は大文字にするというルールが存在します。
閑話休題。
このプログラムではscanf関数を使っています。
この関数をVisual Studioで使う場合、プロジェクトのプロパティからC/C++の全般にあるSDLチェックの項目を「はい」から「いいえ」に変更する必要があります。
SDLチェックが「はい」のままだとErrorがでてプログラムを正常に動作させることができません。
また、C言語のsin関数やcos関数やtan関数にはラジアン(fad)を使うというルールも存在します。
調べたい角度と円周率を乗算してから180で除算するとラジアンになるので、その値をsin関数やcos関数やtan関数のパラメータとして使用します。
こうすることで、任意の値のサイン値とコサイン値とタンジェント値を出力できるようなプログラムが作れます。
以上です。