【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.19617

ポインター?
投稿者---Pさん(2005/01/28 11:00:50)


#include"graphics.h"
#include<stdio.h>
#include<math.h>
main()
{int x[200],y[200],i,z,j,l[200],m[200],s[200],d[200];
float t[200];
ginit();
for(i=0;i<=199;i++)
{
t[i]=0.1*(float)i;
x[i]=230;
y[i]=115-(int)(50*(-0.5*9.8*t[i]*t[i]));
}

for(i=0;i<=199;i++)
{
t[i]=0.1*(float)i;
d[i]=330;
s[i]=115-(int)(50*(-0.5*9.8*t[i]*t[i]));
}

for(i=0;i<=199;i++)
{
t[i]=0.1*(float)i;
l[i]=130;
m[i]=115-(int)(50*(-0.5*9.8*t[i]*t[i]));
}
for(i=0;i<=199;i++)
{
ginit();
if(y[i]>440){y[i]=y[i-10];}
for(j=0;j<480000;j++){z=1.0/(float)(j+1);}
ball(x[i],y[i]);
k(s[i],d[i]);
t(l[i],m[i]);
draw();
}
getchar();getchar();
}
}
t(l,m)
int l,m;{
line(l,m-100,l-100,m-100);
line(l,m-100,l,m-110);
line(l-100,m-100,l-100,m-110);
line(l,m-110,l-100,m-110);
line(l-45,m-100,l-45,m);
line(l-55,m,l-55,m-100);
line(l-45,m,l-55,m);

return;}

ball(x,y)
int x,y;{

{int gx,gy,gx0,gy0,dx,dx0,dy,dy0,f,r;
float th,pi,k;
{
pi=3.14159;
k=20;f=20;
r=30;

line(x+80,y-80,x+55,y);
line(x+70,y-80,x+45,y);
line(x+45,y,x+55,y);
for(th=0.0;th<=2.0*pi+0.01;th+=2.0*pi/(float)k)
{gx=(int)(float)r*cos(th)+x+50;
gy=(int)(float)r*sin(th)+y-80;
if(th==0.0){gx0=gx;gy0=gy;}
line(gx0,gy0,gx,gy);
gx0=gx;gy0=gy;
}
for(th=0.0;th<=2.0*pi+0.01;th+=2.0*pi/(float)k)
{dx=(int)(float)f*cos(th)+x+50;
dy=(int)(float)f*sin(th)+y-80;
if(th==0.0){dx0=dx;dy0=dy;}
line(dx0,dy0,dx,dy);
dx0=dx;dy0=dy;
}
}
return;}

k(s,d)
int s,d;{

line(s+110,d-110,s+120,d-110);
line(s+110,d-110,s+110,d);
line(s+120,d-110,s+120,d);
line(s+110,d,x+120,d);
line(s+120,d-50,s+200,d-110);
line(s+120,d-60,s+185,d-110);
line(s+120,d-50,s+185,d);
line(s+120,d-60,s+200,d);
line(s+185,d,s+200,d);
return;}
}
というプログラムを作ったのですが、コンパイルすると「関数または関数に対するポインターを入れてください」と「構文エラー」が出てしまいます。
ですがどこが悪いのかよくわかりません。アドバイスお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ポインター? 19620 BB 2005/01/28 11:30:40
<子記事> Re:ポインター? 19622 円零 2005/01/28 11:50:56


No.19620

Re:ポインター?
投稿者---BB(2005/01/28 11:30:40)


※ソースの添付は「HTML変換ツール」で字下げ!

graphics.hがないのでなんとも言いがたいですが・・・
t(l[i],m[i]);という部分、そのブロック内では配列として宣言してますよね?
(その下の部分では関数として宣言してるみたいですが・・)
名前が重複してるので、変更する必要があります。

#このソースを今自分で書いたなら、昔の記法ではなく
#void t(int l, int m)などと書いてプロトタイプ宣言もしましょう。


この投稿にコメントする

削除パスワード

No.19622

Re:ポインター?
投稿者---円零(2005/01/28 11:50:56)


まず中カッコの使い方がメチャクチャです。
値を返すべき関数でreturnの引数がありません。
「t」という名前を二重に使ってます。
k関数の中で宣言されてない「x」という変数を使ってます。

投稿する前にもう少し落ち着いてコードを眺めた方が良いと思います。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧