読み込めないのかどうなのか

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

読み込めないのかどうなのか

#1

投稿記事 by ぼると » 6年前

はじめまして、学校にてC言語を学び始めて間もないぼるとと申します。

C言語を少しずつ勉強してきて、先日「今まで覚えた内容である物を作ろう」と発案し、さっそく取組ました。

作る物は「ステータスのシミュレーター」なるもので、予め用意した基本ステータスに武器や防具などを付けて、付けた装備に応じてステータスが変動するような小さいシステムです。

また、せっかくなので「ヘッダーファイル」を利用して出来るだけmain.cppに書くプログラムを減らそうと考えました。

まずmain.cppに予め用意した装備を選ぶ処理を置こうと考え、その処理をヘッダーにまとめて配置してみたのですが、いざコンパイルするとなると書いたはずの処理がすっとんでしまいました。

コンパイルに成功してるということは多分文法のミスは無いと思われますが、書き方が間違ってるのでしょうか・・・

今自分が知りたいことは、「どうすればちゃんと処理を実行させられるのか」ということです。

使用しているコンパイラは「visual studio 2010」です


よろしくお願いします。

↓自分が書いたソースコード

main.cpp

コード:

#include <stdio.h>
#include "Hu_struct.h"
#include "weapon.h"

 struct Hu_status1 Hunter1 = {1, 208, 100, 90, 83, 74, 96, 90, 72, 75};


int main(){

	 printf("武器はどうする?");

	 void sword_text();

	printf("LV/%d\nHP/%d\nPP/%d\n打撃力/%d\n射撃力/%d\n法撃力/%d\n技量/%d\n打撃防御力/%d\n射撃防御力/%d\n法撃防御力/%d\n",Hunter1.level,Hunter1.HP,Hunter1.PP,Hunter1.strike_power,Hunter1.shoot_power,Hunter1.magic_power,Hunter1.skill,Hunter1.strile_defience,Hunter1.shoot_defience,Hunter1.magic_defience);
}
Hu_status.h

コード:

#ifndef _HU_STURUCT_H

#define _HU_STURUCT_H

	struct Hu_status1{
	int level;
	int HP;
	int PP;
	int strike_power;
	int shoot_power;
	int magic_power;
	int skill;
	int strile_defience;
	int shoot_defience;
	int magic_defience;
};

#endif
weapon.h

コード:

#ifndef _WEAPON_H

#define _WEAPON_H

void sowrd_text(int i){

	printf("装備する武器は?\n");
	printf("0:素手\n");
	printf("1:ソード\n");
	printf("2:アルバソード\n");
	printf("3:ヴィタソード\n");
	printf("4:ギガッシュ\n");
	printf("5:アルバギガッシュ\n");
	printf("6:ヴィタギガッシュ\n");
	printf("7:ブレイカー\n");
	printf("8:アルバブレイカー\n");
	printf("9:ヴィタブレイカー\n");
	printf("10:クレイモア\n");
	printf("11:アルバクレイモア\n");
	printf("12:ヴィタクレイモア\n");
	printf("13:キャリバー\n");
	printf("14:アルバキャリバー\n");
	printf("15:ヴィタキャリバー\n");
	printf("16:コートエッジ\n");
	printf("17:タルナーダ\n");
	scanf("%d", &i);
}

#endif

PS:よくこの掲示板を拝見させてもらっているのですが、掲示板に記載されるソースコードが何故か全部横一列に統一されてしまうのですが・・・

超絶右留斗羅天才プログラマー
記事: 44
登録日時: 6年前

Re: 読み込めないのかどうなのか

#2

投稿記事 by 超絶右留斗羅天才プログラマー » 6年前

main.cppの12行目の関数を見ると、

void sword_text();

となっていますので、先頭のvoidを取り外します。

その後、sowrd_text関数にはiという引数を渡す関数になっておりますので、
int i = 0;
と宣言し、
sowrd_text(i);
と引数を渡してください。

これでsowrd_text関数内のscanfの処理まで通るようになります!

また疑問点が湧きましたら、遠慮なく教えてくださいヽ(*´∀`)ノ

main.cpp

コード:

#include <stdio.h>
#include "Hu_status.h"
#include "weapon.h"
 
 struct Hu_status1 Hunter1 = {1, 208, 100, 90, 83, 74, 96, 90, 72, 75};
 
 
int main(){
 
     printf("武器はどうする?");
 
	 int i = 0;
	 sowrd_text(i);
 
    printf("LV/%d\nHP/%d\nPP/%d\n打撃力/%d\n射撃力/%d\n法撃力/%d\n技量/%d\n打撃防御力/%d\n射撃防御力/%d\n法撃防御力/%d\n",Hunter1.level,Hunter1.HP,Hunter1.PP,Hunter1.strike_power,Hunter1.shoot_power,Hunter1.magic_power,Hunter1.skill,Hunter1.strile_defience,Hunter1.shoot_defience,Hunter1.magic_defience);

}
ただの超絶右留斗羅天才プログラマーです。同人ゲーム制作進捗度:7%

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

Re: 読み込めないのかどうなのか

#3

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

ぼると さんが書きました:PS:よくこの掲示板を拝見させてもらっているのですが、掲示板に記載されるソースコードが何故か全部横一列に統一されてしまうのですが・・・
おそらくIEをお使いですね?
そんなブラウザを使うのはやめて、Firefoxを使いましょう!
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

初級者
記事: 200
登録日時: 9年前

Re: 読み込めないのかどうなのか

#4

投稿記事 by 初級者 » 6年前

ヘッダーファイルに関数の実体を書くのは
本当に適切なのか? と、個人的には思います。

アバター
usao
記事: 1566
登録日時: 6年前

Re: 読み込めないのかどうなのか

#5

投稿記事 by usao » 6年前

コードを見るといろいろとつっこみどころはあるでしょうが,
>今自分が知りたいことは、「どうすればちゃんと処理を実行させられるのか」ということです。
と,わざわざ強調されているので,
超絶右留斗羅天才プログラマーさんが回答された内容以上のものを現在は求めていない のではないでしょうか.

ISLe
記事: 2645
登録日時: 9年前
連絡を取る:

Re: 読み込めないのかどうなのか

#6

投稿記事 by ISLe » 6年前

ぼると さんが書きました:PS:よくこの掲示板を拝見させてもらっているのですが、掲示板に記載されるソースコードが何故か全部横一列に統一されてしまうのですが・・・
IE10を使っている場合は、互換表示にしてください。
アドレスバーの右端にある折れ線で分割された縦長の長方形のアイコンをクリックして青色の状態にします。

逆に互換表示だと投稿画面のトピック一覧の引用ボタンがスクロールしないなど不具合もありますので適宜切り替えてください。

たぶんIE10が糞なのではなく過去のIEとの互換性の問題かと思われます。

ぼると

Re: 読み込めないのかどうなのか

#7

投稿記事 by ぼると » 6年前

本件以外の事でも教えてくれてありがとうございました。とりあえず処理を通すことは出来ました。

後ソースコードについてなんですが、まだプログラムに関しては自分はひよっこなので、どうやって効率的に組むことが出来るかさっぱり分からない状態です。とりあえず今は「学んだことだけで出来るのか?」というのを自分で勝手に挑戦してるだけですので、またそのあたりに関してはまたこの掲示板にお世話になるかもしれません。

皆さん解決策を教えてくれてありがとうございました。

閉鎖

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