466 :
hiloshi ◆W2li6n5Xa6 :
どうも。
質問とかじゃないんですけど、以前、ソースの中身を気にしろって
事を言われたので、チェックして欲しいなと思いまして。
ちゃんと実行はされるんですけど、もっといい書き方があったら
教えて欲しいです。
作ったプログラムは、車を移動するってやつです。
今オレが使えるものを駆使しましたw
この程度ですが、どうかお願いします。
467 :
hiloshi ◆W2li6n5Xa6 :02/10/24 19:15
#include <stdio.h>
/*mycarの座標*/
typedef struct
{
int x1;
int y1;
}point;
/*車(mycar)*/
typedef struct
{
double fuel;
point p;
}car;
/*X方向にx2、Y方向にy2移動*/
void move_car(car *a,int x2,int y2)
{
a->p.x1+=x2;
a->p.y1+=y2;
}
468 :
hiloshi ◆W2li6n5Xa6 :02/10/24 19:16
/*車の状態を表示*/
void print_sub(car a)
{
printf("現在位置 x:%d\n",a.p.x1);
printf(" y:%d\n",a.p.y1);
printf("残り燃料:%.1f\n\n",a.fuel);
}
int main(void)
{
car mycar; /*車*/
int sel;
int x,y; /*移動距離*/
double use_fuel; /*移動して消費した燃料*/
puts("■車移動プログラム■");
mycar.p.x1=mycar.p.y1=0;
mycar.fuel=1000;
print_sub(mycar);
469 :
hiloshi ◆W2li6n5Xa6 :02/10/24 19:16
while(1)
{
do /*selが1か0でない時は繰り返す*/
{
printf("移動しますか(Yes/1 No/0):");
scanf("%d",&sel);
}while(sel!=1&&sel!=0);
if(sel==1)
{
puts("移動距離を入力してください。");
printf("X方向:"); scanf("%d",&x);
printf("Y方向:"); scanf("%d",&y);
470 :
hiloshi ◆W2li6n5Xa6 :02/10/24 19:16
use_fuel=((x*10)+(y*10))/7;
mycar.fuel-=use_fuel;
if(mycar.fuel>=0) /*燃料が残るなら動かす*/
move_car(&mycar,x,y);
else /*残らない時はその旨を表示して、燃料を戻す*/
{
puts("\n燃料不足で移動できません。\n");
mycar.fuel+=use_fuel;
}
print_sub(mycar);
}
else /*selが0の時、プログラムは終了へ*/
break;
}
return(0);
}
typedef struct
{
double fuel;
point p;
}car;
のpは,ポインタと間違われる可能性がある
あと,コピペの仕方が見にくいです
スペースを入れてくらはい
あと,テキストファイルとかに書いてうpした方がいいと思われ
そして,すれ違い感が漂っている
473 :
hiloshi ◆W2li6n5Xa6 :02/10/24 19:22
>>472 >テキストファイルとかに書いてうp
ってどういう事ですか?
あとすれ違い感って
スレ違いってことですか?
474 :
デフォルトの名無しさん:02/10/24 19:23
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄( ゚Д゚) ̄ ̄| < もう寝るよ。おやすみ。
|\⌒⌒⌒⌒⌒⌒\ \
| \ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ |⌒⌒⌒⌒⌒⌒|
\ |_______|