| 5 | 1/1 | 返回列表 |
| 查看: 2394 | 回復(fù): 4 | ||
haopaper金蟲(chóng) (正式寫(xiě)手)
|
[求助]
求助關(guān)于C++語(yǔ)言中遞歸函數(shù)的輸出問(wèn)題 已有1人參與
|
|
問(wèn)題是這樣的,我有一個(gè)用來(lái)計(jì)算分形結(jié)構(gòu)的函數(shù),這個(gè)函數(shù)是一個(gè)遞歸函數(shù),然后我想把所有的結(jié)果都輸出在一個(gè)TXT文件中,這個(gè)該如何實(shí)現(xiàn)呢?其實(shí)就是遞歸函數(shù)的結(jié)果要輸出在一個(gè)TXT文件里面。 我在函數(shù)內(nèi)部定義了一個(gè)輸出流,但是每次運(yùn)行后都只有最后一次遞歸的結(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); } } |
至尊木蟲(chóng) (著名寫(xiě)手)
金蟲(chóng) (正式寫(xiě)手)
鐵蟲(chóng) (初入文壇)
|
你的問(wèn)題在于每次調(diào)用`Canto`函數(shù)時(shí),都會(huì)重新打開(kāi)并覆蓋原有的`Zuobiao.txt`文件。為了解決這個(gè)問(wèn)題,你可以考慮將文件操作移出遞歸函數(shù),并在每次遞歸結(jié)束后,關(guān)閉文件。這樣就不會(huì)出現(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)庫(kù)沖突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); } } ``` 在這個(gè)版本的代碼中,我們使用了`std: fstream`來(lái)創(chuàng)建文件對(duì)象,并在每次遞歸結(jié)束后,手動(dòng)關(guān)閉文件。這樣就能確保每次遞歸都能向同一個(gè)文件中寫(xiě)入數(shù)據(jù),而不是覆蓋掉之前的數(shù)據(jù)。發(fā)自小木蟲(chóng)Android客戶端 |
金蟲(chóng) (正式寫(xiě)手)
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿鄭州大學(xué),學(xué)碩,物理化學(xué), 333求調(diào)劑 +4 | 李魔女斗篷 2026-03-04 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 中國(guó)科學(xué)技術(shù)大學(xué)材料與化工281求調(diào)劑,有科研和獲獎(jiǎng)經(jīng)歷 +9 | wsxw 2026-03-02 | 10/500 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | G212 2026-03-03 | 5/250 |
|
|
[考研] 085601 材料305分求助 +3 | 泡泡郵件 2026-03-03 | 5/250 |
|
|
[考研] 求調(diào)劑院校 +6 | 云朵452 2026-03-02 | 11/550 |
|
|
[考研] 復(fù)試調(diào)劑 +4 | 杰尼龜aaa 2026-03-03 | 4/200 |
|
|
[考研] 0703 總分319求調(diào)劑 +4 | Xinyuu 2026-03-02 | 4/200 |
|
|
[考研] 291求調(diào)劑 +4 | Afy123456 2026-03-03 | 7/350 |
|
|
[考研] 298求調(diào)劑 +3 | 人間唯你是清歡 2026-03-03 | 4/200 |
|
|
[考研] 299求調(diào)劑 +5 | kkcoco25 2026-03-02 | 9/450 |
|
|
[考研] 化學(xué)0703求調(diào)劑 學(xué)碩 理/工科均可 總分279 +3 | 1一11 2026-03-03 | 5/250 |
|
|
[考研] 清華大學(xué) 材料與化工 353分求調(diào)劑 +5 | awaystay 2026-03-02 | 6/300 |
|
|
[考研] 285求調(diào)劑 +9 | 滿頭大汗的學(xué)生 2026-02-28 | 9/450 |
|
|
[考研] 材料復(fù)試調(diào)劑 +5 | 學(xué)材料的點(diǎn) 2026-03-01 | 6/300 |
|
|
[考研] 306分材料調(diào)劑 +5 | chuanzhu川燭 2026-03-01 | 6/300 |
|
|
[考研] 哈工大計(jì)算機(jī)劉劼團(tuán)隊(duì)招生 +4 | hit_aiot 2026-03-01 | 6/300 |
|
|
[基金申請(qǐng)] 此成果不能導(dǎo)入原因:元數(shù)據(jù)必填信息不完整,可 進(jìn)行補(bǔ)充。 +4 | Kittylucky 2026-03-02 | 5/250 |
|
|
[考研] 材料調(diào)劑 +6 | 愛(ài)擦汗的可樂(lè)冰 2026-02-28 | 7/350 |
|
|
[基金申請(qǐng)]
|
Doma 2026-03-01 | 7/350 |
|
|
[考研] 299求調(diào)劑 +3 | Y墨明棋妙Y 2026-02-28 | 5/250 |
|