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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

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

Q&A

2回答

833閲覧

文字を入力後、ディバックが終わってしまう

yukiiwashiro

総合スコア0

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

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

0グッド

0クリップ

投稿2021/02/24 13:46

編集2021/02/24 13:57

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
ビジュアルスタジオをつかってC++の課題をしているのですが、
coutで文字入力を行った直後ディバックがなぜか終了してしまいます。

このプログラムは、2つの数字を入れて頂いて、その一つ目を二進数で表すものなのですが、2つ目の数字をいれた途端にディバックが終了し、2進数が表示されません。

色々試しましたがプログラミングに不慣れなせいもあり、まったく原因がわかりません。
教えて頂けると幸いです。

よろしくお願い致します。

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

なし

該当のソースコード

C++

1#include <iostream> 2#include <iomanip> 3#include <cmath> 4#include <string> 5using namespace std; 6int binary(int bina) { 7 int ans = 0; 8 for (int i = 0; bina > 0; i++) 9 { 10 ans = ans + (bina % 2)*pow(10, i); 11 bina = bina / 2; 12 } 13 return ans; 14} 15int main() { 16 long long LocInt3; 17 long long unsigned LocInt1; 18 cout << endl << endl; 19 cout << endl << "\tいくつかの数字を入力してください: "; 20 while (!(cin >> LocInt3)) { 21 cout << "\t正しくないです: "; 22 cin.clear(); 23 cin.ignore(256, '\n'); 24 } 25 if (LocInt3 < 0L) { 26 LocInt1 = LocInt3 * -1L; 27 cout << "\tマイナスが入力されました; プラスにへんこうします: " << LocInt1 << endl << endl; 28 } 29 else { 30 LocInt1 = LocInt3; 31 cout << "\tあなたが入力した数字は: " << LocInt1 << endl << endl; 32 } 33 34 long long LocInt2; 35 long long unsigned LocInt4; 36 cout << endl << endl; 37 cout << endl << "\tEnter an second unsigned integer: "; 38 while (!(cin >> LocInt2 ) || LocInt2 <LocInt1) { 39 if(LocInt2 < LocInt1){ 40 cout << "\t1回目よりも大きな数字にして下さい: "; 41 } 42 else { 43 cout << "\t正しくないです; reenter: "; 44 } 45 cin.clear(); 46 cin.ignore(256, '\n'); 47 } 48 if (LocInt2 < 0L) { 49 LocInt4 = LocInt2 * -1L; 50 cout << "\tマイナスが入力されました; プラスにへんこうします: " << LocInt4 << endl << endl; 51 } 52 else { 53 LocInt4 = LocInt2; 54 cout << "\tあなたが入力した数字は: " << LocInt4 << endl << endl; 55 56 } 57 58 59 cout << "First Integer"; 60 cout << "2進数に変換した数値は:" << binary(LocInt1) << endl; 61 return 0; 62

試したこと

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

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

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

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

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

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

guest

回答2

0

プロジェクト -> プロパティ -> 構成プロパティ -> リンカー -> システム ->「サブシステム」を「コンソール(/SUBSYSTEM:CONSOLE)」に変更

も試してみてください

投稿2021/02/24 16:34

yudedako67

総合スコア2047

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

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

0

ブレークポイントをはらずに実行しているのであれば、
ツール-オプション-デバッグ-デバッグの停止時に自動的にコンソールを閉じる
にチェックが付いていてコンソールが閉じているのでしょう。

投稿2021/02/24 16:07

SHOMI

総合スコア4079

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問