2012-04-20 54 views
0

你好,我想知道是否有人可以幫助我在這裏,是編程的新手,並試圖編寫一個程序,生成從0開始的電話號碼網絡提供商以0803開始的11個數字。我想爲營銷產生一些數字。錯誤我收到說,無效的八進制數字,但我想它的工作,所以我不會需要添加零自己關於編碼電話號碼生成應用程序電話號碼的建議從0開始

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. } 
+0

仍在尋找爲什麼我被問受阻的原因問題,只有兩個問題。我已經閱讀了常見問題解答,但仍然沒有提到爲什麼我停止發佈更多消息/問題 – 2012-06-30 16:39:18

回答

2

,如果你處理的電話號碼爲字符串,用於各種原因這將是最好的。

您遇到的錯誤是幾種計算機語言指示帶有前導0的八進制(基數8)常量。要寫出一個十進制數,到9

電話號碼開始與數字1常含有各種標點符號,像.,-()對於初學者。某些電話公司內部號碼包含「數字」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); 
} 
+0

這很簡單,'C',在C++中工作得很好。字符串前綴「0803」後面跟着格式轉換「%07Ld」是中等先進的,但這是醫生的命令。 – wallyk 2012-04-20 04:17:52

+0

實際上,有18位數字:'0-9','A-F'和'*#'。最後兩個別名是「AB」還是「EF」,但取決於您的本地電話系統。 (晦澀的電話瑣事第98部分;)) – MSalters 2012-04-20 07:25:06