C言語ならアタシに聞きなさい<36>

このエントリーをはてなブックマークに追加
466hiloshi ◆W2li6n5Xa6
どうも。
質問とかじゃないんですけど、以前、ソースの中身を気にしろって
事を言われたので、チェックして欲しいなと思いまして。
ちゃんと実行はされるんですけど、もっといい書き方があったら
教えて欲しいです。

作ったプログラムは、車を移動するってやつです。
今オレが使えるものを駆使しましたw

この程度ですが、どうかお願いします。
467hiloshi ◆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;
}
468hiloshi ◆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);
469hiloshi ◆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);
470hiloshi ◆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した方がいいと思われ
そして,すれ違い感が漂っている
473hiloshi ◆W2li6n5Xa6 :02/10/24 19:22
>>472
>テキストファイルとかに書いてうp
ってどういう事ですか?
あとすれ違い感って
スレ違いってことですか?
474デフォルトの名無しさん:02/10/24 19:23
>>472
名前見てみろ!
475472:02/10/24 19:26
    ∧ ∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄( ゚Д゚) ̄ ̄|   < もう寝るよ。おやすみ。
|\⌒⌒⌒⌒⌒⌒\   \
|  \           \    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\  |⌒⌒⌒⌒⌒⌒|
  \ |_______|