aris-wiz の回答履歴
- MBR 3 エラー
XP-Pro SP2で毎回起動時にMBR 3 というエラー表示がありますが、 起動はもんだなく、その後も支障なく使えますが、何となくしっくりしないので、これを直したいと思います。 修正方法、又はマザーブートレコードの表示方法をご存じの方教えていただけないでしょうか。 よろしくお願いします。
- ベストアンサー
- Windows系OS
- 84San
- 回答数2
- WindowsXP64の削除
間違ってwindowsXP32をインストールしなければならないところをwindowsXP64をインストールしてしまいました。 windowsXP32のCDを入れてもインストールしてくれません。 BIOSの設定はCD/DVDドライブが優先になっています。 HDDを初期化したいのですがやり方がわかりません。どなたか教えていただけないでしょうか??
- ベストアンサー
- Windows系OS
- soiliper
- 回答数5
- [C++]const int と配列
constについて教えてください。以下のコード //------------------------------------------------------ #include <stdio.h> #include <math.h> const double RANGE = 12.; const int MESH = 10; //const int N = (int)(12.0*10); // (1) OK //const int N = (int)(12.0*MESH); // (2) OK const int N = (int)(RANGE*10); // (3) NG //const int N = (int)rint(12.0*10); // (4) NG double Array[N]; //------------------------------------------------------ をg++ 4.0.1でcompileすると error: array bound is not an integer constant とでてきます。(1)(2)ではエラーは出ません。 (1)(2)が良くて、(3)がだめな理由がわかりません。 どなたか教えてください。
- if文の中にfor文なのか、for文の中にif文なのか
for文の中に分岐を作って計算するのと、if文を先に書いてからfor文にするのとではどちらが一般的ですか? for ( i = 0; i < n; i++) { if ( a > b ) { y = i; } else { y = i * 2; } printf( "%d", y ); } とするか、 if ( a > b ) { for ( i = 0; i < n; i++) { y = i; } } else { for ( i = 0; i < n; i++) { y = i * 2; } } printf( "%d", y ); とするかという事です。 ちなみにプログラムは適当ですのでちょっとしたミスはご勘弁ください。 個人的には後者の方が分岐が少ない分負担は減ると思うのですが、前者の方がすっきりとしているのでこちらを使いたいのです。 もちろん、微々たる差なので好きな方を使えという意見もあると思いますが、皆さんはどちらを使いますか?
- return文について
C言語を独学で勉強中です。 最初から分からないのがあったので、質問させていただきます。 #include <stdio.h> main() { printf("Hello World!!\n"); return(0); } return(0)を記入しなくてもエラーはでないのに、 なぜ必要なんですか? 参考書には何も書いてないので分かりません。 よろしくお願いします。
- ファイル名、関数名、変数名・・・様々な決定について
自分でも具体的に言いたいことが表せないかもしれませんが よろしくお願いします。 なかなかこれで決まりというスタイルが確立しないのですが、 何かに頼りたい自分としては、そういうことを幅広く扱っている 本などがあれば参考にしたいです。 結局最後は自分で決定するしかないということは、頭では分かっているつもりですが・・・ 悩んでいることの例としてはたくさんあって、 ・エラーを表示する関数名として disp_errorなのかdisply_errorなのかshow_errorなのか それともアンダーバー無くしてshowerrorなのか ・最大アイテム数を表す定数名として ITEM_MAXなのかMAX_ITEMなのかITEM_NUMなのか ・データを格納するテーブル名を表す変数名として tablenameなのかtableだけでいいのか ・~の~の~のアイテムという変数名の場合 など、これだけならそれらを聞けば解決するのですが、まだまだあります・・・ 周りからみれば些細(どうでもいい)なことだと思うので 本とかをあまり見かけないのですが、 こういうことに言及しているサイトなり本などはご存知でしょうか?
- ベストアンサー
- C・C++・C#
- takagoo100
- 回答数6
- DirectXでXファイルの描画をするとテクスチャがチラつく
今現在、DirectX9とVC2005のC++を使用してソフトを製作しています。 D3DXCreateTextureFromFileにてXファイルを読み込み、描画をしているのですが なぜか、テクスチャが貼られたメッシュに黒い筋が入り激しくチラつきます。 ただ、これも常にというワケではなく、カメラが動いた時にチラつきます。 また、例えばカメラ移動中にチラついた状態でカメラが止まっても、 メッシュに黒い筋が入ったままだったりということもあります。 状態としては以下の様な感じです。 blog81.fc2.com/e/evom/file/caps.jpg 色々と調べてみて、フィルターを設定したりしてみたのですが状況は改善されず、 何が原因なのかもちょっと検討が付かないです・・・。 どなたか原因がお分かりになる方、ご教授の程よろしくお願い致します。
- DirectXによる通信ができなくて困っています。
DirectX9のDirectPlayで通信をしようとしているのですが、セッションへの接続が出来なくて困っています。 言語はC++で開発環境はVisualC++6.0です。プログラムは自分で組んだもので、ピアツーピア型。ホストとピア両方が出来るようにプログラムを組んで、同じプログラムを二つ起動して同一のマシンで実行しています。 接続が出来ない原因を調べたところ以下のセッションへの接続部分でプログラムが1~2分ほど固まり、その後接続に失敗していました。 hr = lpDirectPlay8Peer->Connect(&dpnAppDesc2, prgHostAddr,prgDeviceInfo2, NULL, NULL, NULL, 0, NULL, NULL, NULL,DPNCONNECT_OKTOQUERYFORADDRESSING | DPNCONNECT_SYNC); 接続に失敗した後、このエラー処理で接続に失敗した事は分かるのですが原因が分かりません。又、アドレスの設定やホストが確立しているかも同様の方法でエラーの判断をしています。 if (FAILED(hr)) //エラー処理 {MessageBox("セッションの接続に失敗", "PeerVoice", MB_OK | MB_ICONWARNING);} else {MessageBox("セッションの接続に成功", "PeerVoice", MB_OK | MB_ICONWARNING);} MSDNのIDirectPlay8Peer::Connectメソッドの項を見るとエラー時の戻り値でエラー原因が分かるようなので以下の様なコードを書きました。 switch (hr){ case S_OK: MessageBox("成功1", "PeerVoice", MB_OK |MB_ICONWARNING); break; case DPNSUCCESS_PENDING:("成功2", "PeerVoice", MB_OK |MB_ICONWARNING);break; case DPNERR_HOSTREJECTEDCONNECTION: MessageBox("失敗1", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDAPPLICATION : MessageBox("失敗2", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDDEVICEADDRESS : MessageBox("失敗3", "PeerVoice", MB_OK | MB_ICONWARNING); break; case DPNERR_INVALIDFLAGS: MessageBox("失敗4", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDHOSTADDRESS: MessageBox("失敗5", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDINSTANCE: MessageBox("失敗6", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDINTERFACE: MessageBox("失敗7", "PeerVoice", MB_OK | MB_ICONWARNING);break; case DPNERR_INVALIDPASSWORD: MessageBox("失敗8", "PeerVoice", MB_OK | MB_ICONWARNING); break; case DPNERR_NOCONNECTION: MessageBox("失敗9","PeerVoice", MB_OK| MB_ICONWARNING);break; case DPNERR_NOTHOST: MessageBox("失敗10", "PeerVoice", MB_OK|MB_ICONWARNING);break; case DPNERR_SESSIONFULL: MessageBox("失敗11", "PeerVoice",MB_OK| MB_ICONWARNING);break; default: MessageBox("失敗0", "PeerVoice",B_OK|MB_ICONWARNING);break; } しかし、これでもdefaultの失敗0のメッセージボックスが出てきてしまいます。何かの設定ミスやホストがいないのなら上記のエラー処理で原因が特定できると思ったのですが、全くわけが分かりません。どうか理由が分かる方回答をお願いいたします。
- charとucharの違い
charに0xffを代入すると-1 ucharに0xffを代入すると255 この違いはなんですか charは符号ありなため扱える範囲が-128~127 ucharはunsignedで0~255 というのは判りますがなぜー1になるのか・・・ よろしくお願いします
- ベストアンサー
- C・C++・C#
- noname#50824
- 回答数6
- txtファイルを読み込んで表示関数を用いて表示する方法
5名の会社員の健康管理表を作成するプログラムで、データとして「名前(英大文字最大10字)」「年齢」「身長」「体重」「最低血圧」「最高血圧」があらかじめ与えられています。 これをテキストファイルdata.txtに納めておき、プログラムには15人分のデータが入る構造体の配列を用意し、fscanf()関数で読み込んでから、「標準体重」と「高血圧診断結果」を計算した上で、一覧データを画面に表示したいんですが、コンパイルができたもののエラーが出て動きません。どこがまずいんでしょうか? data.txtの中身 AKIYAMA 35 179.1 72.5 97 145 ENDOU 40 162.5 65.3 85 130 HONNMA 42 171.8 68.9 89 166 SATO 45 167.2 64.1 91 142 YAMADA 50 168.4 59.5 85 151 プログラム #include <stdio.h> /*標準入出力関数の使用宣言*/ #include <string.h> struct kenkou{ /*健康管理表データの構造体テンプレート作成*/ char *name; /*名前用ポインタ変数*/ int age; /*年齢用データ変数*/ double sintyou; /*身長用データ変数*/ double weight; /*体重用データ変数*/ double hweight; /*標準体重用データ変数*/ double lblood; /*最低血圧用データ変数*/ double hblood; /*最高血圧用データ変数*/ char bloodj[30]; /*血圧診断用データ変数*/ }; void display(struct kenkou *pa) { printf(" 名前 年齢 身長 体重 標準体重 最低血圧 最高血圧 血圧診断\n"); while(pa->name != NULL) { printf("%20s %3d %3.1f %3.1f %3.1f %3d %3d %10s\n", pa->name,pa->age,pa->sintyou,pa->weight, pa->hweight,pa>lblood,pa->hblood,pa->bloodj); pa++; } } int main(void) /*main関数*/ { FILE *fp; int i; struct kenkou data[15]; fp = fopen( "data.txt", "r" ); if( fp == NULL ) { puts( "data.txtが開けません" ); return 1; } for(i=0; i<15 && !feof(fp); i++){ fscanf(fp,"%20s %3d %3.1f %3.1f %3d %3d",data[i].name, &data[i].age,&data[i].sintyou,&data[i].weight, &data[i].lblood,&data[i].hblood); data[i].hweight=(data[i].sintyou-100)*0.9; if(data[i].lblood<=90&&data[i].hblood<=140){ strcpy(data[i].bloodj,"正常血圧");} else if(data[i].lblood>=95&&data[i].hblood>=160){ strcpy(data[i].bloodj,"高血圧");} else{ strcpy(data[i].bloodj,"境界域高血圧");} i++; } fclose(fp); display(data); return 0; }
- 普通科か工業科か・・・
中学二年もあと1ヶ月ほどになってしまいました。そろそろはっきりと進路を決めてそれなりの勉強をしようと思いますが、今のC言語力ならどっちに進むべきなのか迷ってしまいました。(僕はゲームクリエイターを目指していて、第二希望は事務員です。)↓ここに作ったプログラムがあります。 http://park.geocities.jp/mantiskogane77/index.html 一つ目の進路は、 ・中学校卒業→高校情報技術科→専門学校→プログラマー で、もう一つは、 ・中学校卒業→高校普通科→大学→プログラマー です。まず高校は公立に入らないといけないので、大学は難しいかなと思ったりもしています。 みなさんの経験などを教えて下さい。お願いします。
- 普通科か工業科か・・・
中学二年もあと1ヶ月ほどになってしまいました。そろそろはっきりと進路を決めてそれなりの勉強をしようと思いますが、今のC言語力ならどっちに進むべきなのか迷ってしまいました。(僕はゲームクリエイターを目指していて、第二希望は事務員です。)↓ここに作ったプログラムがあります。 http://park.geocities.jp/mantiskogane77/index.html 一つ目の進路は、 ・中学校卒業→高校情報技術科→専門学校→プログラマー で、もう一つは、 ・中学校卒業→高校普通科→大学→プログラマー です。まず高校は公立に入らないといけないので、大学は難しいかなと思ったりもしています。 みなさんの経験などを教えて下さい。お願いします。
- VCの0出力について
前提がAPI32です。 例えば、2008/12と入力すると、2008/12となるのですが、 2008-2000=8とすると、08/12としたいのに、8/12しかなってくれません(;;) どうしたらいいですか? sprintfは試してみました。 (Nen,"%02s");としても無駄なんです。だれか教えてください><
- VCのぬりつぶし
円を書いて、そこから線を引いて、割合を完成させました。 だれか3点だけ質問したいんで助けてください。(;;) お願いいたします。 (1)円を線でわったら、扇になります。Aの部分は赤・Bの部分は黄・Cの部分は緑というように塗りつぶししたいのですが、どうすればいいのでしょうか? (2)TextOutとstrcutをつかって、a[10]="80" b[10]="%"として80%という形で表示させたいのですが、連結まではうまくいきますが、実行時画面に反映されてません。(;;)どうしてですか? (3)文字を円の中に入れたい場合どうしたらいいですか? わかる方おられましたら、どうかご教授ねがいます(><)
- C++のプログラムをバックグラウンドで実行
C++のプログラムをバックグラウンドで実行する方法はないでしょうか? 具体的には http://www.atmarkit.co.jp/fdotnet/dotnettips/436bgworker/bgworker.html のページにあるようなプログラムをC++で作成したいのです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- petensisan
- 回答数3
- dllのロードアドレスについて
いつもお世話になっております。 現在、アプリケーションのデバッグを行っていて、dllのロードについて不明な点があります。 C++で作成したアプリケーションを起動すると、main関数が呼ばれる前に「アプリケーションが正しく初期化されませんでした(0xc0000005)。」というダイアログボックスが表示され、エラー終了してしまうという現象が発生しています。 但し、このアプリケーションは共通のソースを使用して、条件コンパイルによってGUIの描画部分等が違うといった、複数のアプリを作成することができます。そして、このうちの1つのアプリのみ上記のようなエラーが発生してしまいます。 デバッガによって正常に動くアプリとエラーになるアプリとで、アプリ実行時にロードされるdllの基底アドレスに違いがあるということが分かりました。 ※エラーになる方は、明らかに不正なアドレスにロードされているdllがあります。大抵のdllは0x60000000以降のアドレスですが、0x00300000代にロードされるdllがあります。 そこで、アプリケーションが実行時にロードするdllの基底アドレスが不正になってしまう理由がわかればと思い質問いたしました。 (コンパイル時のリンクオプション等が間違ってしまっているのかと思っています。。。) そもそも、dllがロードされる基底アドレスがどのように決まるものなのかも分からないのですが、どなたか御教授して頂けないでしょうか? 以上、よろしくお願いします。
- ベストアンサー
- C・C++・C#
- Pkakedashi
- 回答数5
- 通信(送信)のプログラム
bool WriteData(char *buff, unsigned int data_size) { DWORD dwWritten; /* ポートへ書き込んだバイト数 */ WriteFile(hComm, buff, data_size, &dwWritten, NULL); if (dwWritten!=data_size) { printf("データの送信に失敗しました。\n"); return false; } return true; } 上の関数はシリアル通信の送信する関数なんですが、これに数値などを入れたいんですが、char型のため、一文字しか入れれません。たとえば、01ならchar型の0とchar型の1を別々に送らないとだめなんですが、このようにするしか無理なんでしょうか?int型の数値を好きなように入れて送りたいんですが。あと、OxFFのように16進数も入れれると便利なんですが。駄文ですいません。プログラムの知識が浅はかですいません。
- DirectInputオブジェクト
最近DirectXプログラミングをやり始めた者です。 DirectInputオブジェクトを作成しようと次のようなプログラムを書いたのですがうまく作成できません。 LPDIRECTINPUT8 g_pDI; DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&g_pDI, NULL)); 開発環境は WinXP Pro Visual Studio 2005 Pro DirectX SDK (April 2007) です。