アプリ版:「スタンプのみでお礼する」機能のリリースについて

Borland C++を利用しているのですが、簡単なプログラムが実行できません。
以下のようなプログラムをコンパイルして実行しようとしたのですが...
#include <stdio.h>
void main(void)
{
int i,j,k;

i=1;
j=2;
k=i+j;
printf( "k=%d,k);
}
Borland C++は、初めて使うのですが、C言語の勉強には使えないのでしょうか?
もし使えるなら、どのようにすればよいのでしょうか?

A 回答 (5件)

なるほど、


〔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には実装されていないので、その辺は動かないです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/04/01 20:37

ちょっと邪道かもしれませんけど、



ヘッダに #include "stdlib.h"
を加えて、
プログラムの最後(ここではprintf("k=%d",k);の直後)

system("pause");
を使えば、windowsではプログラムを止めることが出来ます。

こんなことしてるの僕だけですね(笑)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。プログラムの勉強にもなり、とても参考になりました。またよろしくお願いします。

お礼日時:2001/04/02 11:39

MS-DOS プロンプトから、実行すれば、問題なく実行されます。



(1)MS-DOS プロンプト内から、CD..とかを使って実行しても良いし、

(2)とりあえず、MS-DOSプロンプトを広げておいて、エキスプローラから、EXEプログラムをドラッグ&ドロップして、MS-DOSプロンプトの方をもういちどマウスでクリックして(ウィンドウを有効化)して、リターンキーを押しても良いです。

(3)プログラムの方を対応させる手段もあります。
#include <conio.h>
とインクルードしておき、
main() {
・・・
・・・
getche();

というように、conio.h と getche(); の組み合わせを書いておけば、何かキーを一つ押すまで制御が止まります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。ついでにプログラムの勉強にもなり、とても参考になりました。またよろしくお願いします。

お礼日時:2001/04/02 11:37

Borland系を良く使う人間です。

(最近はGNUが多いけど…)

もうすこし症状を具体的に。
例えば、生成された実行ファイルを実行すると、どういうことになるの?
使用している「Borland C++ はコマンドラインのフリーコンパイラ?」それとも「IDEの有料環境?」

(1)何も実行されないの?
(2)一瞬黒い窓が開いたかと思ったら、一瞬にして閉じてしまうの?
(3)それとも、何も反応なし?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
最初から具体的にいいますと、まず、Borlanc C++ Builderというのを起動すると、[C++ Builder-project1]、[オブジェクトインスペクタ]、[Form1][C:\Program Files\Borland\CBuilder\\Projects\Unit1.cpp]という4つのダイアログが開きます。この4つ目のダイアログ[C:\Program Files\Borland\ CBuilder\Projects\Unit1.cpp]に、上記のプログラムを入力し、メニューからコンパイルし、実行しました。その後、同じダイアログにリンカエラーが2つでて終わりました。

お礼日時:2001/04/01 17:15

DOS窓かMS-DOSモードで作成したEXEを指定してもだめですか?



printf 分の文字列の終わりを示す " がありませんが、
これは単なるタイプミスですかね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
printf 分の文字列の終わりを示す " は実際には入力してあります。
DOS窓かMS-DOSモードで作成したEXEを指定して実行する方法は、具体的には、どのようにやるのでしょうか?

お礼日時:2001/04/01 14:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!