質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

5496閲覧

Atomでの入出力文(cout、cin文)の実行〜コンソールでの入力について

toyo_69

総合スコア20

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/11/28 15:16

編集2018/11/30 08:23

発生している問題・エラーメッセージ

Atomを用いてC++を学ぼうと思い参考書を購入したプログラム初心者なのですがそこに記載されていたソースコードを実行しようとしたところエラーは出ないのですがcin文の前のcout文の内容が出力されないまま砂時計(?)のマークが出て入力待ち(?)になりしかも何も入力できない状況です。ちなみにこのソースコードは参考書の記載と全く同じものなのでAtomの方に何らかの問題があるかと思われます。また、プログラムはインストールしてあるScriptからRun Script(⌘i)で実行しています。Atomはインストール後、Atomだけでエディット〜実行までできるようにいろんなパッケージを入れた程度(script,script-runner,linter-gcc,japanese-menu,expose)で特に他にいじっていないと思います。(他に入出力用のパッケージが必要でインストールしなければいけない?)初心者で拙い文章かと思いますがC++、Atomに詳しい方、どうか解決法をご教示いただけると助かります。

該当のソースコード

#include <iostream> using namespace std; int main() { double height; //身長 double weight; //体重 double bmi; //BMI //キー入力をheightに格納する cout << "身長(m)を入力してください:"; cin >> height; //キー入力をweightに格納する cout << "体重(kg)を入力してください:"; cin >> weight; //身長と体重からBMIを計算する bmi = weight / height / height; //BMIを画面に表示する cout << "あなたのBMIは、" << bmi << "です。" << endl; return 0; }

試したこと

web上で散々調べましたがhitしませんでした。

補足情報(FW/ツールのバージョンなど)

使用PC:Mac
使用ツール:Atom 1.32.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2018/11/29 00:01

普通の文章を```と```の中に書くと、折り返されずに読みづらいので、プレビューを見ながら修正してください。
izmktr

2018/11/29 01:36

bmiの表示みたいに、他のcoutの部分にも<< endl;を入れてみたらどうでしょう?
yumetodo

2018/11/29 04:26

もしくは<<std::flush;
toyo_69

2018/11/29 11:43

こちらのサイトで投稿させて頂くのが初めてでして申し訳ないです、```の中でなければ文章はどこに書けば見やすくなるのでしょうか。
toyo_69

2018/11/29 11:48 編集

皆さんお返事ありがとうございます。<< endl;や<< flush;を入れてみたところ直前のcout文は実行されるのですが、やはりその後の入力ができないままみたいです。
izmktr

2018/11/29 13:05

```の中に書くのはソースコードだけで、それ以外は```の外に書きましょう
toyo_69

2018/11/30 08:20

修正しました。` ` `は消して書いた今の感じで大丈夫でしょうか。間違っていたら申し訳ないです。
guest

回答1

0

ベストアンサー

そもそも Script パッケージにはキー入力を受け取る仕組みがありません。なので砂時計アイコンのままになってしまいます。
Script パッケージから Run Script した場合でもコンパイル自体は出来ていますから、ターミナルから/tmp/cpp.outと入力してやれば実行することは可能です。
(こちらのスクリーンショットでは Script パッケージのペインを閉じて、Atom ウィンドウ内でターミナルを使う別のパッケージを使用しています)

execute_cpp_out

Atom から直接 c++ のコンパイルと実行を行うパッケージとしては、gpp-compiler などがありますから、こちらを試してみてはいかがでしょうか。こちらのパッケージは実行するとターミナル.appが立ち上がってそちらで実行される仕様となっています。

####追記:
gpp-compiler を入れて動かしたときのスクリーンショットです。
Tree View から Control + クリックでメニューから"Compile and Run"、またはエディタのペインにカーソルを置いた状態で F5 キーを押せばターミナルが立ち上がって来るはずです。

compile_and _run
run_in_terminal

投稿2018/11/30 09:31

編集2018/12/01 09:52
fiwa

総合スコア1192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toyo_69

2018/12/01 07:22

大変丁寧で分かりやすい文章での解説ありがとうございます!ターミナルでの実行は出来たのですが、gpp-compilerを入れてみたところお恥ずかしいことに実行の仕方が分からない状態です(tree viewの中のCompile and Debugが見つからず...)。このパッケージはMacにおいてどのように実行されるものなのでしょうか…。
fiwa

2018/12/01 09:40

Atom の Tree View で対象の.cpp ファイルを Control キーを押しながらクリックすると、コンテクストメニューのなかに出てこないでしょうか?
fiwa

2018/12/01 09:53

回答に gpp-compiler を使用したときのスクリーンショットを追加しました。
toyo_69

2018/12/02 06:42

実行出来ました!身勝手にも追加の質問にまで丁寧に答えて下さり今後も参考書を読み進めていけそうです!本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問