| 5 | 1/1 | 返回列表 |
| 查看: 2419 | 回復(fù): 4 | |||
haopaper金蟲 (正式寫手)
|
[求助]
求助關(guān)于C++語言中遞歸函數(shù)的輸出問題 已有1人參與
|
|
問題是這樣的,我有一個用來計算分形結(jié)構(gòu)的函數(shù),這個函數(shù)是一個遞歸函數(shù),然后我想把所有的結(jié)果都輸出在一個TXT文件中,這個該如何實現(xiàn)呢?其實就是遞歸函數(shù)的結(jié)果要輸出在一個TXT文件里面。 我在函數(shù)內(nèi)部定義了一個輸出流,但是每次運行后都只有最后一次遞歸的結(jié)果,之前的都被覆蓋了。 void Canto(float ax, float ay, float bx, float by, int count) { float l = 100.0; ofstream OutCome("Zuobiao.txt" ;if ((bx - ax) < l) { OutCome << ax << " " << ay << "0" << endl; OutCome << bx << " " << by << "0" << endl; OutCome.close(); } else { double cx, cy, dx, dy; cx = ax + (bx - ax) / 3.0; cy = ay + 10.0; dx = bx - (bx - ax) / 3.0; dy = by + 10.0; ay = ay + 10.0; by = by + 10.0; count++; Canto(ax, ay, cx, cy, count); Canto(dx, dy, bx, by, count); } } |
至尊木蟲 (著名寫手)
金蟲 (正式寫手)
鐵蟲 (初入文壇)
|
你的問題在于每次調(diào)用`Canto`函數(shù)時,都會重新打開并覆蓋原有的`Zuobiao.txt`文件。為了解決這個問題,你可以考慮將文件操作移出遞歸函數(shù),并在每次遞歸結(jié)束后,關(guān)閉文件。這樣就不會出現(xiàn)文件被覆蓋的情況了。 修改后的代碼如下: ```cpp #include <fstream> // 包含ofstream類 void Canto(float ax, float ay, float bx, float by, int count) { float l = 100.0; std: fstream Outcome("Zuobiao.txt" ; // 使用std命名空間,避免與系統(tǒng)庫沖突if ((bx - ax) < l) { Outcome << ax << " " << ay << "0" << std::endl; Outcome << bx << " " << by << "0" << std::endl; Outcome.close(); } else { double cx, cy, dx, dy; cx = ax + (bx - ax) / 3.0; cy = ay + 10.0; dx = bx - (bx - ax) / 3.0; dy = by + 10.0; ay = ay + 10.0; by = by + 10.0; count++; Canto(ax, ay, cx, cy, count); Canto(dx, dy, bx, by, count); } } ``` 在這個版本的代碼中,我們使用了`std: fstream`來創(chuàng)建文件對象,并在每次遞歸結(jié)束后,手動關(guān)閉文件。這樣就能確保每次遞歸都能向同一個文件中寫入數(shù)據(jù),而不是覆蓋掉之前的數(shù)據(jù)。發(fā)自小木蟲Android客戶端 |
金蟲 (正式寫手)
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 282分材料專業(yè)求調(diào)劑院校 +14 | 楓橋ZL 2026-03-09 | 20/1000 |
|
|---|---|---|---|---|
|
[考研] 環(huán)境調(diào)劑 +5 | 曉看天暮看云 2026-03-09 | 5/250 |
|
|
[基金申請] 面上項目還需要AI說明嗎? +3 | liyundong 2026-03-08 | 3/150 |
|
|
[考研] 調(diào)劑 +4 | 調(diào)劑的考研學(xué)生 2026-03-09 | 4/200 |
|
|
[考研] 考研調(diào)劑,一志愿山東大學(xué)材料與化工,328分,政治51 +5 | 關(guān)你西紅柿929 2026-03-08 | 6/300 |
|
|
[考研] 材料調(diào)劑 +4 | xxxcm 2026-03-08 | 7/350 |
|
|
[考研] 083000環(huán)境科學(xué)與工程調(diào)劑 +5 | 加油呀fxy 2026-03-07 | 6/300 |
|
|
[考研] 269求調(diào)劑 +3 | 朔朔話 2026-03-08 | 4/200 |
|
|
[考研] 288求調(diào)劑 +5 | 好好- 2026-03-07 | 5/250 |
|
|
[考研] 085701環(huán)境工程專業(yè),初試305,均過國家A區(qū)線 +7 | 卡卡來了@ 2026-03-07 | 8/400 |
|
|
[考研] 070300化學(xué)求調(diào)劑292分 +3 | 打烊eee 2026-03-07 | 3/150 |
|
|
[考研] 求調(diào)劑 +4 | 呼呼?~+123456 2026-03-05 | 5/250 |
|
|
[考研] 一志愿中石油,化學(xué)工程,301求調(diào)劑 +4 | 豚饅枳枳 2026-03-04 | 4/200 |
|
|
[考研]
|
zbcm_zbcm 2026-03-05 | 6/300 |
|
|
[考研] 08工科求調(diào)劑 +3 | 隆LLL 2026-03-06 | 4/200 |
|
|
[考研] 070300化學(xué) 280 一志愿太原理工 求調(diào)劑 +8 | 拾玖壹 2026-03-04 | 8/400 |
|
|
[考研] 293求調(diào)劑 +3 | 是樂渝哇 2026-03-04 | 3/150 |
|
|
[考研] 材料專碩346求調(diào)劑 +3 | 旺一下 2026-03-04 | 3/150 |
|
|
[考研] 312求調(diào)劑 +8 | 醋精華了一下發(fā)?/a> 2026-03-03 | 10/500 |
|
|
[考研] 298求調(diào)劑 +3 | 人間唯你是清歡 2026-03-03 | 4/200 |
|