私はこのフォーラムには新規であり、何か助けを求めていますが、どんな助けでも大歓迎です!私はプログラミングのファンダメンタルズ1クラスのためにこの課題に取り組んでいます。私は何時間も立ち往生しているので、この時点では絶望的です。ありがとうございました。C++電話番号プログラム
ここにプロンプトが表示されます。 多くのWebサイトで電話番号を要求しています。問題は、多くの電話番号を表現する方法が非常に多いことです。 例としては、817-555-1234, 817 555 1234(c)および(817)555-1234 x23が挙げられる。 を任意の形式の電話番号を含む文字列を入力して標準 形式で出力するC++プログラムを作成します。この割り当ての場合、標準フォーマットは(817)555-1234です。 あなたのC++プログラムは、必要があります。 1.入力、別の文字列 3.問題への入力文字列から数 2.コピーのみの数字を含む文字列は、エラーメッセージが入力された文字列は、正確に10 桁 4が含まれていない場合。電話番号を標準形式で出力してください
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <cctype>
using namespace std;
const int NUM_LENGTH = 10;
string ReadAndValidateUserNumber(string userNumber);
int main()
{
string userNumber;
ReadAndValidateUserNumber(userNumber);
system("PAUSE");
return 0;
}
string ReadAndValidateUserNumber(string userNumber)
{
bool check = false;
while (!check)
{
check = true;
cout << "Please enter a Number: ";
cin >> userNumber;
if (userNumber.length() != NUM_LENGTH)
cout << "The phone number may contain 10 digits only. \n";
else
{
userNumber.insert(0, "(");
userNumber.insert(4, ")");
userNumber.insert(8, "-");
for (int i = 0; i < userNumber.length(); i++)
{
if (isdigit(userNumber[i]))
{
userNumber = NUM_LENGTH;
}
}
}
if (!check)
{
cout << "Invalid Entry! Please try again." << endl;
}
}
return userNumber;
}
エラーは何ですか?正しい行動は何ですか?悪い出力の例?具体的にする。これは人々にあなたのためのコードを書くように求める場所ではありません。 – Incomputable
私はお詫び申し上げます。たとえば、10桁の数字「1123456789」だけを入力すると、任意のキーを押して続行します。私が "123-456-9999"のようなものを入力した場合、エラーには10桁の数字しかないと言います。 – bmoney
プログラムは(123)456-9999の形式で番号を吐き出すようにします。私はちょうど方法を把握できません、また、文字列から数字だけを抽出し、文字を無視するために "isdigit"を使う方法もあります。 – bmoney