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認証