• ベストアンサー

Borland C++を利用しているのですが、簡単なプログラムが実行できません。

kokucho81の回答

  • ベストアンサー
  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.3

なるほど、 〔Borland〕〔C++ Builder〕だったのですね。 これ覚えておいたほうが今後のために良いと思いますけど、 〔Borland〕〔C++ Builder〕と 〔Borland C++〕は実は違います。 略したときに、 〔BCB〕となるのがBorland C++ Builder(という製品群) 〔BC++〕となるのがBorland C++(という製品群:すでにサポートされてない) 〔VC++〕となるのがVisual C++(という製品群:有料で世界的シェア) そのた、〔GNU C++:無料で世界的シェア:PS2のゲーム開発やUNIX系など〕 〔WC++〕(ワトコム) 〔SC++〕(シマンテック) 〔MC++(マイクロソフト):すでにサポートされてない〕 クロスコンパイラとして、C++も含まれる 〔Code Warrior〕などなど、 まぁ、そういう話しはどうでもいいとして、 Borland C++ Builder はちょいと、コンソールアプリケーションが作りにくい。あまり勉強には向いていないかも。。。 まず、C言語の勉強をするばあい、当面は、〔オブジェクトインスペクタ〕と〔FORM1〕とあるフォームエディア、及び、コンポーネントパレットは不要。 (半年ぐらいは不要と思ったほうが良いです。この辺の機能は、本当は「C++(Cではなくて)」がばっちり記述できる人が使って初めて使いこなせます。) 必要なのはコードエディタのみです。 基本的に、私の知識は C++ Builder 1.0に基づいているので、いまでも全く同じかどうかはわからないですが、 〔プロジェクト〕として、〔コンソールアプリケーション〕を選びます。(ここ重要) すると、多分以下のようなソースが作成されると思います。 //---------------------------- #include <vcl\condefs.h> ←これが BCB 独自の VCL ライブラリーのヘッダ #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma hdrstop ← これも BCB 独自で勝手に挿入される。#pragma自体はC言語(プリプロセッサ)の仕様にある //----------------------------- USERES("Project1.res"); これも BCB 独自で勝手に挿入される リソース(フォームなど)関連の定義ファイルをインクルードしている。 //----------------------------- int main(int argc, char **argv) { return 0: } //----------------------------- で、このソースは要らないので、「全消去」して、testchiboさんのソースをはっつけてコンパイルすると、多分OKと思います。 もし、OKでないという場合は、追加して記述します。 //---------------------------- #include <vcl\condefs.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma hdrstop //----------------------------- USERES("Project1.res"); //----------------------------- void main(int argc, char **argv) { int i,j,k; i=1; j=2; k=i+j; printf( "k=%d,k); } なお、BCBは〔Win32〕としてしか動かないので、C言語の本にありがちな、MS-DOS独自の書き方などは、多々動かないことが予想されます。(具体的には、16bit専用のMS-DOS用の関数はBCBには実装されていないので、その辺は動かないです。

testchibo
質問者

お礼

回答ありがとうございました。 おかげさまで何とか実行することができました。しかし、今度は実行した後、Ms-Dosプロンプトみたいの(黒い窓)が出てきまして、すぐ消えてしまいます。 実行結果はどうやら合っているようなのですが、もうちょっと長い間表示させることはできないでしょうか?

関連するQ&A

  • borlandについて

    こんばんは Borland C++ Compiler 5.5 を使っているのですが… _______________ |#include <stdio.h>      |←のようなプログラムをコンパイル |               | したら |int main(void) |1:インクルードファイル'stdio.h'を |{              | オープン出来ない | printf("Hello.\n");   |5:プロントタイプ宣言のない関数 | return 0;        | 'printf'の呼び出し(関数mein) |}              |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ と出てきますどうしたらよいでしょうか。

  • borlandについてなんですが

    windows vista にBorland C++ Compiler 5.5をインストールし、説明が書いてあるサイトどおりに設定したんですけど、コンパイルすると エラーE2209 hello.c 1:インクルードファイル'stdio.h'をオープンできない 警告 W8065 hello.c 5: プロトタイプ宣言のない関数'printf'の呼び出し(関数 main) と出てコンパイルすることができません。 使用したプログラムは #include <stdio.h> int main(void) { printf("Hello.\n"); return 0; } です。 解る方いましたら教えてください。 よろしくお願いします。

  • C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると

    C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると結果が130固定となってしまいます。 #include <stdio.h> #include <stdlib.h> int main(void){ int x; x = rand(); printf("%d",x); return 0; } 使っているコンパイラはBorland C++ 5.5.1です。何か間違いでもあるのでしょうか?よろしくお願いします。

  • コンパイルエラー Borland ver5.01J

    こんばんわ Borland ver5.01Jで以下のような プログラムをコンパイルすると Illegal character ' '(0x8140) というようなエラーが最終行の後にでてきます。 どなたかご存知の方宜しくお願いいたします。 #include<stdio.h> int main(void){ printf("Hello World."); return 0;}  

  • c言語、演算子&について

    当方c言語、初心者でただいま勉強中です。 以下のようなプログラムをコンパイルし実行すると、 i=10,j=2というように表示されます。 この場合の&は論理積と理解してよいのでしょうか? そうだとすると&の後の-10はどのように理解すればよいのでしょうか? ご存じの方いらっしゃれば教えていただけないでしょうか? #include <stdio.h> int main(void) { int i,j; i=10; j=i&-10; printf("i=%d,j=%d",i,j); return 0; }

  • 一番最初でつまずいてます!!

    Borland C++Compilerをインストールしてプログラミングの勉強をし始めたばかりです。 #include<stdio.h> int main(void) { printf("はじめてのC言語プログラム"); return 0; } と入力してコンパイルすると 「インクルードファイル'stdio.h'をオープンできない」 というエラーがでました。 何度も見直したし、環境変数も合わせてるのになぜでしょうか!?

  • C言語について

    #include <stdio.h> int main(void) { printf("123456\tABC DEFGHIJK\n"); printf("2006/4/14\n"); printf("programing\n"); } のprintfをすべてputsに書き換えてコンパイル・実行すると、 #include <stdio.h> int main(void) { puts("123456\tABC DEFGHIJK\n"); puts("2006/4/14\n"); puts("programing\n"); } になると思うんですけど、そのputsを用いて上のprintfを用いたプログラムと同じ出力を得るにはどのようなプログラムに変えればいいのでしょうか?

  • C言語プログラミングについて

    #include <stdio.h> int main(void) { printf("hello,world\n"); } □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ #include <stdio.h> int main(void) { printf("hello"); printf(",world"); printf("\n"); } 上の2つのプログラムをコンパイルするとどのような違いが生じるんですか??printfってどんな働きをするんですか?

  • C言語の実行について、

    #include <stdio.h> #define N 2 void main(void) { int i ,j ; for( i=1 ; i <= N ; ++i) { for( j=i ; j < N+2 ; ++j) { printf("j=%d\n",j); } printf("i=%d\n",i); } } を実行すると、 j=1,j=2,j=3,i=1,j=2,j=3,i=2となったんですが、 どういった順序で行われているのでしょうか? よろしくお願いします。

  • C言語でこのプログラムを完成させるには

    C言語でこのプログラムを完成させるには C言語初心者です。 1~6の乱数を100回発生させて、それぞれの出現回数をカウントし、ヒストグラムとして表示するプログラムを作成したいのですが上手くいきません。 #include <stdio.h> #include <time.h> #include <stdlib.h> int rnd(int m, int n) { return (int)(n-m+1)*(rand()/(RAND_MAX+0.1))+m; } int main(void) { int i, j, r; int hist[7]; for (i=1; i<7; i++) hist[i]=0; srand((unsigned)time(NULL)); for (i=0; i<100; i++) { r=6; while (6-- > 0) putchar('*'); putchar('\n'); } for (i=1; i<7; i++) { printf("%2d:", i); for (j=0; j<hist[i]; j++) printf("*"); printf("\n"); } return 0; } 何がいけないのでしょうか? よろしくお願いします。