main文とfusion.hと一緒に使ってください。
・fusion.c
#include "fusion.h"
char DD1[10] = "D-D1", DD2[10] = "D-D2", DT[10] = "D-T", D3He[10] = "D-^3He";
double fusionEne(double x, double y, double z, double w, double mass){
//E = mc^2
m = (x + y -z -w)*mass/(x + y);
E = m * c *c;
return E;
}
void ene(double E){
printf("発生するエネルギー:%lg J\n", E);
}
void oilEne(double E){
toe = E / TOE;
printf("石油%lg t相当\n", toe);
}
void tntEne(double E){
tnt = E / TNT;
printf("TNT%lg t相当\n", tnt);
}
void lbEne(double E){
lb = E / LB;
printf("広島型原爆%lg 個分相当\n", lb);
}
double pSvCalc(double mass, double x, double y){
o = e * mass * psv/ (W *(x+y));
return o;
}
double nSvCalc(double mass, double x, double y){
o = e * mass * nsv/ (W *(x+y));
return o;
}
void SV(double sv){
printf("実効線量:%lg Sv(%lg mSv)(年間許容量1 mSv)\n", sv, sv*1E3);
}
void input(){
fprintf(stderr, "どの反応を起こしますか?次からお選びください。\nD-D1 \nD-D2 \nD-T \nD-^3He\n\n");
scanf("%[^\n]", reaction);
fprintf(stderr, "原料は何キログラム反応させますか?\n\n");
scanf("%lf", &mass);
if(strcmp(reaction, DD1)==0) {
printf("反応式:D + D → T + p(3.03 MeV)\n");
E = fusionEne(D, D, T, p, mass);
sv = DD1MeV * pSvCalc(mass, D, D);
}
if(strcmp(reaction, DD2)==0) {
printf("反応式:D + D → ^3He + n(2.34 MeV)\n");
E = fusionEne(D, D, He3, n, mass);
sv = DD2MeV * nSvCalc(mass, D, D);
}
if (strcmp(reaction, DT)==0) {
printf("反応式:D + T → ^4He + n(14 MeV)\n");
E = fusionEne(D, T, He4, n, mass);
sv = DTMeV * nSvCalc(mass, D, T);
}
if (strcmp(reaction, D3He)==0) {
printf("反応式:D + ^3He → ^4He + p(14.7 MeV)\n");
E = fusionEne(D, He3, He4, p, mass);
sv = D3HeMeV * pSvCalc(mass, D, He3);
}
}
使い方ヒント: 「これは臭う」という行を見付けたら、各行の
をクリックしてマーキングしておきましょう(要Twitter OAuth認証)
まだコメントがありません。最初にコメントを残しませんか?
コメント投稿には、twitter認証が必要です。
Twitter認証