0

私はコーディングしている簡単な小さなスクリプトを持っています、そして私は人々が文字列を入力することを許可しないようにしようとしています。これが私が持っている入力コードです:

int main()
{
    cout << "Input your first number" << endl;
    cin >> a;
    cout << "Input your second number" << endl;
    cin >> b;
}

この部分以外の残りのコードは、何が起こっているかについては問題なく機能しますが、ここに文字列を入力すると、明らかに機能しません。

どんな助けでもいただければ幸いです。

4

3 に答える 3

1

この投稿が役立つかもしれませんが、

C++で入力が数値かどうかを確認する方法

基本的に、入力が数値かどうかを確認できます。指定された入力が数値であるかどうかを確認した後、メインにwhileループを追加して、入力が有効な数値でない場合に繰り返すようにユーザーに求めることができます。

于 2013-01-18T04:16:45.933 に答える
0

すべての入力は文字列です。入力した文字列が数値に変換できるかどうかを知りたい場合は、文字列を読み込んで自分で変換してみる必要があります(たとえば、strolを使用)。

別の方法は、cinからの読み取りが失敗したかどうかを確認することですが、cin.fail()は、失敗した型変換よりも多くのエラー状況をカバーするため、個人的には好きではありません。

于 2013-01-18T04:18:38.547 に答える
0

ライブラリ関数が役立つ場合があります。入力後に確認できます。

int isdigit(char c);

ヒント:1。そのようなファイルを含める必要があります:

# include <ctype.h>

2. cが0〜9の場合、1を返します。それ以外の場合は0を返します。

于 2013-01-18T11:55:52.010 に答える