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

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

ただいまの
回答率

90.50%

  • C++

    4445questions

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

  • Atom (テキストエディタ)

    659questions

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 683

Toyonogi

score 2

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Toyonogi

    2018/11/29 20:48 編集

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

    キャンセル

  • izmktr

    2018/11/29 22:05

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

    キャンセル

  • Toyonogi

    2018/11/30 17:20

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

    キャンセル

回答 1

checkベストアンサー

+1

そもそも 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/12/01 16:22

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

    キャンセル

  • 2018/12/01 18:40

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

    キャンセル

  • 2018/12/01 18:53

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

    キャンセル

  • 2018/12/02 15:42

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

    キャンセル

同じタグがついた質問を見る

  • C++

    4445questions

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

  • Atom (テキストエディタ)

    659questions