C・C++・C#

全26352件中19821~19840件表示
  • リスト構造のソートで悩んでます。。。

    リスト構造のソートで悩んでます。プログラムの内容はファイルからデータをリスト構造の構造体に読み込み、名前順にソートし結果を表示する。というものです。データの追加や削除はできるのですがソートとなると頭が混乱してしまいお手上げ状態になってしまいました。。。。。 読み込み用のデータとプログラムソースを以下に記載するのでどなたか良きアドバイスをお願いしますm(_ _)m ○データ Sakuragi 16 Rukawa 16 Miyagi 17 Akagi 18 Mitsui 18 ○ソース #include <stdio.h> #include <stdlib.h> #include <string.h> #define MENBER 5 typedef struct data{ char name[BUFSIZ]; int age; struct data *next; }LIST; LIST *newLIST(void); LIST *sort(LIST *); int main(int argc,char *argv[]){ FILE *fp; LIST *p; LIST *np; LIST *npb; LIST *head; char namae[BUFSIZ]; int toshi,i; if((fp=fopen(argv[1],"r"))==NULL){ printf("no file\n"); exit(1); } head = newLIST(); npb =head; for(i=0;i<MENBER;i++){ np = newLIST(); fscanf(fp,"%s %d",namae,&toshi); strcpy(np->name,namae); np->age = toshi; npb->next =np; npb = np; } sort(head); for(p=head->next;p != NULL;p=p->next){ printf("%s\t%d\n",p->name,p->age); } for(p=head->next;p != NULL;p=np){ np = p->next; free(p); } fclose(fp); return(0); } LIST *newLIST(){ LIST *p; p = (LIST *)malloc(sizeof(LIST)); p->next = NULL; return(p); } LIST *sort(LIST *head){ }

  • FindWindowの戻り値が違う!?

    いつもお世話になっております。 FindWindowの戻り値についてご教授願います。 ret = FindWindow(NULL,"sample"); 上記を実行した場合、取得する画面がアクティブの時と非アクティブの時でFindWindowの戻り値が違うのは何故でしょうか? 私は、sample画面が非アクティブでもアクティブ状態の時と同じハンドルが取得したのですが、良い方法は有りますでしょうか? 取得画面タイトル:sample 実行ファイル名:sample.exe 実行環境:WindowsXP 開発環境:VC++ 6.0

  • Visual Studio 2005 でコンパイルしたファイルが実行できない

    タイトルの通りですが、Visual Studio 2005でコンパイルしたファイルを実行してもエラーが出てしまいます。 エラーの通りにVS2005の関連しているものを全て修復インストールしてみましたが、最初の5~10回ぐらいは正常に実行できるのですがしばらくするとまた元に戻ってしまいました。 まだパッケージ版が出ていないためか、google等で検索しても引っかからないので誰か同じエラーが出た人はアドバイスをお願いします。 追伸 VS.NETの2003が共存しています。 しかし、アカデミパックなのでライセンスに制限があるため削除は避けたいです。 (MSVS2005インスト後、両ソフトとも正常に使えてたのでこれが問題だとは考えにくいですけど…) Visual StudioのeditionはProfessionalで、本ソフト入手経路は「GET! Visual Studio 2005(たしか)」のキャンペーンでMSよりDLしました。

  • \"%s\"の使いかたについて

    C言語のプログラムで例えば、 #include<stdio.h> #include<string.h> main() { char word[]="ura"; int i=2; printf("文字列\"%s\"は%d個\n",word,i); } というプログラムがあった場合、printf("文字列"%s"は%d個\n",word,i);では、エラーが出ます。なぜ、\が必要なのですか?使いかたを教えて下さい。

  • C++:構造体:newで入れ子:deleteは?

    C++で以下のような構造体を使っています。(本当は他にもメンバが有ります) // ----- typedef struct{  int *npMember; }Test_t; // ----- これをクラスのメンバ変数で // ----- Test_t *m_tpTestStruct; // ----- とし、関数の中で // ----- m_tpTestStruct = new Test_t[10]; for (int i = 0; i < 10; i++) {  m_tpTestStruct[i].npMember = new int[100]; } // ----- というようにメモリを割り当てています。 これを解放する時は、 // ----- for (int i = 0; i < 10; i++) {  delete [] m_tpTestStruct[i].npMember; } delete [] m_tpTestStruct; // ----- で、良いのでしょうか? それとも、他の書き方が必要なのでしょうか?

  • パスワードを「*」で表示するには

     アカウントの際の文字入力をディスプレイでは、*マークで表示されて第三者にパスワードが漏れないようにするのは、どうすればよいのですか? 

    • 締切済み
    • noname#89227
    • C・C++・C#
    • 回答数1
  • 関数の引数表記なしについて

    はじめまして。C言語初心者です。 質問させてください。 関数を宣言して引数を表記しないで使用することは可能なのでしょうか? またどのような場合に使用するのでしょうか? 例として以下コードになります。 ----------------------- #include<stdio.h> int test1(int a); void test2(int b); void main(){ int i = 0; int j = 0;       //この部分 i = test1; printf("%d\n", i);        //この部分 j = test2; printf("%p\n", j); } int test1(int a){ return a + 1; } void test2(int b){ printf("test"); } --------------------------- 出力結果を見ると関数のアドレスが帰ってくるように思われますが、詳細が分かりません。 詳しい方がいらしましたら教えてください。 宜しくお願いいたします。

  • WINAPIでキーから文字列を入力できない

    今,WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)内の case WM_CHAR:で wsprintf(input, "入力=\"%c\"", (int)wp); としているのですが,今の状態では文字列を入力できません。 どうすればいいでしょうか、教えて下さい。

  • 構造体で・・・・

    構造体は配列を使用せずメモリ領域を獲得する関数を使用すること、 *構造体内部のメンバ名には配列を用いて良い。  という、条件があるのですが場合はどのようにすればよろしいでしょうか? どなたか教えてください。 構造体は以下のようになってます。 /*構造体の定義*/ struct seiseki{   char name[20];   int eig;   int suu;   int kok;   char rank[3]; };

  • ファンクションキー非表示にしたい

    C言語でdosのプログラムを開発してますけど、 25行モードに設定する方法が分かりません。 エスケープシーケンスで printf("\x1B[>3l"); があるみたいですが、 これはPC98のみだそうです。 どうすればいいですか?

  • VC++6.0をコマンドプロンプトで使用する方法

    すみません。http://oshiete1.goo.ne.jp/kotaeru.php3?q=1885181で質問したものですが、戴いた回答に、VC++はコマンドプロンプトでコンパイルできると言うような記述がありました。僕なりにヘルプやインターネットを調べたのですが、わかりません。。 やりたいことは、エディタでCのソースを記述し、任意のフォルダに保存し、そこをカレントディレクトリにしてコマンドプロンプトを開きコンパイル・実行するというものです。要するにJavaみたいな感じでコンパイル・実行したいのです。 使用バージョンは、VC++6.0です。BCCコンパイラ5.5を試したのですが、getcharやgetche関数で意味不明な動作をするものですから、やはりVC++を使用したいなと思い。。 度々の質問で恐縮ですが、分かる方、よろしくお願いいたします。

  • WinAPIでCのfgetsのようにファイルから1行ずつ読み混むには?

    WinAPIでCのfgetsのようにファイルから1行ずつ読み混むには? ReadFileで読み込んだあとfgetsの代わりになる関数または どのようなシステムを作れば1行ずつ読み込めるでしょうか 教えて下さい。

  • BCCコンパイラ5.5(ボーランドの無料製品)での、実行可能ファイルの作成

    ボーランドより、フリーのC・C++コンパイラをダウンロードしました。↓機能一覧です。 http://www.borland.co.jp/cppbuilder/freecompiler/bcc55feature.html コンパイラというだけあって、実行可能ファイル(.exeファイルみたいなやつ)は作成できないんですかね?Javaだと全部ただで実行可能ファイルまで作成できるんですが。。 VCをもっているんですが、めんどくさいのでコマンドラインから操作できるものがいいです。 フリーで実行可能ファイルまで作成できる、コマンドラインで開発できるものはないでしょうか?言語はもちろんCです。 分かる方、よろしくお願いします。

  • ソースコードを読む

    ソースコードを読むことは大切だ、という事を良く聞きますが、どんなソフトウエアのソースを読めば良いのでしょうか??また、何処から入手できるのでしょうか? いきなり、数千行のソフトは到底読めないので100~200行くらいから始めたいのですが、お勧めなどはあるでしょうか? UNIXのコマンドのソースはcatとechoが限界でした^^; C言語の知識は一通り勉強して、書く方なら500行くらいまではかけるようになったのですが、ソースを読む機会というものが無いので、どうしたら良いのか困っています。アドバイスお願いします。

  • 正規表現パターンマッチ

    文字列 "The large can can hold the water." を先頭から解析していき、 "the:冠詞-その large:形容詞-大きな・・・・” のような出力フォーマットで単語の品詞と日本語訳を表示するプログラムとはどんなプログラムですか?

  • BCCからVC++にしたらwindowsアプリケーションが実行できなくなりました。

    bccとDirectX9.0を使いゲームプログラミングを学習していましたが、この度Visual c++6.0にしたところ、今まで実行できていたwindowsアプリケーションが実行できなくなりました。コンパイルは正常に実行できるんですが、実行しようとするとエラーログが作成され実行できません。以下はエラーログの内容です。 ライブラリの更新日 2003/11/30 年/月/日 時:分:秒 プロセス(スレッド)ID ファイル名 行数 メッセージ 2006/01/08 23:32:16.195 01148(03580) Music.cpp 158REGDB_E_CLASSNOTREG, Class not registered DirectMusicPerformance8 オブジェクトの作成に失敗。 2006/01/08 23:32:16.256 01148(03580) WinMain.cpp 110 g_pMusic->Init FAILED どうかご教授御願いします。

  • VCで処理中ダイアログボックスを表示する方法

    VC++6.0を使用してアプリを作成しています。 処理に長い時間(10秒程度)がかかる時に 処理中を知らせるダイアログボックスを表示して 親画面にあるほかのボタンを 触れないようにし、処理が終わったら自動で処理中ダイアログボックス を閉じるのを実現したいのですが、どのように すればよいのでしょうか? よろしくお願いいたします。

  • C言語初心者です。 ジャンケンゲーム

    今、授業の課題でジャンケンゲームを作成していますが、なかなかできません。もし、良かったら何処が違うのか教えてください。 // main.c #include <stdio.h> #include <time.h> //#include <time.h> #include "my.h" main(int argc, char* argv[]){ int i; char s[7]; printf("これはジャンケンゲームです。\n"); printf("手を入力します(グー:1 チョキ:2 パー:3)\n"); scanf("%s",&s[7]); srand((unsigned)time(NULL)); printf("%s\n",jyan(dice(3))); if(s == jyan){ printf("あいこです。\n"); }else if(s == 1 && jyan ==2){ printf("あなたの勝ちです。\n"); }else if(s == 2 && jyan == 3){ printf("あなたの勝ちです。\n"); }else if(s == 3 && jyan ==1){ printf("あなたの勝ちです。\n"); }else{ printf("コンピュターの勝ちです。\n"); } } // dice.c #include <time.h> int dice(int n){ srand((unsigned)time(NULL)); return(rand()%n+1); } // jyan.c char *jyan(int n){ static char s[][7]={"グー","チョキ","パー"}; return s[--n]; } // my.h #include <stdio.h> char *jyan(int hand); //int dice(int n); 見づらくて申し訳ありません。4つのファイルに分けて作成しています。上記のプログラムだと自分の手、コンピューターの手がランダムに出てくるのですが判定が出来ませんでした。アドバイス、よろしくお願いします。 長文になってしまい申し訳ありません。

  • C++でMIDIを作成するプログラム

    Windows XP、Visal C++でMIDIを作成するプログラムを作成しようと考えているプログラム初心者です。 1小節で1トラックだけ使ってるMIDIを前もって自分でたくさん作ってあり、そのMIDIファイルを使ってトラック1の1小節目、2小節目…に貼り付けていって、トラック2の1小節目、2小節目…と張り付けていって…という作業をして、新たに複数小節で複数トラックあるMIDIファイルを一つのMIDIファイルとして作成する、みたいなことをしたいんですが、そういうことはできるんでしょうか? と前に質問したところ、できると言われたのですが、具体的な方法とか、利用できそうな関数などないでしょうか?あれば教えていただきたいです。 本当にまだ未熟な初心者なもので調べてもわからない言葉が出てくるばかりで一向に進まず困っています。

  • C++でMIDIファイルを作成

    Windows XP、Visal C++でMIDIを作成するプログラムを作成しようと考えているプログラム初心者です。 1小節で1トラックだけ使ってるMIDIを前もって自分でたくさん作ってあり、そのMIDIファイルを使ってトラック1の1小節目、2小節目…に貼り付けていって、トラック2の1小節目、2小節目…と張り付けていって…という作業をして、新たに複数小節で複数トラックあるMIDIファイルを一つのMIDIファイルとして作成する、みたいなことをしたいんですが、そういうことはできるんでしょうか? どうかご教授お願いします。