0

こんにちは、誰かがここで私を助けることができるかどうか疑問に思っています。プログラミングが初めてで、0 から始まる電話番号を生成するプログラムを作成しようとしています。ネットワーク プロバイダーは 0803 で始まり、合計 11 の番号です。マーケティング用の数値を生成したい。エラーは無効な8進数ですが、私はそれを機能させたいので、自分でゼロを追加する必要はありません

1.  #include iostream
2.  #include fstream
3.  using namespace std;
4.  int main()
5.  {
6.  long numb = 08030000000;
7.  ofstream generated_numb;
8.  for(int i = 08030000000; i < 08040000000; i++)
9.  {
10. generated_numb.open("mtn_numbers.txt");
11. generated_numb << i << endl;
12. generated_numb.close();
13. }
14. while(true){}
15. return 0;
16. }
4

1 に答える 1

2

さまざまな理由から、電話番号を文字列として処理した方がよいでしょう。

あなたが遭遇したエラーは、いくつかのコンピューター言語が先頭に0. 10 進数を書き込むには、1 ~ 9 の数字から始めます。

電話番号には、 や などのさまざまな句読点が含まれていることがよくあり. , - (ます)。特定の電話会社の内部番号には、 から までの「数字」が含まれていAますD。また、PBX 内の内線番号は、多くの場合、x.

(最初のコメントへの返信)

要件は一般的な電話番号処理ではないため、次のようなもので目的を達成できます。

FILE *f = fopen ("mtn_numbers.txt", "w");
if (!f)
    fprintf (stderr, "error opening output file\n");
else
{
    for (long n = 0;  n < 10000000;  ++n)
        fprintf (f, "0803%07Ld\n", n);
    fclose (f);
}
于 2012-04-20T03:47:00.920 に答える