teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

x\[\]の読み込んだソースを載せました。

2017/01/16 09:30

投稿

TRON1216
TRON1216

スコア18

title CHANGED
File without changes
body CHANGED
@@ -47,4 +47,89 @@
47
47
  }
48
48
  return 0;
49
49
 
50
- }'''
50
+ }'''
51
+
52
+
53
+ もう一つ、x[]を読み込んだプログラムを以下に表示します。
54
+ 、、、
55
+ BOOL read_data( HWND hDlg, FILE *hm, int channel )
56
+ {
57
+ char cbuf[500]; // 1行分のデータを読み込む文字列
58
+ char *p, *context; // strtok_sを使うために必要
59
+ int i = 0;
60
+
61
+
62
+
63
+ static bool flag = TRUE;// 最初のデータの読み込み時はTRUE、後はFAULTにする
64
+ int i = 0;
65
+
66
+ while ( fgets( cbuf, 501, hm ) != NULL ){ // データを最後まで読み込む
67
+
68
+ p = strtok_s( cbuf, ",", &context );
69
+ sscanf_s( p, "%f", &ET[i] );
70
+
71
+ p = strtok_s( NULL, ",", &context );
72
+ sscanf_s( p, "%f", &XEQL[i]);
73
+ p = strtok_s( NULL, ",", &context );
74
+ sscanf_s( p, "%f", &YEQL[i]);
75
+ p = strtok_s( NULL, ",", &context );
76
+ sscanf_s( p, "%f", &ZEQL[i]);
77
+
78
+
79
+ p = strtok_s( NULL, ",", &context );
80
+ sscanf_s( p, "%f", &VXEQL[i]);
81
+ p = strtok_s( NULL, ",", &context );
82
+ sscanf_s( p, "%f", &VYEQL[i]);
83
+ p = strtok_s( NULL, ",", &context );
84
+ sscanf_s( p, "%f", &VZEQL[i]);
85
+
86
+
87
+ p = strtok_s( NULL, ",", &context );
88
+ sscanf_s( p, "%f", &XSUN[i]);
89
+ p = strtok_s( NULL, ",", &context );
90
+ sscanf_s( p, "%f", &YSUN[i]);
91
+ p = strtok_s( NULL, ",", &context );
92
+ sscanf_s( p, "%f", &ZSUN[i]);
93
+
94
+
95
+ p = strtok_s( NULL, ",", &context );
96
+ sscanf_s( p, "%f", &VXSUN[i]);
97
+ p = strtok_s( NULL, ",", &context );
98
+ sscanf_s( p, "%f", &VYSUN[i]);
99
+ p = strtok_s( NULL, ",", &context );
100
+ sscanf_s( p, "%f", &VZSUN[i]);
101
+
102
+
103
+ p = strtok_s( NULL, ",", &context );
104
+ sscanf_s( p, "%f", &XMOON[i]);
105
+ p = strtok_s( NULL, ",", &context );
106
+ sscanf_s( p, "%f", &YMOON[i]);
107
+ p = strtok_s( NULL, ",", &context );
108
+ sscanf_s( p, "%f", &ZMOON[i]);
109
+
110
+
111
+ p = strtok_s( NULL, ",", &context );
112
+ sscanf_s( p, "%f", &VXMOON[i]);
113
+ p = strtok_s( NULL, ",", &context );
114
+ sscanf_s( p, "%f", &VYMOON[i]);
115
+ p = strtok_s( NULL, ",", &context );
116
+ sscanf_s( p, "%f", &VZMOON[i]);
117
+
118
+
119
+ EQL_MOON[i] = sqrtf((XMOON[i]-XEQL[i])*(XMOON[i]-XEQL[i])
120
+ + (YMOON[i]-YEQL[i])*(YMOON[i]-YEQL[i])
121
+ + (ZMOON[i]-ZEQL[i])*(ZMOON[i]-ZEQL[i]));
122
+ x[i] = (0.00005*1737)/(EQL_MOON[i]-50);
123
+ i++;
124
+
125
+ }
126
+ SetDlgItemInt( hDlg, IDC_EDIT_header1, total_n, FALSE );
127
+
128
+ if ( flag == TRUE ){
129
+ SetDlgItemInt( hDlg, IDC_EDIT_STOP, total_n-1, FALSE ); // 全体表示する場合の最後のサンプル番号が決まる
130
+ SetDlgItemInt( hDlg, IDC_EDIT_START, 0, FALSE ); // 最初のサンプル番号は0にしておく
131
+ flag = FALSE;
132
+ }
133
+
134
+ return TRUE; // 戻り値TRUEを返す
135
+ }、、、

2

コードの最初と最後を’’’でかこった

2017/01/16 09:29

投稿

TRON1216
TRON1216

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  あるデータを用いて円を描画したく、Ellipse関数に読み込んだデータの値を配列(x[0])として入れたところ、ビルドはできるのですが円が描画されません。x[0]=1.47であるので、1.47を直接Ellipse関数に入れて実行させたところ、円が描画されました。配列を用いて描画したいです。分かる方いましたらよろしくお願いいたします。以下が円(楕円)を描画するコードの一部です。ブレークポイントで確かめたところ、配列に入っている値は0でした。同じプロジェクト中の別のソースファイルでx[i]の色々な値読み込みは成功しています。ですが、そのx[i]を以下のソースファイルにも使いたいです。
2
2
  コード
3
+ '''
3
4
  #include "kobayashi.h"
4
5
  #include "time.h"
5
6
 
@@ -46,4 +47,4 @@
46
47
  }
47
48
  return 0;
48
49
 
49
- }
50
+ }'''

1

もう少し詳しく書きました

2017/01/16 09:20

投稿

TRON1216
TRON1216

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- あるデータを用いて円を描画したく、Ellipse関数に読み込んだデータの値を配列(x[0])として入れたところ、ビルドはできるのですが円が描画されません。x[0]=1.47であるので、1.47を直接Ellipse関数に入れて実行させたところ、円が描画されました。配列を用いて描画したいです。分かる方いましたらよろしくお願いいたします。以下が円(楕円)を描画するコードの一部です。
1
+ あるデータを用いて円を描画したく、Ellipse関数に読み込んだデータの値を配列(x[0])として入れたところ、ビルドはできるのですが円が描画されません。x[0]=1.47であるので、1.47を直接Ellipse関数に入れて実行させたところ、円が描画されました。配列を用いて描画したいです。分かる方いましたらよろしくお願いいたします。以下が円(楕円)を描画するコードの一部です。ブレークポイントで確かめたところ、配列に入っている値は0でした。同じプロジェクト中の別のソースファイルでx[i]の色々な値読み込みは成功しています。ですが、そのx[i]を以下のソースファイルにも使いたいです。
2
2
  コード
3
3
  #include "kobayashi.h"
4
4
  #include "time.h"