#include<stdio.h>
#include<math.h>
#define PI 3.141593
#define FILENAME "waves2.txt"
int main()
{
double T1, a1, a2, T2, b1, b2, db, k, cons, alpha, teja;
int I_0;
FILE *waves;
fopen_s(&waves, FILENAME, "w");
printf("음원1이 발생하는 소리의 세기를 입력하시오 [(x)*10^(-y)꼴] \n");
scanf_s("%lf %lf", &a1, &a2);
printf("음원2이 발생하는 소리의 세기를 입력하시오 [(x)*10^(-y)꼴] \n");
scanf_s("%lf %lf", &b1, &b2);
I_0 = 2.0*pow(10, -12);
T1 = a1*pow(10, -a2);
T2 = b1*pow(10, -b2);
alpha = (T1*T2) / (I_0);
for (k = 1; k <= 100; k++)
{
cons = k / 10;
db = log10(cons);
teja = log10(alpha);
fprintf(waves, "%.4f f %.4f %.4f \n", cons, alpha, db, teja);
}
printf("두 음원에서 나오는 들리는 소리는 %5.2f데시벨 이다 \n", teja);
fclose(waves);
}
현재 제가 하고 있는 단순 계산 프로그래밍이고, 작업환경은 비쥬얼 2013입니다..
다른건 아니고 값만 제대로 뽑고 싶은데 값을 뽑을 수가 없네요.. 제가 만든 파일 waves2를 봐도 값이 엉뚱하게 되고... c언어 로그에선 10^5같은걸 처리할 수 없는건가요?
의도한건 데시벨 식이 log10(alpha)인데 alpha가 10^n꼴이다보니 제대로 표현이 안되는듯해요..
안되 돌아가