坂道に沿って動くプログラムです。
高校生レベルの数学がわかればわかるはず、、、?
検索結果 235 件
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
y座標動かさないと坂道のぼれないやないかーいwkeito94 さんが書きました:オフトピックええっ!?Y座標を坂道に合わせて動かせばいいんですか!?
ちょっと甘かったです…。
でもこれで不具合の原因がわかりましたね^^
移動した座標が坂道だったら、坂道の傾斜に応じてy座標を変化させてやればいいわけですね。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
マジックナンバーが定数に置き換えられてて見やすくなっていました^^ ただ(私がconst intって書いたせいかも知らないけど)定数がすべてconst intで定義されていました。 定数は別に整数である必要はなく、比較対象と同じ型にしたほうがいいと思います。 以下修正案 //collision.cpp void CCollision::GetYPosition(float* myx, float* myy, float* addx, float* addy, int* jcount, bool* gflag) { //座標を一時的に保存する。 float tempaddx = *addx; f...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
プログラムを動かしてみたところキャラクターが坂道に差し掛かると キャラが沈んだり、なぜか左右にものすごい勢いで動いたりしました。 何が悪いのかとプログラムを読もうと思ったのですが、いわゆるマジックナンバーが多く正直私レベルだと理解できません。(っていうかしたくない^p^) 出来ればマクロ、enum、定数などに置き換えたほうがいいと思います。 void CCollision::GetYPosition(float* myx, float* myy, float* addx, float* addy, int* jcount, bool* gflag) { float tempaddx = *ad...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
坂道に入ると
Run-Time Check Failure #3 - The variable 'SlopeCond' is being used without being initialized.
という例外が出て止まってしまいます@_@
Run-Time Check Failure #3 - The variable 'SlopeCond' is being used without being initialized.
という例外が出て止まってしまいます@_@
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、 でもColSegments関数はfalseを返すし、 これはColSegments関数の不具合ということですか? 違います違います!! ColSegment自体は正しく動作しています!! ColSegments関数の仕業じゃないとすれば妖怪の仕業、、、? 冗談はさておき、 http://dixq.net/forum/blog.php?u=900&b=6581 のISLeさんの投稿を見ると、 GetXPosition周りが怪しいとか、、、。 解決案としましては、 GetXPosition関数とかの修正...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
これはColSegments関数の不具合ということですか?purin52002 さんが書きました: 坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、
でもColSegments関数はfalseを返すし、
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
線分と線分が交差していたらtrueを返すのがColSegments関数で、
坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、
でもColSegments関数はfalseを返すし、
そのせいでブロック判定もうまくいかない。
ということですか?
坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、
でもColSegments関数はfalseを返すし、
そのせいでブロック判定もうまくいかない。
ということですか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
keito94 さんが書きました:そ、そういうことではなくてですね…。purin52002 さんが書きました: これは、真になるであろうパラメータを与えても真にならないということですか?
坂道のブロックにいると判定されているときに何故か真にならないということです。
理解力がががががが^p^p^purin52002 さんが書きました:理解力ががが^p^
坂道ブロックにいるときは真と判定してほしいのに、真と判定されない。
という不具合だと思ったのですが違うのですか?
ちょっと状況がわからなくなってしまったので詳しく説明してもらってもいいですか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
理解力ががが^p^
坂道ブロックにいるときは真と判定してほしいのに、真と判定されない。
という不具合だと思ったのですが違うのですか?
坂道ブロックにいるときは真と判定してほしいのに、真と判定されない。
という不具合だと思ったのですが違うのですか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
線分の判定が真にならない。
これは、真になるであろうパラメータを与えても真にならないということですか?
だとすると(私は線分判定のアルゴリズムがよくわかっていないので)お手上げです^^;
これは、真になるであろうパラメータを与えても真にならないということですか?
だとすると(私は線分判定のアルゴリズムがよくわかっていないので)お手上げです^^;
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
坂道に入った瞬間だけ正しい値が出力されるとしたら、
- 坂道判定で座標が修正される。->修正された座標では坂道判定にならない
- 坂道判定に座標以外のパラメータが使われている。->一定時間以上いたら正しい値を返さない、一度だけ正しい値を返す。など(んなわけないか)
- 小人さんが意地悪している^p^
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ
- 返信数: 5
- 閲覧数: 3050
Re: ポインタ
ベクトルと行列の掛け算は内積を使って計算できますね。 内積は同じ次元のベクトルの各要素を掛け合わせたものの総和で、 n次元のベクトルA,Bの場合、 ΣA(i)*B(i)|i=1~n になると思います。(あってるかな?) これはfor文をn回回して、A,Bの同じindexの要素をかけたものを足し合わせればいいと思います。 次に、ベクトルと行列の掛け算です。 文字だけで説明するのが私ではちょっと難しいので、説明は省略します^^; とりあえず計算方法だけ説明します。 ベクトルA,Bの内積をdot(A,B)として、ベクトルXと行列Y(i行j列)の掛け算は [ dot( X,Y( :,1 ) ) dot...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
i+2を出力した後に、坂道のブロックにいるときにはi+2が出力されるはずなのに、何故か0を出力してしまう不具合というのが確認されました。 これは坂道ブロックに入った瞬間に0を出力するということですか? それとも坂道ブロックに入った瞬間はi+2、そのご0が出力されるということですか? そして、return 0の部分では、indexの値が獲得されていないのがわかりました。 仮にreturn 0 ;にブレークポイントをつけてindexをウォッチしたなら、スコープを抜けているので値を見ることができません。 それとももしかしてreturn 0 ;を返す場合のindexの値が不定になるということだったり...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: ベクトルの積
- 返信数: 1
- 閲覧数: 1511
Re: ベクトルの積
http://dixq.net/forum/viewtopic.php?f=3&t=19214
なんか似たような内容のトピックがすでにあったので、
同じこと2回書くのも面倒だし、urlのトピックのほうが返信もいっぱいついてるし
向こうで返信を待ってみてはどうですか?
なんか似たような内容のトピックがすでにあったので、
同じこと2回書くのも面倒だし、urlのトピックのほうが返信もいっぱいついてるし
向こうで返信を待ってみてはどうですか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
日本語力が低いのでできるだけわかりやすい文章でお願いします^p^;
「ブロックとしての当たり判定」というのがなんなのかわかりませんが、19行目の
int index = Game->MapData().GetValue(i + 2, pt[j].x / cwidth, pt[j].y / cheight);
で正しい値が取得できているでしょうか?
「ブロックとしての当たり判定」というのがなんなのかわかりませんが、19行目の
int index = Game->MapData().GetValue(i + 2, pt[j].x / cwidth, pt[j].y / cheight);
で正しい値が取得できているでしょうか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
return i+2 ; のあとにreturn 0 ; が呼ばれたってことですかね?keito94 さんが書きました: GetChipLayerNumが上り坂を示す25行が実行された後に30行が実行されているのを確認しました。
returnのあとにreturnが呼ばれたことがないのでわからないのですが、その場合どのような値が出力されるのでしょうか?(i+2?それとも0?)
purin52002 さんが書きました: 計算式が間違っているか、計算に使っているindexの値がおかしいかですね。
となると何が不具合の原因かちょっとわたしではわからないですね、、、^^;keito94 さんが書きました:デバッグして調べてみたところ、purinさんが指摘した部分に間違いはないどころか、
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
最初のプログラムが見つけられませんでした^p^
このGetChipLayerNum関数に不具合があるということですよね?
値を返すのが25,30行目で、不具合が起きそうなところはsrc_x、src_yの部分ですね。
計算式が間違っているか、計算に使っているindexの値がおかしいかですね。
このGetChipLayerNum関数に不具合があるということですよね?
値を返すのが25,30行目で、不具合が起きそうなところはsrc_x、src_yの部分ですね。
計算式が間違っているか、計算に使っているindexの値がおかしいかですね。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
slope.xに-2が代入されてしまうということはslopeに値を代入するCheckSlope関数がうまく動いていないんだとおもいます。 自分でデバッグして、原因を突き止めてから、自分で症状を改善させましたが、まだ完成ではありません。 なぜなら、このアルゴリズムで、else if(tempaddx != 0)のところへ来ないで、ブロックとして扱われてしまうからです。 if (Slope.s.x >= Player.v.x && Player.v.x < Slope.v.x || Slope.s.x <= Player.v.x && Player.v.x > Slope.v.x) { if (C...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
なぜなら、このアルゴリズムで、else if(tempaddx != 0)のところへ来ないで、ブロックとして扱われてしまうからです。 これは元のプログラム179行目~のことでいいんでしょうか? //-2を返したら、ブロックとして扱う。 if (slope.y == -1) { *gflag = true; } else if (slope.y == -2) { //ブロックとしての当たり判定。 } else { *addy = slope.y; } これを修正して //-2を返したら、ブロックとして扱う。 if (slope.y == -1) { *gflag = true; } else ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 度数を計算
- 返信数: 2
- 閲覧数: 1726
Re: 度数を計算
RAcnt[j][0]が最小値で、RAcnt[j][1]が最大値を表しているなら間違っていないような気がします。
どこか別の部分で間違えていたりして、、、?
あと正しい出力だと度数Aは12個出力されていますが間違った出力では11個出力されています。
どこか別の部分で間違えていたりして、、、?
あと正しい出力だと度数Aは12個出力されていますが間違った出力では11個出力されています。
オフトピック
プログラムが見づらいです^^;
codeタグで囲むと見やすくなるので、今後プログラムを張ることがあれば囲ってください^^
codeタグで囲むと見やすくなるので、今後プログラムを張ることがあれば囲ってください^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
申し訳ないのですが、理解力が人一倍ないので一つ一つ確認していきます^^; if (Slope.s.x >= Player.v.x && Player.v.x < Slope.v.x || Slope.s.x <= Player.v.x && Player.v.x > Slope.v.x) { if (ColSegments(Slope,Player,&T1,&T2,&Vres)) { res.x = (int)x-Vres.x; res.y = (int)y-Vres.y; } } else { //何故かここへ来る。 res.x = -2; res.y = -2; return res; }...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: すいません 急ぎで解答をお願いします。
- 返信数: 5
- 閲覧数: 3643
Re: すいません 急ぎで解答をお願いします。
まずは自分で書けるところまで書いてみてください。
そのあとデバッグしていきましょう。
、、、というのもやっぱり冷やかしになってしまうのかしらorz
そのあとデバッグしていきましょう。
、、、というのもやっぱり冷やかしになってしまうのかしらorz
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 坂道の当たり判定を作っています。
- 返信数: 122
- 閲覧数: 93947
Re: 坂道の当たり判定を作っています。
正直ソースが多すぎて読むのが面倒です。
不具合が出ていそうな箇所をあぶりだしてほしいです。
そこでデバッグですよ!
いまこそデバッグトレーニングの成果を試すときですよ!
とりあえず坂道のアタリ判定をしているときに空中にいるとみなされる原因を探してみましょう。
いつか「お前、その計算結果はおかしいだろ^p^」となる処理が見つかるはずです。
原因となる処理さえ見つけられればあとは何とかなったりならなかったり、、、
不具合が出ていそうな箇所をあぶりだしてほしいです。
そこでデバッグですよ!
いまこそデバッグトレーニングの成果を試すときですよ!
とりあえず坂道のアタリ判定をしているときに空中にいるとみなされる原因を探してみましょう。
- 判定している箇所を探す。
- 空中にいるとみなす計算を探す。
- その計算に使われている変数を探す。
- 変数を設定する計算を探す。
いつか「お前、その計算結果はおかしいだろ^p^」となる処理が見つかるはずです。
原因となる処理さえ見つけられればあとは何とかなったりならなかったり、、、
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイピングゲームを作成しています。
- 返信数: 9
- 閲覧数: 4344
Re: タイピングゲームを作成しています。
うーん、、、わからない^^;
とりあえず気になったところだけあげて行きます。
48行目
もしもvisualstudioで書いているなら、scanfを使うとscanf_sを使えと怒られてしまうので置き換えたほうがいいかも
50行目
putsにint型のiを渡していますが、putsには文字列を渡す必要があるのでitoa関数などで文字列型にしたほうがいい気がする。
50行目
putsとuserstrを比較しているが、putsの返り値は正の値かEOFなので期待している動作にはならなさそう。
warningの原因になりそうなのはこれぐらいしか見つけられませんでした^^;
とりあえず気になったところだけあげて行きます。
48行目
もしもvisualstudioで書いているなら、scanfを使うとscanf_sを使えと怒られてしまうので置き換えたほうがいいかも
50行目
putsにint型のiを渡していますが、putsには文字列を渡す必要があるのでitoa関数などで文字列型にしたほうがいい気がする。
50行目
putsとuserstrを比較しているが、putsの返り値は正の値かEOFなので期待している動作にはならなさそう。
warningの原因になりそうなのはこれぐらいしか見つけられませんでした^^;
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイピングゲームを作成しています。
- 返信数: 9
- 閲覧数: 4344
Re: タイピングゲームを作成しています。
提示しているコードは正しいですか?
コードのコメントにはtyping.cと書いてありますが、エラーログには課題4.cと書いてあります。
あとscanf_s関数も見当たりません。
もしかして違うファイルをコンパイルしようとしてたりして、、、?
コードのコメントにはtyping.cと書いてありますが、エラーログには課題4.cと書いてあります。
あとscanf_s関数も見当たりません。
もしかして違うファイルをコンパイルしようとしてたりして、、、?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
- 返信数: 1
- 閲覧数: 2316
Re: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
http://dlib.net/compile.html
このページをよく読んで下さい。
リンカエラーが出る場合は「dlib / all / source.cpp」をプロジェクトに追加しろ
と書いてあります。
というわけで自己解決してしまいました^p^;
英語でも嫌がらずにドキュメントを読めということですね^^;
このページをよく読んで下さい。
リンカエラーが出る場合は「dlib / all / source.cpp」をプロジェクトに追加しろ
と書いてあります。
というわけで自己解決してしまいました^p^;
英語でも嫌がらずにドキュメントを読めということですね^^;
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
- 返信数: 1
- 閲覧数: 2316
[c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
こんにちは アテンションプリーズ! こちらに機械学習ライブラリ「dlib」を扱ったことがある方はいませんか!? dlibでdnnをしようと思い、dnn.hをincludeしたところ 「外部シンボル "USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives" は未解決です。」 というエラーが出ました。 どこで何を定義すればこのエラーを解決できますか?(っていうか今まで見たことのない未解決シンボルなんですが、、、orz)...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 標準出力出来ず セグメントエラー
- 返信数: 4
- 閲覧数: 3279
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 関数にポインタを引数として渡すプログラムについて
- 返信数: 29
- 閲覧数: 10377
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型の最大値と最小値
- 返信数: 2
- 閲覧数: 1676
Re: int型の最大値と最小値
c言語であれば「limits.h」というヘッダをincludeすればINT_MINとINT_MAXというマクロがつかえた気がします。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ダブル型のインクリメント
- 返信数: 2
- 閲覧数: 1594
Re: ダブル型のインクリメント
http://dixq.net/forum/viewtopic.php?f=3&t=9447
検索かけたら出てきました^p^
検索かけたら出てきました^p^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: #pragma unroll
- 返信数: 5
- 閲覧数: 2799
Re: #pragma unroll
必ずやってくれる!と言い切れはしませんが、最近のコンパイラは頭がいいので多分やってくれるでしょう(適当)
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: #pragma unroll
- 返信数: 5
- 閲覧数: 2799
Re: #pragma unroll
https://www.xlsoft.com/jp/products/inte ... unroll.htm
上のページを読むとオプション設定がいるようなことが書いてあります。
設定はしていますか?
上のページを読むとオプション設定がいるようなことが書いてあります。
設定はしていますか?
オフトピック
errorじゃなくてwarningだし無視しちゃえばいいんじゃないだろうか^p^
警告レベル下げれば多分warning言われないと思うし、、、
警告レベル下げれば多分warning言われないと思うし、、、
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]コンソール入力バッファの破棄
- 返信数: 2
- 閲覧数: 2254
Re: [c++]コンソール入力バッファの破棄
調べてみたところReadConsoleのごみはFlushConsoleInputBufferで削除できないみたいですね。
低レベル版のReadConsoleInputを使ったところ(おそらく)うまく動きました。
sleepさんありがとうございました<(__)>
低レベル版のReadConsoleInputを使ったところ(おそらく)うまく動きました。
sleepさんありがとうございました<(__)>
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 16進数(数値から10進数(数値)変換
- 返信数: 4
- 閲覧数: 4860
Re: 16進数(数値から10進数(数値)変換
質問に質問するのもおかしいですが、
変数に10進や16進の数値って格納できるんですか?
内部的には2進の数値が入っていて、表示するときに10進にしているだけだと思っていたんですが、、、
変数に10進や16進の数値って格納できるんですか?
内部的には2進の数値が入っていて、表示するときに10進にしているだけだと思っていたんですが、、、
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: よくわかりません
- 返信数: 13
- 閲覧数: 6789
Re: よくわかりません
まずvoid型の関数を作ります。関数名はここではFuncとします。あとで自分の好きな名前にしてください。 void Func(void) {} つぎに引数をchar型にします。引数名をcとします。あとで自分の好きな名前にしてください。 void Func(char c) {} つぎに関数の中身を作っていきます。 ASCIIコードはご存知ですか?知ってても知らなくてもとりあえずググります。 ASCIIコードを眺めてると、なんとなく規則性が見えてくるような、、、そうでもないような、、、 多分関数の中身を考えることがキモだと思いますのでここは自分で考えてみてください^^ ヒント aのascii->9...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++言語の分数を扱うプログラム
- 返信数: 4
- 閲覧数: 3391
Re: C++言語の分数を扱うプログラム
かずまさん
まあもしかしたらstd::minを使おうと思ってなかったんじゃないですかね?
どこのソースかはわかりませんが、自作のminを使ってたのかもしれませんし。
minの定義ですがkeito94さんの言う通りクラス内でしてもいいと思います。
ただ、汎用性の高そうな関数なのであえてクラス内で定義する必要もないんじゃないかな、と思います。
まあ一番はかずまさんの言うstd::minが手っ取り早いと思いますけどね^^
まあもしかしたらstd::minを使おうと思ってなかったんじゃないですかね?
どこのソースかはわかりませんが、自作のminを使ってたのかもしれませんし。
minの定義ですがkeito94さんの言う通りクラス内でしてもいいと思います。
ただ、汎用性の高そうな関数なのであえてクラス内で定義する必要もないんじゃないかな、と思います。
まあ一番はかずまさんの言うstd::minが手っ取り早いと思いますけどね^^
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
おめでとうございます^^
しかしパックマンとはなかなか懐かしいですねw
将棋も頑張ってください^^
しかしパックマンとはなかなか懐かしいですねw
将棋も頑張ってください^^
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
main文のswitch文を関数ポインタで置き換えると多少管理が楽になるかもしれません。 int title(); int play(); int over(); int clear(); enum {TITLE,PLAY,OVER,CLEAR}; int status = TITLE; typedef int (* SCENE)() ; int main() { const SCENE scene[] = {title, play, over, clear } ; while(1) { status = scene[status](); } } このように、switch文を関数ポインタの配列...
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: c言語のポインタってなんなんだ?
- 返信数: 4
- 閲覧数: 8893
Re: c言語のポインタってなんなんだ?
関数ポインタの話題が出たのでちょっとお話します。 まず、ポインタとはパソコンの中のデータが保存されている場所の住所(アドレス)を表すものです。 ところで、関数というものは処理をひとまとめにしたものです。 しかし、関数も「処理をひとまとめにしたデータ」としてパソコンに保存されるのです。 つまりポインタにぶち込めちゃうのです。ポインタしゅごい。 関数ポインタは以下のように使います。 void Func(int a, double b) ; int main() { void (*func_p)(int, double) = Func ; //func_p というポインタ変数にFuncを代入 int...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]コンソール入力バッファの破棄
- 返信数: 2
- 閲覧数: 2254
[c++]コンソール入力バッファの破棄
こんにちは 最近Win32_APIをつかってコンソールゲームを作っています。(文字のみで画面が構成される) 今回はダブルバッファを用いようと思ったため標準入出力は使わず、 代わりに コンソール出力バッファ1 コンソール出力バッファ2 コンソール入力バッファ を作ろうと思いました。 ダブルバッファを使った文字出力、入力バッファに文字入力はできたのですが、 入力バッファに残ったごみを削除することができません。 (15文字入力、ReadConsole関数で10文字読み込む、次のReadConsole関数に5文字読み込まれてしまう) 調べてみたところ、 残っているごみの数を調べるにはGetNumber...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 微分係数を求めるプログラムを作っています
- 返信数: 7
- 閲覧数: 7324
Re: 微分係数を求めるプログラムを作っています
、、、完全に勘違いしていました^^;
てっきり微分を数値計算するためにpower関数を使え、ということかと思ったのですが
xの(n-1)乗を計算するために使えってことなんですね^^;
masuterさん、余計な話をして申し訳ないです<(__)>
てっきり微分を数値計算するためにpower関数を使え、ということかと思ったのですが
xの(n-1)乗を計算するために使えってことなんですね^^;
masuterさん、余計な話をして申し訳ないです<(__)>
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 微分係数を求めるプログラムを作っています
- 返信数: 7
- 閲覧数: 7324
Re: 微分係数を求めるプログラムを作っています
数学の話に寄っていきます。
数学は苦手ですのでご了承ください^^;
今回は微分がわかっているので手打ちで計算すればいい気もしますが、
微分がわからない関数を微分する必要が出てくることがあります。
そういうときに導関数の公式を使います。
公式
(f(x+h)-f(x))/h (lim h->0)
プログラムでもこの公式を使うことで微分ができます。
(hは適当に小さい値にする)
数学は苦手ですのでご了承ください^^;
今回は微分がわかっているので手打ちで計算すればいい気もしますが、
微分がわからない関数を微分する必要が出てくることがあります。
そういうときに導関数の公式を使います。
公式
(f(x+h)-f(x))/h (lim h->0)
プログラムでもこの公式を使うことで微分ができます。
(hは適当に小さい値にする)
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
よかったです^^
自分のコードを不細工と思えるのは素晴らしいことです。
きれいだと思えるコードが書けるようお互い頑張りましょうw
自分のコードを不細工と思えるのは素晴らしいことです。
きれいだと思えるコードが書けるようお互い頑張りましょうw
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラー解消されません、、、
- 返信数: 7
- 閲覧数: 6876
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラー解消されません、、、
- 返信数: 7
- 閲覧数: 6876
Re: エラー解消されません、、、
横から失礼します。
tenngaさんはscanfで「%f」を使っていますが、boxさんは「%lf」を使っています。
変数がdouble型なら%lfにしないとちゃんと読み込んでくれないんじゃないでしょうか?
tenngaさんはscanfで「%f」を使っていますが、boxさんは「%lf」を使っています。
変数がdouble型なら%lfにしないとちゃんと読み込んでくれないんじゃないでしょうか?
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
なるほど、なんとなくわかりました^^ おそらくmapをグローバルかstaticな変数にしてるんだと思います。 int map[2][2]={1,0},{1,1}; void play() { //map[2][2]={0,0,}{0,1}に変更 } void main() { play();//この時点でmap[2][2]={1,0},{1,1}; play();//この時点でmap[2][2]={0,0},{0,1}; } おそらくこういうことですよね? 対策を2つほど思いつきました。 まず1つはmapをローカル変数(play関数の中だけの変数)にすること。 こうするとplay関数が呼び出さ...
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
うーむ、、、日本語力が低いので何がしたいのかいまいちわかりません^^;
マップをリセットって何だろう、、?
マップをリセットって何だろう、、?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2017]クラスウィザードの使い方
- 返信数: 4
- 閲覧数: 3791
Re: [VS2017]クラスウィザードの使い方
しょ、しょんな、、、orz
じゃあこれからも仮想関数を手動でオーバーライドする日々がつづくのですね^p^
今回の質問はこれで解決としますが、仮想関数をオーバーライドした継承クラスを作ってくれる機能などありましたらぜひお教えください<(__)>
じゃあこれからも仮想関数を手動でオーバーライドする日々がつづくのですね^p^
今回の質問はこれで解決としますが、仮想関数をオーバーライドした継承クラスを作ってくれる機能などありましたらぜひお教えください<(__)>
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 初心者質問場
- 返信数: 32
- 閲覧数: 27942
Re: 初心者質問場
よくできていると思います^^
言語はcですか?c++ですか??
cなら関数ポインタ、c++ならクラスを使うともっと汎用性が高くなるとおもいます。
言語はcですか?c++ですか??
cなら関数ポインタ、c++ならクラスを使うともっと汎用性が高くなるとおもいます。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: c言語プログラムについて
- 返信数: 3
- 閲覧数: 3314
Re: c言語プログラムについて
オフトピック
無駄な配列も使ってないし、変数名もわかりやすいし、コードもスッキリしたし、素晴らしい。
あとはそれをプログラムに直すだけです^^
ちなみに私なら、それぞれの点数帯の人数を数えて、人数分だけ米を書きます。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: プログラム問題
- 返信数: 2
- 閲覧数: 1677
Re: プログラム問題
こんにちは ソースが非常に見づらいです^^; ソースを載せるときはcodeタグを使うと見やすくなります。(っていうか使うルールです。) bが最高点を取った人ナンバー、dが最低点を取った人のナンバーでいいですかね? とりあえずその仮定で話をすすめます。 ・最低点のナンバー minを更新するif文の中でdを更新すればいいと思います。 a というのは「i番目の点数」ということでいいでしょうか? だとしたらdは何番目に設定すればいいでしょうか? 最高点のナンバーも同じですね。 cは使わずに済みそうです。 変数をabcde、、、とするのはあまり感心しません。 わかりやすい名前をつけることをおすすめします...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ コンストラクタ?
- 返信数: 12
- 閲覧数: 5261
Re: C++ コンストラクタ?
constを使いたくないのはよくわかりました。
constを使わずにsub関数を作りたいというのもよくわかりました。
では、constについてググってもらいたいというのはわかってもらえたでしょうか?
constが何を意味するのか分かってもらえたでしょうか?
constを使わずにsub関数を作りたいというのもよくわかりました。
では、constについてググってもらいたいというのはわかってもらえたでしょうか?
constが何を意味するのか分かってもらえたでしょうか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: RPGとSTGを1つのゲームにしたい
- 返信数: 1
- 閲覧数: 1262
Re: RPGとSTGを1つのゲームにしたい
rpg作る
stg作る
rpgからstgを呼び出す
とりあえずrpgが完成してから考えるというのはどうでしょう?
stg作る
rpgからstgを呼び出す
とりあえずrpgが完成してから考えるというのはどうでしょう?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ コンストラクタ?
- 返信数: 12
- 閲覧数: 5261
Re: C++ コンストラクタ?
まずはググる。グーグル先生は偉大。 グーグル先生が偉大すぎてわからなかった場合は質問する。 「先生は~~っていってるんですけど何を言っているのかよくわかりません。」 質問内容を具体的に書くと答える側も答えやすいです。 かといって「~~するプログラムを教えてください」って言われると、 「すげー全部教えてあげたい!でも、本人のためにならないしな、、、」ってなって答えづらいです。 質問内容をなるべくコンパクトにまとめるといいと思います。 あと、今回ググってほしいのはconst修飾子についてです。 const修飾子についてググって、それでもどうしたらいいかわからなかったらもう一度ここに来てみてください...
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: c言語のポインタってなんなんだ?
- 返信数: 4
- 閲覧数: 8893
Re: c言語のポインタってなんなんだ?
とりあえずポインタ便利じゃんと思う場面 関数の出力を増やすことができる。 これじゃないですかね? void Func(int *func_a, double *func_b, char *func_c) { *func_a = 1 ; *func_b = 2.0 ; *func_c = '3' ; } int main() { int main_a ; double main_b ; char main_c ; Func(&a, &b, &c ) ; printf("a=%d b=%lf c=%c\n" ,main_a, main_b, main_c ) ; } 普通は1個しか値を返せない関数...
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: c言語のポインタってなんなんだ?
- 返信数: 4
- 閲覧数: 8893
c言語のポインタってなんなんだ?
c言語のポインタの話をしませんか?
おそらくc言語最強の敵ですよね^^;
しかもよっぽどc言語に慣れてこないと便利さも対して感じないし、、、。
ポインタをしっかり理解している人はきっと少ないはず!
トピ主の私が全然理解できていない!
ということでc言語のポインタに関する話をどんどんしていきましょー。
、、、できれば、わかりやすいようにかみ砕いてお話しましょー^^;
おそらくc言語最強の敵ですよね^^;
しかもよっぽどc言語に慣れてこないと便利さも対して感じないし、、、。
ポインタをしっかり理解している人はきっと少ないはず!
トピ主の私が全然理解できていない!
ということでc言語のポインタに関する話をどんどんしていきましょー。
、、、できれば、わかりやすいようにかみ砕いてお話しましょー^^;
- 7年前
- フォーラム: 1から勉強してみないか?
- トピック: 自己紹介をしてみないか?
- 返信数: 14
- 閲覧数: 17635
Re: 自己紹介をしてみないか?
こんばんは、purin52002です。
c、c++と勉強してきました。
cが3年ぐらいですかね?それからはずっとc++です。(テンプレートクラススマポオーバーライド^p^)
ここに登録したのは割と最近ですが、ROMでちょくちょく見てました。
よろしくお願いします<(__)>
c、c++と勉強してきました。
cが3年ぐらいですかね?それからはずっとc++です。(テンプレートクラススマポオーバーライド^p^)
ここに登録したのは割と最近ですが、ROMでちょくちょく見てました。
よろしくお願いします<(__)>
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ コンストラクタ?
- 返信数: 12
- 閲覧数: 5261
Re: C++ コンストラクタ?
ちょっとでいいからググってくれ~w
そしてt[]とかstaticのことも考えてみてください。
きっと役に立ちますよ^^
そしてt[]とかstaticのことも考えてみてください。
きっと役に立ちますよ^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ コンストラクタ?
- 返信数: 12
- 閲覧数: 5261
Re: C++ コンストラクタ?
おそらくコンストラクタは使わないような気がします。(わたしなら使いません) 単純に日付を引けばいいんじゃないでしょうか? 返り値がint型、引数がDateクラスの関数subをDateの中に作りましょう。 あとはその関数の中で日付の差分をとればよさそうです。 アルゴリズムっていうか計算方法はめんどくさそうだから書きません^p^ 10進数じゃないだけで引き算には変わりないはずなんできっとできるはず、、、 前スレ(?)の質問が解決になっててよかったです^^ 解決した場合は具体的にどのようにして解決したかを書くといいですよ。 教えた側もどのように解決したか気になりますし、 他の人が似たような問題で困っ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2017]クラスウィザードの使い方
- 返信数: 4
- 閲覧数: 3791
[VS2017]クラスウィザードの使い方
こんにちは
今回はvs2017の機能について質問があります。
私は全然vs2017を使いこなせていないのですが、先日クラスウィザードという機能を発見しました。
メンバー変数などを表示してくれるし便利だなー、と思ったのですが、「仮想関数」タブになにも表示されません。
基底クラスの仮想関数も継承クラスのオーバーライドした関数も表示されません。
どうすれば表示されるのでしょうか?もしかしてc++だと表示されないのでしょうか?
最終的には基底クラスの仮想関数をオーバーライドした継承クラスとかをウィザードに作ってもらいたいのですが高望みしすぎでしょうか?
今回はvs2017の機能について質問があります。
私は全然vs2017を使いこなせていないのですが、先日クラスウィザードという機能を発見しました。
メンバー変数などを表示してくれるし便利だなー、と思ったのですが、「仮想関数」タブになにも表示されません。
基底クラスの仮想関数も継承クラスのオーバーライドした関数も表示されません。
どうすれば表示されるのでしょうか?もしかしてc++だと表示されないのでしょうか?
最終的には基底クラスの仮想関数をオーバーライドした継承クラスとかをウィザードに作ってもらいたいのですが高望みしすぎでしょうか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::make_uniqueを関数の引数に
- 返信数: 4
- 閲覧数: 3374
Re: [c++]std::make_uniqueを関数の引数に
お騒がせして申し訳ありません<(__)>
オーバーロードでおそらく解決しました^^;
オーバーロードでおそらく解決しました^^;
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::make_uniqueを関数の引数に
- 返信数: 4
- 閲覧数: 3374
Re: [c++]std::make_uniqueを関数の引数に
すみません、提示コードが間違いです^^;
本当は右辺値ではなく左辺値を受け取る関数です。
私の理解だと、左辺値は実体が作られたもの、右辺値は関数の返り値など直前に作られたものだと思っています。
私が今作っている関数ではどちらの場合でもエラーが出ないようにしたいと思っています。
、、、ここまで書いて気づいてしまったのですが、左辺値を引数にする関数と右辺値を引数にする関数を作ってオーバーロードすれば解決ですかね?
本当は右辺値ではなく左辺値を受け取る関数です。
私の理解だと、左辺値は実体が作られたもの、右辺値は関数の返り値など直前に作られたものだと思っています。
私が今作っている関数ではどちらの場合でもエラーが出ないようにしたいと思っています。
、、、ここまで書いて気づいてしまったのですが、左辺値を引数にする関数と右辺値を引数にする関数を作ってオーバーロードすれば解決ですかね?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のコンストラクタについて...
- 返信数: 5
- 閲覧数: 2289
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 全てのキーの入力状態を取得する
- 返信数: 2
- 閲覧数: 1854
Re: 全てのキーの入力状態を取得する
その解釈でいいと思います。引き続きがんばってください^^
オフトピック
正確にはループするごとにScreenFlip()、ProcessMessage()、 ClearDrawScreen()、 gpUpdateKey()の順に呼び出しています。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::make_uniqueを関数の引数に
- 返信数: 4
- 閲覧数: 3374
[c++]std::make_uniqueを関数の引数に
こんばんは 最近はue4をいじっていましたが、ようやくc++のコードを書けそうです。 今回の質問ですが、以下のコードをご覧ください。 class Super ; class Sub : public Super ; void Func(std::unique_ptr<Super>&& x) ; //Superクラスのポインタを引数にとる関数 int main() { //error //引数の型が合わないと怒られる(unique_ptr<Sub>が作られるから?) Func(std::make_unique<Sub>() ) ; } 上のコードのように、make_uniqueを関数の引数に渡し...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 継承されていないクラスのコンストラクターの呼び出し方(初学者)
- 返信数: 7
- 閲覧数: 4537
Re: 継承されていないクラスのコンストラクターの呼び出し方(初学者)
こんばんは、今日の晩御飯は焼きそばです。 今回keitoさんがやっているのは 「今日はパンがたべたいな」「じゃあ焼きそばにするね^^」 のようなことです。 ごめんなさい、焼きそばがうれしくて調子に乗りました^^; class A;//中身は省略 class B; class C : public A; class MyClass { public: A* a; A* b; A* c; }; int main() { MyClass obj; obj->a=new A();//ok obj->b=new B();//error obj->c=new C();//ok! } 簡単に説明すると、 ポ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 早急にお願いします。
- 返信数: 11
- 閲覧数: 7060
Re: 早急にお願いします。
1、[1マイル=1.61km]から[xマイル=??]の方程式を立てます。
2、マイルを引数(double型がいいかな?)、kmを返り値(これもdouble型がいいかな?)の関数を作ります。
3、main文で関数を呼び出して、結果を出力します。
こんなかんじでどうですか?
2、マイルを引数(double型がいいかな?)、kmを返り値(これもdouble型がいいかな?)の関数を作ります。
3、main文で関数を呼び出して、結果を出力します。
こんなかんじでどうですか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 例外がスローされました:GameがNullPtrでした。を解消するにはどうすればいいですか?
- 返信数: 5
- 閲覧数: 9894
Re: 例外がスローされました:GameがNullPtrでした。を解消するにはどうすればいいですか?
あまりファイル間での変数のやり取りをしたことがないので頓珍漢なことを言うかもしれませんが、
Stage.cppにGameというポインタはあるのでしょうか?
もしもMain.cppのGameを使いたいのならexternとか何とかを使ったような、、、
Stage.cppにGameというポインタはあるのでしょうか?
もしもMain.cppのGameを使いたいのならexternとか何とかを使ったような、、、
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数のオーバーライドがされていない。(初学者)
- 返信数: 10
- 閲覧数: 5294
Re: 関数のオーバーライドがされていない。(初学者)
クラスはややこしいですが、使えるようになると非常に強力な武器になるはずです。
ふぁいと^p^
ふぁいと^p^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数のオーバーライドがされていない。(初学者)
- 返信数: 10
- 閲覧数: 5294
Re: 関数のオーバーライドがされていない。(初学者)
継承をちゃんと理解されてないのかもしれません。 #include<iostream> using namespace std; class Super { public: virtual void func() { cout << "super" << endl ; } }; class Sub : public Super { public: void func(){ cout << "sub" << endl ; } }; int main() { Super* super = new Super();//Superクラスを作る Super* sub = new Sub();//Subクラ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数のオーバーライドがされていない。(初学者)
- 返信数: 10
- 閲覧数: 5294
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語についての質問です。
- 返信数: 3
- 閲覧数: 2732
Re: C言語についての質問です。
フォーラムルールを読むと、
「同じ質問をほかの掲示板でしてはいけない」
らしいですよ^^;(相互リンクを張ればセーフ)
okwaveのほうで回答はもらえたようですし、解説はいらないですか?
「同じ質問をほかの掲示板でしてはいけない」
らしいですよ^^;(相互リンクを張ればセーフ)
okwaveのほうで回答はもらえたようですし、解説はいらないですか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーの原因
- 返信数: 31
- 閲覧数: 17335
Re: エラーの原因
使えないなら使えるようになりましょう^^ きっと今後役に立ちます。 「this」というのはクラスのポインタを示します。(自分自身のポインタみたいな感じ?) 構造体のメンバ(構造体の中の変数)にアクセスするときは「hoge.x」のようになります。 構造体のポインタがメンバにアクセスするときはアロー演算子というものを使います。hoge->x thisもポインタなので、this->xのように書くとxにアクセスすることができます。 わかりやすく説明するのが難しいので、「c++ this」で検索して自分でも調べてみてください。 また、c++の勉強をするなら「ロベールのc++教室」や「猫でもわかるプログラ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーの原因
- 返信数: 31
- 閲覧数: 17335
Re: エラーの原因
横から失礼します。 コードはかずまさんのヒントをもとにすれば完成すると思います。 質問です。 ヒントのプログラムをコンパイルして実行してみましたか? ヒントのプログラムを理解しましたか? ヒントのプログラムは、メンバ変数や引数の個数が Dateクラスとは異なるので無視したんですか? 「set は、引数の値をメンバ変数に設定する。get は、メンバ変数の値を引数にコピーする」ということを今は理解しましたか? 質問はすべてはいです。 ヒントのプログラムは理解できているということなので、 あとはメンバ変数を変えたりなんだりで済むと思います。 もしもヒントのプログラムでわからない部分があるとしたら 箇...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: lcc 32 windows program " vocabulary memory"
- 返信数: 1
- 閲覧数: 1437
Re: lcc 32 windows program " vocabulary memory"
こんにちは
動画見ました。
上から
神経衰弱
よくわからない
同じ単語を打てば正解?
という認識で、mohamb02さんのやりたいことがよくわかりませんでした。
もしも、英語を和訳するゲームを作りたいなら、
英語とその日本語をペアにして保持しておき、入力された文字と日本語を比較すればいいのではないかなと思います。
動画見ました。
上から
神経衰弱
よくわからない
同じ単語を打てば正解?
という認識で、mohamb02さんのやりたいことがよくわかりませんでした。
もしも、英語を和訳するゲームを作りたいなら、
英語とその日本語をペアにして保持しておき、入力された文字と日本語を比較すればいいのではないかなと思います。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーの原因
- 返信数: 31
- 閲覧数: 17335
Re: エラーの原因
>実行しても、存在しない日付でもそのまま設定され、 ということはif文の判定式がおかしいはずです。 論理演算が苦手なら数直線なんかを書いて図にしてみるとわかりやすいかもしれません。 >どんな日付でも翌日にならず、そのまま出力されてしまうのですが.... get関数でDateクラスが保持している年月日を取得すると思われます。 get関数が実装されていないから正しい値が出ません。 google先生を頼りにget関数を実装してみましょう。 >set関数にセットする機能が無い。 Dateクラスのメンバ変数はわかりますか? set関数では正しい年月日が入力された際にメンバ変数に年月日を代入すればいいと思...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーの原因
- 返信数: 31
- 閲覧数: 17335
Re: エラーの原因
お疲れ様です。 エラーらしいエラーはなくなったと思われます^^ 細かいところをいくつか、、、 //後半の式も()でくくったほうがいい //else if文だとくくっているのでくくり忘れ? if ((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12 )&& 1 <= dd || dd<= 31) //たぶん式が適切ではない //mm=2の場合必ずif文の中に入る else if (mm == 2 || 1 <= dd ||dd <= 28) あとこれは個人的な意見なのですが、set関数の返り値が...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーの原因
- 返信数: 31
- 閲覧数: 17335
Re: エラーの原因
修正するとコードが完成に近づきます。
修正してみるといいですよ。
れっつとらい!
修正してみるといいですよ。
れっつとらい!
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 日付を表すクラス(C++)
- 返信数: 3
- 閲覧数: 2534
Re: 日付を表すクラス(C++)
こんばんは set,get,nextの中身ですが ご自身で説明された通りのプログラムを書けばいいのではないでしょうか、、、? int set(int year,int month,int day); 年月日を設定する関数 不正な日時の場合は設定せず、1を返す 正しく設定された場合は、0を返す 私ならif文を使うかな?(if文を使わないスマートな方法もあります) void get( ) 設定されている年月日を取得する関数 引数はmain関数から察する 察せませんでした、、、 参照型の引数ですかね? とりあえず年月日を代入する、、、? void next() 日付を次の日にする 次の日にしましょう...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語の電卓プログラムについて
- 返信数: 2
- 閲覧数: 3346
Re: C言語の電卓プログラムについて
main文の返り値がない気がします。
int main(){...}じゃないでしょうか?
int main(){...}じゃないでしょうか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [再]文字を逆に
- 返信数: 6
- 閲覧数: 3207
Re: [再]文字を逆に
stack使えばあまり形が崩れないかも、、、? #include<stack> using namespace std; int main() { int a,b; stack<int> st;//new! cout << "10進数\n"; cin >> a; while (a >= 1) { b = a % 2; a = a - b; a = a / 2; //cout << b; st.push(b);//new! } //new! while(!st.empty()) { cout<<st.top(); st.pop(); } }
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 当たりゲーム 改良
- 返信数: 1
- 閲覧数: 1513
Re: 当たりゲーム 改良
こんにちは
cx,cy,ex,ey,point,iがhit内で定義されていないからじゃないでしょうか?
hit関数に引数として渡すか、グローバル変数にするかで解決できると思います。
(グローバル変数は個人的に好きじゃないので、引数で渡すことをお勧めしますw)
cx,cy,ex,ey,point,iがhit内で定義されていないからじゃないでしょうか?
hit関数に引数として渡すか、グローバル変数にするかで解決できると思います。
(グローバル変数は個人的に好きじゃないので、引数で渡すことをお勧めしますw)
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::unique_ptrをコピーしたい
- 返信数: 9
- 閲覧数: 7852
Re: [c++]std::unique_ptrをコピーしたい
sleepさん 日本語が下手で申し訳ないです^p^ 年々コミュ障レベルが上がるのか会話が下手に、、、 それは置いといて、 テンプレートが出てくるとは思いませんでした。 私が未熟故、正直なんでこれで動くのかがわからないのですが(コンストラクタの中身をおいきれない、、、) ちゃんと動くらしいし、実行結果まで表示していただいて感謝感謝です。 コードの内容は理解できていませんが、私の求めていた解決策っぽいですし、あとは私がこのレベルまで上り詰めればいいわけですね^p^ 、、、どれだけかかるかはわかりませんが^^; というわけで解決にしたいと思います。 皆さんありがとうございました<(_ _)> saf...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::unique_ptrをコピーしたい
- 返信数: 9
- 閲覧数: 7852
Re: [c++]std::unique_ptrをコピーしたい
zeekさん その発想はありませんでした。 decltypeを使って何とかできないかな、と試行錯誤したことはあったんですが(結果失敗^^;) 全派生クラスを直書きするという発想はありませんでした。 ただ、やはり汎用性というか、後から派生クラスを追加することも考えて出来れば直書きしない方法があればなー、と高望みしたりしなかったり、、、^^; YuOさん swapの特殊化とは、、、俺に考え付かないことを平然と思いつくッ! しかし、そうですか、、、swapを使わないこともあるのですか、んー、、、 shared_ptrを使うことも検討したのですが、 コピー(swapの副産物として)がしたい でも、複数...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::unique_ptrをコピーしたい
- 返信数: 9
- 閲覧数: 7852
Re: [c++]std::unique_ptrをコピーしたい
zeekさん 最終的にはコンテナにクラスを格納して、stlの関数を使いたいと思っています。 その際にコピーコンストラクタやoperator=が呼ばれるようです。(だからpublicで定義したい 実は躓いていたところは自己解決できてしまったのですが、引き続き回答をお待ちしております。 躓いていたこと:Pimplイディオムを持つクラスのstd::reverse struct MyClass { struct Impl; std::unique_ptr<Impl> pimpl; MyClass(); }; struct Super; struct SubA : public Super; struc...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 入れ子になったvectorのファイル出力について
- 返信数: 4
- 閲覧数: 2919
Re: 入れ子になったvectorのファイル出力について
#include<vector> #include<string> #include<algorithm> #include<fstream> #include<iterator> #include<string> using namespace std; int main() { string vector<vector<string>> data_list; string file_name; string delim{","}; ofstream ofs(file_name); if (!ofs) { return -1; } auto func = [&](const vector<...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: たまに曜日が表示されないときがあります。
- 返信数: 8
- 閲覧数: 4536
Re: たまに曜日が表示されないときがあります。
こんばんは コード拝見しました。 まず曜日が表示されない不具合についてですが、131~137行目の前日の曜日を表示するところに問題があると思います。 if(d>0){ i=i-2; printf("前の日は西暦%d年%d月%d日%sです。\n",d,e,f,h[i]); }else{ i=i-2; printf("前の日は紀元前%d年%d月%d日%sです。\n",-d,e,f,h[i]); } i=i-2とするとiが0未満になる恐れがあります。 するとh が変なところを見てしまうので表示がされないのかな、と思います。 次にコードに関してですが、 まず変数名をabcdefghiから変えたほうがい...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]std::unique_ptrをコピーしたい
- 返信数: 9
- 閲覧数: 7852
[c++]std::unique_ptrをコピーしたい
こんにちは、今回はunique_ptrについて質問があります。 struct Base;//純粋仮想クラス struct A : public Base; struct B : public Base; struct MyClass { std::unique_ptr<Base> p; MyClass(const MyClass &obj)//?? { this->p = std::move(obj.p);//constついてるから無理 this->p=make_unique//objのpがAかBかわからない *this->p=*obj.p;//new してないから値が入らない? } } 上の...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
- 返信数: 2
- 閲覧数: 1826
Re: [c++]ライブラリファイル内の未解決外部シンボルについて
かずまさん 返信ありがとうございます。 未解決はやっぱり未定義なんですね^^; 自分でいろいろ検証したところ、自己解決してしまいました。(申し訳ないです。 問題はコードではなくリンカのほうにあったようです。 私はvisualstudio2015で開発をしています。 ライブラリファイルを2つ(A,Bとします)利用するためにライブラリがあるディレクトリのパスをプロパティで設定しました。 どうやらこのディレクトリの中にゴミが混ざっていたようで、 Adir->A Bdir->B,A(!?) のようにBのディレクトリにAのライブラリが混ざっていたのです。 で、Bディレクトリの中にあるAが読み込まれて変な...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
- 返信数: 2
- 閲覧数: 1826
[c++]ライブラリファイル内の未解決外部シンボルについて
こんばんは、今回は大嫌いな未解決外部シンボルについて質問があります。 staticなメンバ変数を持つクラス 1を継承したクラス 上の二つのようなクラスをライブラリ化しました。 これらは二つともビルドできたのですが、 これら二つを利用してプログラムを書くと"メンバ変数は未解決です"というエラーが出ます。 片方だけを利用するとビルドできるので、おそらくstaticメンバ変数が二重定義されている(同じソースファイルが二度読まれている)んじゃないかなとアタリをつけています。 、、、つけてるだけで確信はないのですが^^; というわけで、今回の質問です。 ソースファイル(というよりオブジェクトファイル?)...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5181
Re: [C++]vector<unique_ptr<T>>の初期化
zeekさん ありがとうございます。おかげでうまくいきました。 生の配列なんて久しく使っていなかったのですが、配列のことちょっとなめてましたね、、、 inemaruさん 初期化リストを使えと聞いて真っ先に思い浮かんだのがinitializer_listでした。 それからinitializer_listで実装してみたところ「A型とB型の初期化子ってなんやねん」と怒られ、「Base型のリストだよ」と明示していました。 とても醜かったのでまたこちらで質問するかどうかで悩んでいたところにinemaruさんの追記でした^^ 可変引数に右辺値参照にforwardに、、、 実際に使うのはどれも初めてでした^...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5181
Re: [C++]vector<unique_ptr<T>>の初期化
inemaruさん
素晴らしいアイデアをありがとうございます。
目から鱗でした。
早速使わせていただきたいと思います。
emplace_backについてなのですが、
私の認識ではコピーしないpush_backのイメージでした。
unique_ptrはコピーができない(moveされる)のでpush_backでもいいのかな、と思っていたのですが
やはりemplace_backのほうが効率がいいのでしょうか?
(名前が複雑という理由だけで使わず嫌いを起こしています^^;)
素晴らしいアイデアをありがとうございます。
目から鱗でした。
早速使わせていただきたいと思います。
emplace_backについてなのですが、
私の認識ではコピーしないpush_backのイメージでした。
unique_ptrはコピーができない(moveされる)のでpush_backでもいいのかな、と思っていたのですが
やはりemplace_backのほうが効率がいいのでしょうか?
(名前が複雑という理由だけで使わず嫌いを起こしています^^;)
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5181
[C++]vector<unique_ptr<T>>の初期化
こんにちは スマポを知ってから生ポwwwぬるぽwwwな者です。 今回はboostではなくc++標準のunique_ptrについて質問があります。 class Base;//定義は省略 class A : public Base;//同上 class B : public Base; //同上 int main() { vector<unique_ptr<Base> > p_vec { make_unique<A>(), make_unique<B>() } ;//error p_vec.push_back(make_unique<A>() );//こっちはセーフ } 上のようなコードで、vec...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ネット接続
- 返信数: 3
- 閲覧数: 2284
Re: ネット接続
「visual c++ でネットに接続」でぐぐったら参考になりそうなサイトが何件か出てきました。
まずはそちらのサイトで勉強してみた方が多分いいですよ^^
まずはそちらのサイトで勉強してみた方が多分いいですよ^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルが作れない
- 返信数: 8
- 閲覧数: 4998
Re: ファイルが作れない
コンソール<->windowsアプリは
プロジェクト->プロパティ
左上の構成をすべての構成にして
リンカー->システム->サブシステムをいじれば変えられた、、、はずです(たしか
サブシステムがwindowsになっていたらコンソールにしてみてください
プロジェクト->プロパティ
左上の構成をすべての構成にして
リンカー->システム->サブシステムをいじれば変えられた、、、はずです(たしか
サブシステムがwindowsになっていたらコンソールにしてみてください
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 基底クラスの必要性について
- 返信数: 6
- 閲覧数: 4029
Re: 基底クラスの必要性について
基底クラスってなんやねん。 そう思っていた時期が僕にもありました。 基底クラスってとても便利なんです。 inemaruさんもおっしゃる通り配列にまとめることができるんです。 このようなクラスがあったときに class Base { public: virtual void func(){ cout << "base" << endl; } }; class A:public Base { public: void func(){ cout << "A" << endl; } }; class B:public Base { public: void func(){ cout << "B" <<...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10683
Re: [VS2015]vectorのウォッチ
返信が遅れてしまい申し訳ありません。
たくさんの回答ありがとうございました。
せっかくたくさんの意見を出してもらっておいて申し訳ないのですが、修復をかけたら直りました-_-;
もし今度また同じような現象が起こったら、今回出た回答を参考にしたいと思います^^
たくさんの回答ありがとうございました。
せっかくたくさんの意見を出してもらっておいて申し訳ないのですが、修復をかけたら直りました-_-;
もし今度また同じような現象が起こったら、今回出た回答を参考にしたいと思います^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10683
Re: [VS2015]vectorのウォッチ
沖さん
レジストリをいじるのはちょっと怖いですね、、、
みえさん
3番目以外の方法を試してみたのですがだめでした。
今日の夕方ごろに修復、再インストールをしてみようと思います。
夕方までに回答、もしくは修復後もウォッチできないかもしれないのでもう少し未解決のままにしておこうと思います<(_ _)>
レジストリをいじるのはちょっと怖いですね、、、
みえさん
3番目以外の方法を試してみたのですがだめでした。
今日の夕方ごろに修復、再インストールをしてみようと思います。
夕方までに回答、もしくは修復後もウォッチできないかもしれないのでもう少し未解決のままにしておこうと思います<(_ _)>