スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

気体の状態方程式1000本ノックプログラム

そしてプログラム。なんかif分の中にプログラムが入り込んでいるのは勘弁してください。ちょっと諸事情があって、ていうか諸事情というより期末があって、力づくで終わらせるしか無かった上に、このプログラムをこの後使うかなという問題があって(この志じゃ一流のプログラマはまだまだですけどね)、めんどくさかっただけです。

一応きりのいい数になるようにはプログラムされています。英語が変なのはゆるしてください。

とまぁめちゃくちゃ受け身なプログラムですが、まぁ使いたい人はいないでしょうが、一応参考に。

明日が今回の期末のキーだ。こんな事やっているようじゃだめだろうが。ぶっ続けでやりすぎて(集中力が暗記している時にはどうしても切れてしまうんです。はぁ。)、逃げてきたばかりです。

もう当分更新しません。期末終わるまで


#include
#include
#include
#define NOQ 1000 //Number of questionsの略
#define R 8300

int main(void){
int i;
srand((unsigned)time(NULL) + 2 + (unsigned)time(NULL));
printf("OK\n");
for (i = 0;i < NOQ;i++){
run();
}
return 0;
}
int run(void){
double P, V, n, T;
int x;
double ans;
FILE *ansFile;
FILE *monFile;
int a;

ansFile = fopen("ansFile.txt", "a");
monFile = fopen("monFile.txt", "a");

fprintf(monFile, "気体定数R8.3*10^4\n");
x = rand() % 4;
for (a = 0;a < 1; a++){

if(x != 0){
P = (double)(rand() % 500000 + 40000);
}
if(x != 1){
V = (double)(rand() % 200) / 10.0;
}
if (x != 2){
n = (double)(rand() % 50)/ 10.0;
}
if(x != 3){
T = (double)(rand() % 350 + 273);
}

switch (x){

case 0:
P = n * R * T / V;
ans = P;
break;

case 1:
V = n * R * T / P;
ans = V;
break;
case 2:
ans = P * V / (R *T);
break;
case 3:
ans = P*V/ (n * R);
break;
}
if (ans * 10 == (double)((int)(ans*10)) && ans != 0.0){
fprintf(ansFile, "%.2f\n", ans);
fprintf(monFile, "問題");
if(x != 0){
fprintf(monFile, "%.2fPa,", P);
}
if(x != 1){
fprintf(monFile, "%.2fL", V);
}
if(x != 2){
fprintf(monFile, ",%.2fmol", n);
}
if(x != 3){
fprintf(monFile, ",%.2fK", T);
}
switch(x){
case 0:
fprintf(monFile, "\nのとき圧力を求めなさい\n");
break;
case 1:
fprintf(monFile, "\nのとき体積を求めなさい\n");
break;
case 2:
fprintf(monFile, "\nのとき物質量を求めなさい\n");
break;
case 3:
fprintf(monFile, "\nのとき温度を求めなさい\n");
break;
default:
break;
}
fprintf(monFile, "\n");

fclose(monFile);
fclose(ansFile);
}else {
a--;
}
/*fprintf(monFile, "問題");
if(x != 0){
fprintf(monFile, "%gPa,", P);
}
if(x != 1){
fprintf(monFile, "%gL", V);
}
if(x != 2){
fprintf(monFile, ",%gmol", n);
}
if(x != 3){
fprintf(monFile, ",%gK", T);
}
switch(x){
case 0:
fprintf(monFile, "\nのとき圧力を求めなさい\n");
break;
case 1:
fprintf(monFile, "\nのとき体積を求めなさい\n");
break;
case 2:
fprintf(monFile, "\nのとき物質量を求めなさい\n");
break;
case 3:
fprintf(monFile, "\nのとき温度を求めなさい\n");
break;
default:
break;
}
fprintf(monFile, "\n");

fclose(monFile);
fclose(ansFile);
*/
}

return 0;
}


スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

小さなプログラマ

Author:小さなプログラマ
小さなプログラマです。

これはあくまで、「勉強ログ」なので間違っている場合が多々あります。

なので、このブログに書いてあることは、8%くらいの信じ度でお願いします。

間違っているじゃないか!と言われてもあれなので。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
メールフォーム

名前:
メール:
件名:
本文:

カテゴリ
カウンター
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。