指摘をお願いします

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

指摘をお願いします

#1

投稿記事 by » 14年前

エラーが出るのですが、どのように改善したらよいかわかりません。
ご指導お願いします。

コード:

 #include<stdio.h>
#include<math.h>
#define MAX 1000

 
void main(void){
    int i;
    double x[MAX],y[MAX];
    double t,dt;
    double v0x,v0y,g,e1,e2,x0,y0,x00,v0;
     
     
    scanf("%lf",&v0x);
    scanf("%lf",&v0y);
    scanf("%lf",&g);
    scanf("%lf",&x0);
    scanf("%lf",&y0);
    scanf("%lf",&e1);
    scanf("%lf",&e2);
     
     
    FILE *fp;
    dt=0.01;
    fp=fopen("kekka.csv","w");
     
   
                     
    for(i=0;i<x0/v0x/dt;i++){
        t=i*dt;
        x[i]=-v0x*t+x0;
		
    fprintf(fp,"%f,%f\n",x[i],y0);//ここにエラーが出ます。
		
    }
                      
    for(i=0;i<sqrt(2*y0/g);i++){ 
	t=i*dt;
        x[i]=e1*v0x*t;             
        y[i]=y0-(g*t*t)/2;  
        fprintf(fp,"%f,%f\n",x[i],y[i]);
    }
     
     
    x00=e1*v0x* sqrt(2*v0/g);
    while(v0y>0.1){
            for(i=0;i<2*v0y/g/dt;i++){
                t=i*dt;
                x[i]=x00+v0x*t;
                y[i]=v0y*t-g*t*t/2;
                fprintf(fp,"%f,%f\n",x[i],y[i]);
            }
            x00=x0+2*v0x*v0y/g;
            v0y=e2*v0y;
        }
     
     
    fclose(fp);
} 


(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C2065: '   ' : 定義されていない識別子です。
(32) : error C2146: 構文エラー : ';' が、識別子 'fprintf' の前に必要です。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 指摘をお願いします

#2

投稿記事 by h2so5 » 14年前

全角スペースがどこかに入っています

Re: 指摘をお願いします

#3

投稿記事 by » 14年前

ありがとうございます。
直してみます。

Re: 指摘をお願いします

#4

投稿記事 by » 14年前

直したのですが、このようにエラーが出ます。
(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C3872: '0x3000': この文字を識別子で使用することはできません
(32) : error C2065: '   ' : 定義されていない識別子です。
(32) : error C2146: 構文エラー : ';' が、識別子 'fprintf' の前に必要です。
(32) : error C2664: 'fprintf' : 1 番目の引数を 'const char [7]' から 'FILE *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。

コード:

#include<stdio.h>
#include<math.h>
#define MAX 1000

 
void main(void){
    int i;
    double x[MAX],y[MAX];
    double t,dt;
    double v0x,v0y,g,e1,e2,x0,y0,x00,v0;
     
     
    scanf("%lf",&v0x);
    scanf("%lf",&v0y);
    scanf("%lf",&g);
    scanf("%lf",&x0);
    scanf("%lf",&y0);
    scanf("%lf",&e1);
    scanf("%lf",&e2);
     
     
    FILE *fp;
    dt=0.01;
    fp=fopen("kekka.csv","w");
     
   
                     
    for(i=0;i<x0/v0x/dt;i++){
        t=i*dt;
        x[i]=-v0x*t+x0;
		y[i]=y0;
     fprintf("%f,%f\n",x[i],y[i]);
	}
		
   
                      
    for(i=0;i<sqrt(2*y0/g);i++){ 
	    t=i*dt;
        x[i]=e1*v0x*t;             
        y[i]=y0-(g*t*t)/2;  
        fprintf(fp,"%f,%f\n",x[i],y[i]);
    }
     
     
    x00=e1*v0x* sqrt(2*v0/g);
    while(v0y>0.1){
            for(i=0;i<2*v0y/g/dt;i++){
                t=i*dt;
                x[i]=x00+v0x*t;
                y[i]=v0y*t-g*t*t/2;
                fprintf(fp,"%f,%f\n",x[i],y[i]);
            }
            x00=x0+2*v0x*v0y/g;
            v0y=e2*v0y;
        }
     
     
    fclose(fp);
} 

 

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 指摘をお願いします

#5

投稿記事 by h2so5 » 14年前

全角スペースが消えていない上に、
消してはいけないところを消していますよ。

32行目を書きなおしてみてください。

Re: 指摘をお願いします

#6

投稿記事 by » 14年前

このようなエラーが出ます。指摘お願いします。

コード:

  #include<stdio.h>
#include<math.h>
#define MAX 1000
 
 
void main(void){
    int i;
    double x[MAX],y[MAX];
    double t,dt;
    double v0x,v0y,g,e1,e2,x0,y0,x00,v0;
     
     
    scanf("%lf",&v0x);
    scanf("%lf",&g);
    scanf("%lf",&x0);
    scanf("%lf",&y0);
    scanf("%lf",&e1);
    scanf("%lf",&e2);
     
     
    FILE *fp;
    dt=0.01;
    fp=fopen("kekka.csv","w");
     
   
                     
    for(i=0;i<x0/v0x/dt;i++){
        t=i*dt;
        x[i]=-v0x*t+x0;
        y[i]=y0;
		fprintf(fp,"%f,%f\n",x[i],y[i]);
	}
                      
    for(i=0;i<sqrt(2*y0/g)*dt;i++){ 
    t=i*dt;
        x[i]=e1*v0x*t;             
        y[i]=y0-g*t*t/2;  
        fprintf(fp,"%f,%f\n",x[i],y[i]);
    }
     
     
    x00=e1*v0x*sqrt(2*y0/g);
  v0y=e2*g*sqrt(2*y0/g);//ここにエラー
    while(v0y>0.1){
            for(i=0;i<2*v0y/g/dt;i++){
                t=i*dt;
                x[i]=x00+e1*v0x*t;
                y[i]=v0y*t-g*t*t/2;
                fprintf(fp,"%f,%f\n",x[i],y[i]);
            }
            x00=x0+2*v0x*v0y/g;
            v0y=e2*v0y;
        }
     
     
    fclose(fp);
}
1>c:\users\eri\documents\visual studio 2005\projects\最終課題\最終課題\物体の運動.cpp(43) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\eri\documents\visual studio 2005\projects\最終課題\最終課題\物体の運動.cpp(43) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\eri\documents\visual studio 2005\projects\最終課題\最終課題\物体の運動.cpp(43) : error C2065: '  v0y' : 定義されていない識別子です。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 指摘をお願いします

#7

投稿記事 by h2so5 » 14年前

このエラーが出たときは全角スペースが原因です

Re: 指摘をお願いします

#8

投稿記事 by » 14年前

なるほど。
直したつもりなんですが、全角スペースを見つけるのが難しいです。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 指摘をお願いします

#9

投稿記事 by h2so5 » 14年前

Visual Studioであれば Ctrl+H を押して、
「検索する文字列」に全角スペースを入れて
「置換後の文字列」を半角スペースにして、
「全て置換」を押せば全角スペースが全て消えます。

他にも、全角スペースが視覚化できるエディタなどにコピーして確認する手もあります。

Re: 指摘をお願いします

#10

投稿記事 by » 14年前

「検索する文字列」に全角スペースと入力するんですか?

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 指摘をお願いします

#11

投稿記事 by h2so5 » 14年前

全角スペースを入れます
添付ファイル
fft.jpg
fft.jpg (24.82 KiB) 閲覧数: 3516 回

Re: 指摘をお願いします

#12

投稿記事 by » 14年前

ありがとうございます

閉鎖

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