0

您好,我想知道是否有人可以在这里帮助我,我是编程新手并尝试编写一个程序来生成从 0 开始的电话号码,网络提供商以 0803 开头,总共 11 个号码。我想生成一些营销数据。错误说,无效的八进制数字,但我希望它能够工作,所以我不需要自己添加零

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. 要写入十进制数,请从数字 1 到 9 开始。

电话号码通常包含各种标点符号,例如. , - ()开头。某些电话公司内部号码包含“数字”AD。此外,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 回答