たびたび質問をして申し訳ありません
VC++で作成したプログラムを
Ctrl+F7 でコンパイルし、作成した実行ファイルがデバッグフォルダ内にあるのですが、それを実行し、数値などを入力して実行をしようとするとウィンドウが閉じます
どうすればウィンドウの表示を維持できるのですか?
あと、ウィンドウをコマンドプロントでなくWindowsの普通のウィンドウで立ち上げることは可能なのでしょうか
単体で実行可能な実行ファイルにする方法
Re:単体で実行可能な実行ファイルにする方法
> どうすればウィンドウの表示を維持できるのですか?
方法1:メニューから「デバッグ」→「デバッグなしで開始」を選択する。
方法2:プログラムの最後にgetcharを入れてキー入力されないと終わらないようにする
> あと、ウィンドウをコマンドプロントでなくWindowsの普通のウィンドウで立ち上げることは可能なのでしょうか
コンソールプログラムというのはコマンドプロンプトで動くプログラムなので無理です。
方法1:メニューから「デバッグ」→「デバッグなしで開始」を選択する。
方法2:プログラムの最後にgetcharを入れてキー入力されないと終わらないようにする
> あと、ウィンドウをコマンドプロントでなくWindowsの普通のウィンドウで立ち上げることは可能なのでしょうか
コンソールプログラムというのはコマンドプロンプトで動くプログラムなので無理です。
Re:単体で実行可能な実行ファイルにする方法
■Mist様
説明不足で申し訳ありません
自分で見ることは出来るのですが、この作成したファイルをブログにて配布したいのですが、exeファイルを実行しても実行後閉じてしまいます
このプログラムは入力したテストの合計点、平均などを求めるプログラムなのですが、入力を求めるところまでは可能なのですが、入力後Enterを押すとウィンドウが閉じてしまいます;
説明不足で申し訳ありません
自分で見ることは出来るのですが、この作成したファイルをブログにて配布したいのですが、exeファイルを実行しても実行後閉じてしまいます
このプログラムは入力したテストの合計点、平均などを求めるプログラムなのですが、入力を求めるところまでは可能なのですが、入力後Enterを押すとウィンドウが閉じてしまいます;
Re:単体で実行可能な実行ファイルにする方法
だから、コンソールプログラムをexeから直接実行した場合、終了と同時にコマンドプロンプトが閉じられるのでそうなるものなのです。
方法2ように、結果を見終わるまでプログラムが終わらないようにするしかありません。
方法2ように、結果を見終わるまでプログラムが終わらないようにするしかありません。
Re:単体で実行可能な実行ファイルにする方法
■Mist様
getcharの使い方を調べてみたのですが、いまいちわかりません;
以下のプログラムに組み込みたいのですがその場合どうすればよいのでしょうか
getcharの使い方を調べてみたのですが、いまいちわかりません;
以下のプログラムに組み込みたいのですがその場合どうすればよいのでしょうか
#include <stdio.h> int main(void){ int kokugo,sugaku,rika,shakai,eigo,gijutsu,kateika,bijutsu,ongaku,gikagoukei,kyouka5,kyouka9,kyouka3; double a,b; printf("各教科の点数を入力してください♪)\n"); printf("国語:"); scanf("%d" ,&kokugo); printf("数学:"); scanf("%d" ,&sugaku); printf("理科:"); scanf("%d" ,&rika); printf("社会:"); scanf("%d" ,&shakai); printf("英語:"); scanf("%d" ,&eigo); printf("技術:"); scanf("%d" ,&gijutsu); printf("家庭科:"); scanf("%d" ,&kateika); printf("美術:"); scanf("%d" ,&bijutsu); printf("音楽:"); scanf("%d" ,&ongaku); printf("__________________\n"); gikagoukei=gijutsu+kateika; kyouka9=kokugo+sugaku+rika+shakai+eigo+gikagoukei+bijutsu+ongaku; kyouka5=kokugo+sugaku+rika+shakai+eigo; kyouka3=kokugo+sugaku+eigo; a=(double)kyouka9/9; b=(double)kyouka5/5; printf(" ≪結果≫\n"); printf("■技家合計■\n"); printf("技家合計:%d\n\n" ,gikagoukei); printf("■3,5,9教科合計■\n"); printf("3教科合計:%d\n" ,kyouka3); printf("5教科合計:%d\n" ,kyouka5); printf("9教科合計:%d\n\n" ,kyouka9); printf("■5,9教科平均■\n"); printf("5教科平均:%f\n" ,b); printf("9教科平均:%f\n" ,a); return 0; int getchar(void); }
Re:単体で実行可能な実行ファイルにする方法
■non様
追加してコンパイルし、Debugフォルダ内の実行ファイルで試しましたが閉じてしまいます;
ちなみに追加したのはこんな感じです(下のほうだけ)
追加してコンパイルし、Debugフォルダ内の実行ファイルで試しましたが閉じてしまいます;
ちなみに追加したのはこんな感じです(下のほうだけ)
printf("■5,9教科平均■\n"); printf("5教科平均:%f\n" ,b); printf("9教科平均:%f\n" ,a); getchar(); return 0; }
Re:単体で実行可能な実行ファイルにする方法
多分、scanf関数を使用した際に入力された改行コードがバッファに残っていて、getchar関数がそれを取得してしまっているのではないでしょうか?
とりあえず、getcharではなく、scanfで空読みさせればいいのでは?
とりあえず、getcharではなく、scanfで空読みさせればいいのでは?
Re:単体で実行可能な実行ファイルにする方法
■バグ様
なるほど!そのような手もありましたね^^
無事成功しました♪
本当にたすかりました。ありがとうございました
なるほど!そのような手もありましたね^^
無事成功しました♪
本当にたすかりました。ありがとうございました