关于编码电话号码生成应用电话号码的建议从0开始

时间:2012-04-20 03:40:05

标签: c++ visual-c++-2010

您好,我想知道是否有人可以在这里帮助我,我是新手编程并尝试编写一个程序,从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. }

1 个答案:

答案 0 :(得分:2)

出于各种原因,最好将电话号码作为字符串处理。

您遇到的错误是几种计算机语言表示八进制(基数为8)的常量带有前导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);
}