ファイルのy座標が0になってしまいます

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
a3658

ファイルのy座標が0になってしまいます

#1

投稿記事 by a3658 » 7年前

locdata1.txt
14
0 0
1 4
3 6
1 8
2 3
4 7
5 2
4 1
9 0
6 6
7 2
5 1
2 0
8 3
をデバッグすると表示結果が
n=14
point i x y
0 0 0
1 1 0
2 3 0
3 1 0
4 2 0
5 4 0
6 5 0
7 4 0
8 9 0
9 6 0
10 7 0
11 5 0
12 2 0
13 8 0
となってしまいます。どうしてか解る方がいたら教えていただけないでしょうか。
初心者のためお手上げ状態になっています。

コード
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define N 100 //最大ノード数
#define SEED 14 //乱数の種
struct point{
double x;
double y;
}p[N];
int n; //外部変数:点の個数
int main(){
int i;
//double initlg, bestlg;
FILE *fp;
char *fname = "locdata1.txt";
errno_t err;

err = fopen_s(&fp, fname, "r"); //入力データの読み込み
if (fp == NULL){
printf("%sファイルが開けません\n", fname);
return -1;
}

fscanf_s(fp, "%d", &n);
for (i = 0; i < n; i++){
fscanf_s(fp, "%d %d", &p.x, &p.y);
}

printf("n=%d\n", n);
printf("point i x y\n");
for (i = 0; i < n; i++){
printf("%d %d %d\n", i, p.x,p.y);
}

fclose(fp);
return 0;
}

たいちう
記事: 418
登録日時: 13年前

Re: ファイルのy座標が0になってしまいます

#2

投稿記事 by たいちう » 7年前

ぱっと見ただけですが、ここが間違ってます。

fscanf_s(fp, "%d %d", &p.x, &p.y);

fscanf_s(fp, "%lf %lf", &p.x, &p.y);

a3658

Re: ファイルのy座標が0になってしまいます

#3

投稿記事 by a3658 » 7年前

先ほど質問したものです。
指示された場所を直したらy座標も表示されるようになりました。
ありがとうございます。

たいちう
記事: 418
登録日時: 13年前

Re: ファイルのy座標が0になってしまいます

#4

投稿記事 by たいちう » 7年前

printfの方も書式を調べて直しておいてください。
それと解決チェックをお願いします。

閉鎖

“C言語何でも質問掲示板” へ戻る