επιστημη(@episteme) の回答履歴
![](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_6.gif)
- C言語を始めて5日目なのですがプログラムを見るとどれがどういう風に動い
C言語を始めて5日目なのですがプログラムを見るとどれがどういう風に動いてるのかわかるのですが 自分でプログラムを組むとなると何も出来ません。 自分でプログラムを組むにはどういうやり方をすれば自分でプログラムを書けるようになるんでしょうか? 経験者の皆様ご協力お願いします。 ちなみに使っているソフトは「Borland5.5」です。
- クラスのインスタンス名をクラス内で取得できますか?
クラスのインスタンス名をクラス内で取得できますか? 今VC++6.0を使っています。例として下記のクラスのコンストラクタで CTest::CTest() { TRACE("%s",typeid(this).name()); } としておいて、 別なクラスで CTest testInst; を生成すると デバッグエリアに 「class CTest *」 と表示することはできました。 これが出来るのなら、インスタンス名 testInst をCTestクラスの内部から 取得することは出来ないのかと思ったのですが、 取得することは可能なのでしょうか?
- vbからc++へコードを変換するサイトはありますか?
vbからc++へコードを変換するサイトはありますか? 前にvbからc#への変換サイトは見た気がします。 ご存知の方教えてください。よろしくお願いします。
- VC++2010 EE で #ifdef _MSC_VER #endi
VC++2010 EE で #ifdef _MSC_VER #endif でエラー ソース始まり // _msc_ver.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #ifdef _MSC_VER #include "stdafx.h" #endif int _tmain(int argc, _TCHAR* argv[]) { return 0; } ソース終わり > fatal error C1020: 予期しない #endif です。 と出ます。なぜでしょうか?
- CとC++は別物なんですか?
CとC++は別物なんですか? C++をマスターしたところで 「C言語をマスターした」とは言えないのでしょうか? 「C++言語をマスターした」と言うことになるのですか?
- LSI-C試食版がWindows vista上で使えないので、このカテ
LSI-C試食版がWindows vista上で使えないので、このカテゴリで調べてVisual C++ 2010 Expressをダウンロードしてインストールしましたが、使い方がさっぱり分かりません。プロジェクトとか、意味のわからない単語ばかりです。LSI-Cでは、テキストエディタ(TeraPad)でソースプログラムを作り、コマンドプロンプト画面で、"lcc xxxxxx.c"でコンパイルして、それを実行して動作を確認する、という使い方をしていて、そのコンパイルの部分だけVisual C++ 2010 Expressを使いたいのですが、そのような使い方ができるような手順が、どこかのサイトに載っていないでしょうか。もしくは、手順をご存じの方、言葉でここでご回答していただけないでしょうか。よろしくお願いします。
- デザインからのプロパティからではなく、コードから直接変更しても問題ない
デザインからのプロパティからではなく、コードから直接変更しても問題ないのでしょうか? C言語初心者です。 C++のForm.hを見ると #pragma region Windows Form Designer generated code /// <summary> /// デザイナー サポートに必要なメソッドです。このメソッドの内容を /// コード エディターで変更しないでください。 /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(127, 31); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"button1aaa"; と書いてありますが this->button1->Text = L"button1あああ"; と直接変更しても問題なく動作しました。 こういう部分は、 デザインからのプロパティからではなくコードから直接変更しても問題ないのでしょうか?
- C言語でまったくわからないところがあります。
C言語でまったくわからないところがあります。 配列を格納して、その中の最小値をA[9]と入れ替える動作がしたいのですが、 #include<stdio.h> int main(void) { double A[10],min,tmp; int i; for(i=0;i<=9;i++) { printf("A[%d]=",i); scanf("%lf",&A[i]); } printf("\n"); min=A[0]; for(i=0;i<=9;i++) { if(A[i]<min) { min=A[i]; } } tmp=A[i]; A[i]=A[9]; A[9]=tmp; for(i=0;i<=9;i++) { printf("A[%d]=%.0lf\n",i,A[i]); } return 0; } これを実行すると、A[9]=最小値にはなるのですが、A[i]はそのまま入れ替わらないのです。 誰か、どのように直せばよいか、教えていただけないでしょうか。よろしくお願いします。
- C言語初心者です。
C言語初心者です。 1^2-2^2+3^3-4^2…+99^2-100^2の値を求めるプログラムを作成したいのですが上手くいきません。 どこが足りないのですか? #include <stdio.h> int main(void) { printf("%d", 1^2 - 2^2 + 3^2 - 4^2 … + 99^2 - 100^2); return (0); } よろしくお願いします。
- ベストアンサー
- C・C++・C#
- shorinji36
- 回答数5
- VC++2008Expressでwin32appとwinsockの勉強
VC++2008Expressでwin32appとwinsockの勉強の為にネットワークゲームを作ろうと思ってます。 winsockについて色々調べているうちに、疑問がわいたので質問します。 実現したいのは、サーバーとクライアントが1:Nのネットワークゲームです。 プレイヤーはサーバーに接続し、部屋に入ります。 誰かが初めて部屋に入ったら、サーバー側で部屋を用意します。(複数の部屋が立つこともあります) サーバー側で用意された部屋は、タイマーのイベントで部屋の状況データが変ります。 また、部屋にいるプレイヤーがアクションを起こす度に、サーバーの状況データが変ります。 その状況データを部屋に居る1人以上のプレイヤーで参照し共有します。 またプレイヤーデータはサーバー側で全部を一括管理します。 このような、プログラムを作りたいと思ってるんですが、 例えばサーバー側でwinsockは待ちうけ(accept)の所でプログラムは止まってしまいますよね。 クライアント側では受信(recv)の所で止まりますよね。 サーバー側やクライアント側で通信を待ち受けながら、 タイマーやマウスクリックに対するイベント処理を同時に行うことは可能なんでしょうか。 出来るとしたら、どのような仕組みにする必要があるでしょうか。 よろしくお願いします。m(_ _)m
- C++の問題で困っています。
C++の問題で困っています。 今,C++の入門書を読んでその中の演習問題に取り組んでいるのですが、この本には答えがついていないみたいなので、問題で悩んでいます。 お力を貸してください。 問題 「文字列 s に含まれる最も先頭に位置する文字 c へのポインタを返す関数 strchr_ptr を作成せよ。型は char * strchr_ptr(const char *s, char c); とする。例えば、文字列 s が "ABSZXYX" で文字 c が 'X' であれば、返却するのは &s[4]である。 なお、文字 c が文字列 s に含まれない場合は NULL を返却すること。 」 です。 僕はこの問題に対して、以下のように答えました。 ヘッダのインクルードなどは省きます。 char *strchr_ptr(const char *s, char c) { for(int i = 0; s[i]; i++) if(s[i] == c) return const_cast<char *>(&s[i]); return NULL; } int main() { char s[36] = "ABSZXYX"; cout << strchr_ptr(s, 'X') << "\n"; cout << &s + 4 << "\n"; } と書きました。 cout << &s + 4 << "\n"; はこの上の文で導き出したアドレスがあっているか確かめるものです。 ですが、これをコンパイルして実行すると、 ----------------- XYX 0012FFE0 ----------------- となり、関数側のほうはアドレス的な表記をしてくれません・・。 どうにかして、アドレス表記にしようとあれこれ考えたのですが、どうしても出来ませんでした。 どのようにしたらいいのか教えてください。 初歩的な質問ですが、よろしくお願いします。
- 【VC++2008】2つのmain()を1つのプロジェクトに含める方法
【VC++2008】2つのmain()を1つのプロジェクトに含める方法 現在、WinXP proで、VC++2008 Express Editionを使用しています。 1つのプロジェクトでmain()がある2つのソースを 使い分けたいのですが、その方法を教えて頂けませんでしょうか。 (うろ覚えですが、VC++6.0の頃にはできたと思います。) 例えば、以下のような2つのソースを含んだ1つのプロジェクトの 設定方法を教えて頂きたくお願いします。 ※ソースを見やすくするため、全角スペースを入れています。 //ソース名:main01st.cpp #include<stdio.h> void main(){ printf("main01\n"); } } //ソース名:main02nd.cpp #include<stdio.h> void main(){ printf("main02\n"); } }
- Visual C++でクラス編集
Vista上で、MSVS2008EEのVisual C++を使っています。 http://www.microsoft.com/japan/msdn/vstudio/express/ サブスレッドを使用するWinアプリを作ってるのですが、ヘルプに書かれていることができなくて困っています。 ファイル-新規作成-プロジェクトで、CLRのWindowsフォームアプリケーションでプロジェクトを作りました。 フォームデザインで見た目を作った後、スレッドオブジェクトを使おうと、クラス追加をしました。 クラスビューをアクティブにして、プロジェクト-クラスの追加で、C++のC++クラスで名前を入力して追加しました。 ウィザードで、名前Work、基本クラスにThreadを入力して完了ボタンを押しました。 これでクラスビューに追加したクラスが表示されます。 ヘルプでは、メソッドの追加はクラス指定して右クリックのメニューから、とあるのですが、この表示されたものに対して行ってもメニューにそのような項目はありません。 それと、CLRのThreadを認識していない感じもしています。 というのは、クラスビューで階層を見ると、基本クラスのThreadに関する情報がまるでないからです。 何がおかしくて、どうすればいいのでしょうか。
- C++でのプログラミングの効率的な開発について。
C++でのプログラミングの効率的な開発について。 プログラミングをするうえで、こうすることで効率が上がった!というようなテクニックや 考え方などご教授ください。 人によって、設計をきちんとして書き始めるひともいれば いきなり書き始めるひともいるかと思います。 それぞれに合ったやり方というものもあるかと思いますが、 総合して、この書籍が役に立ったとか、 こうしたら作業の効率が上がったという話を頂けたら嬉しいです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- matoro6173
- 回答数4
- 新版 明解C++ 入門編 について
新版 明解C++ 入門編 について 私は、柴田望洋さんの『新版 明解 C++ 入門編』という本を購入して、勉強し始めました。 根本的な質問なんですが、ソースプログラムをメモ帳に書き込んだ後、どうしたらコンパイルできるか分かりません。教えてください。
- ベストアンサー
- C・C++・C#
- noname#107226
- 回答数4
- 新版 明解C++ 入門編 について
新版 明解C++ 入門編 について 私は、柴田望洋さんの『新版 明解 C++ 入門編』という本を購入して、勉強し始めました。 根本的な質問なんですが、ソースプログラムをメモ帳に書き込んだ後、どうしたらコンパイルできるか分かりません。教えてください。
- ベストアンサー
- C・C++・C#
- noname#107226
- 回答数4
- 文字化け
C言語初心者です。 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { printf("表示"); system("PAUSE"); return 0; } と書いてコンパイルしたのですが「表示」のところが文字化けしてしまいます。 他にも文字化けするかもしれないので、 解決法を教えて下さい。 使っているコンパイラは、Bloodshed Dev-C++です。
- ベストアンサー
- C・C++・C#
- kazuki0704
- 回答数2
- Cで言うNULLは「C++では0をリテラルとする」みたいな事を、
Cで言うNULLは「C++では0をリテラルとする」みたいな事を、 どこかで昔、読んだのですが今でもそうでしょうか? (Cの場合、厳密にはdefine定義でNULLとしている(た)のでしょうが…) 最近のCとC++の言語仕様に詳しい方、お願いします。 気分的にはC++の場合、自分はポインタ初期化を0で行う事が好きなので、 他の人はどうしてるんだろうと、気になった所から生まれた疑問です。 //例:↓ClassXのコンストラクタの実装 ClassX::ClassX(void) :mPtr(0) { } }