私はC++でプログラムを作成しようとしましたが、これは文字列変数の数値だけを読み込むべきです。しかし、それは動作していないようです。なぜ誰かが私に言うことができますか?C++のプログラムでは、文字列変数の数値のみが読み込まれます。しかし動作していません
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "11111111111";
for(unsigned i = 0; i<=str.length(); i++) {
if(str.at(i)!='0' || str.at(i)!='1' ||str.at(i)!='2' ||str.at(i)!='3' ||
str.at(i)!='4' || str.at(i)!='5' ||str.at(i)!='6' ||str.at(i)!='7' ||
str.at(i)!='8' || str.at(i)!='9' ||
str.at(i)!='-') {
cout << "Invalid Phone Number!" << endl;
cout << str.at(i);
break;
}
}
cout << str;
}
正確に何が間違っているのですか?私はそれがうまくコンパイルし、少なくともいくつかの出力を与えると思う – deeiip
コンパイラエラーはありません、文字列が数値であっても、常に最初の値を読み取った後、forループを壊します。 –
https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –