このプログラムの処理の流れの説明をご教示願いたいのですが…

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

このプログラムの処理の流れの説明をご教示願いたいのですが…

#1

投稿記事 by のわ » 13年前

どなたかお願いします

コード:

int attack = 20;
int defense = 15;
int damage = 50;
//ダメージ計算関数
int getDamage(int defense, int attack)
{
        int damage;
        damage = attack - defense / 2;
        return damage;
}
//main関数
void main()
{
       int attack = 30;
       int defense = 25;
       int damage = 40;
     
       // ダメージ計算関数の実行
   damage = getDamage(attack, defense);
      // ダメージの表示
   printf("damage = %d¥n", damage);
}

よろしくお願いします

トントン
記事: 100
登録日時: 14年前

Re: このプログラムの処理の流れの説明をご教示願いたいのですが…

#2

投稿記事 by トントン » 13年前

流れとしては
getDamage関数に引数を渡して
getDamage関数内で演算した値(戻り値)を出力している
ということをしています。

が、そういうことを聞きたいんじゃないですよね?
のわさんはどの程度このプログラムを理解しているのでしょうか?

また、短いプログラムですが非常にカオスっているのが気になるところです。

non
記事: 1097
登録日時: 14年前

Re: このプログラムの処理の流れの説明をご教示願いたいのですが…

#3

投稿記事 by non » 13年前

実引数と仮引数の名前の付け方が気になります。
non

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: このプログラムの処理の流れの説明をご教示願いたいのですが…

#4

投稿記事 by TOMY » 13年前

のわ さんが書きました:

コード:

int attack = 20;
int defense = 15;
int damage = 50;
//ダメージ計算関数
int getDamage(int defense, int attack)
{
        int damage;
        damage = attack - defense / 2;
        return damage;
}
//main関数
void main()
{
       int attack = 30;
       int defense = 25;
       int damage = 40;
     
       // ダメージ計算関数の実行
   damage = getDamage(attack, defense);
      // ダメージの表示
   printf("damage = %d¥n", damage);
}

なんかいろいろ気にはなるのですが、のわさんはプログラム初心者でしょうか?
ダメージの計算が少し気になったので記述させていただきます。私もプログラムはひどいほうなのでのわさんの意図とは間違ったことを言ってしまうかもしれませんが。
グローバル変数で用意している
attack
defence
damage
をmainメソッド内で再定義しているのには何か意味があるのでしょうか?

あと、プログラムの処理の流れは私が見た限り
1:グローバル変数でattack,defence,damageを定義
2:自作関数で戻り値int型のgetDamage関数を定義
3:main関数内でattack,defence,damageを再定義
4:変数damageに先ほど作られた自作関数getDamageで計算されたdamage量を代入
5:printf文でダメージを表示

と、こんなところでしょうか。
最後に編集したユーザー TOMY on 2012年9月26日(水) 09:54 [ 編集 1 回目 ]
百聞は一見にしかず。うんちくだけを頭にぶち込む前に実際に実験した方がいいよ。
書籍とか経験談とか見て知識をつけるのも大事だけど。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: このプログラムの処理の流れの説明をご教示願いたいのですが…

#5

投稿記事 by みけCAT » 12年前

TOMY さんが書きました:とりあえずgetDamageメソッド内の計算がおかしい気がします。
attackからdefence/2した値がdamageになっているのですが、これは計算として逆なのではないのでしょうか。
このままだとattackの値が防御力として扱われることになりますよ。
何故ですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: このプログラムの処理の流れの説明をご教示願いたいのですが…

#6

投稿記事 by TOMY » 12年前

みけCAT さんが書きました:何故ですか?
あぁ、すみません。勘違いしてました。
damageとattackを逆に見てしまったみたいです。
そのため、そこの記述を削除させてもらいます。
ご迷惑おかけしました。
百聞は一見にしかず。うんちくだけを頭にぶち込む前に実際に実験した方がいいよ。
書籍とか経験談とか見て知識をつけるのも大事だけど。

閉鎖

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