2017-08-20 11 views
-3
#include <iostream> 
#include <math.h> 
#include <string> 
#include <sstream> 
using namespace std; 

int main() { 
    string input; 
    int value, 
    cout << "Input your number: " << endl; 
    cin >> input; 
    const int count = input.length(); 
    istringstream buffer(input); 
    buffer >> value; 
    if (count == 4) { 

私のプログラムでは、数字の長さを数えた後、数字を符号化すると仮定しています。例えば。 1234は他の数字に変わります。私の質問は、それぞれの数字をどのように取ってそれを使うのかということです。例えば。 (1 + 1)/ 10、または(3 + 2)/ 10を取る。数字の位置を見つけて使用する方法

答えて

0

文字列内の文字を取得するには、ブラケット表記を使用します(例:input[0])。文字列の最初の文字を取得します。

0

私は別の方法(0001か、正しく12abなどの入力を処理するために)これを行うだろう:

  • int
  • std::to_stringstd::stringに変換(C++ 11)
  • チェックに入力を読み込みます文字列のサイズ

あなたはstd::stringですstr[0] - '0'のような数字にアクセスできます(範囲[0; 9])。


別のオプションは、単に文字列に読み込み、その後std::all_of文字がstd::isdigitのために当てはまるかどうかをチェックされます。

関連する問題