![]() |
請問 C++ 的期末考試
因為我才剛學C++,很多地方不懂請高手指點~~
如果我想把一篇文字檔,讀入C++中,而且可以指定文字存取 只要DOS那種程式碼就可以了(WIN32) 該怎麼做呢? 我在網路上幾乎找不到任何資料 比如說,我讀入一個文字檔,內容是 123456 789888 接下來我想運用此文字檔內的資料做運算 比如說 把第一行所有的數字相加 乘上第二行的第 3 個數字 該怎麼做呢? 非常謝謝 另外可否從<includ iostream>完整的給我程式碼 因為我怕自己想會有錯誤 事關期末考~非常謝謝 |
可以給你一些建議....抱歉小弟下禮拜也要考試...沒控幫你寫(我也不是很強說)
------------------------ 你可以使用get指令.....一次讀取一ㄍ字元....寫入一ㄍ緩衝區中( 例如一ㄍ陣列 ) 這樣就可以任意ㄉ運算了 ------------------------- 如有說錯或有更好ㄉ方式.....請指教 |
以下有個地方錯誤
也就是 ch[0] = b2[atol(temp)]; 您可以改改看 (程式寫的不太好,因為個人都是玩 VB,c++很久才碰一次 ^^||) #include <iostream> #include <fstream> using namespace std; ifstream infile; //宣告一個file物件 void read_line(char string[]) { int i=0; do { string[i] = (char)infile.get(); i++; } while ((string[i-1] != '\n') && infile.good()); string[i-1] = '\0'; } //接著是 main主體 int main () { char b1[255];//*b1; //宣告b1字串 char b2[255];//*b2; //宣告b2字串 char ch[]={'0','\0'}, temp[255]; int i; //開啟 test.txt 檔案 : void open ( const char * filename, openmode mode = in ); infile.open("test.txt"); //讀第一行到字串b1中 read_line(b1); //讀第二行到字串b2中 read_line(b2); //輸入取第幾個字元當乘數 printf("請從[ %s ]選第n個數當乘數:",b2); scanf("%s", temp); ch[0] = b2[atol(temp)]; //輸出結果 printf("%s * %l = %l \n", b1, atol(ch), atol(b1)*atol(ch)); infile.close(); //關閉檔案 system("PAUSE"); return 0; //main 是一個函式要傳出一個值 } |
還是公布答案好了
... //輸入取第幾個字元當乘數 printf("被乘數是[ %s ],請從[ %s ]選第n個數當乘數:", b1, b2); scanf("%s", temp); ch[0] = b2[atol(temp)-1]; //因為陣列是從 b2[0] 開始算 //輸出結果 printf("%s * %s = %ld \n", b1, ch, atol(b1)*atol(ch)); ... 缺點 |
所有時間均為台北時間。現在的時間是 02:44 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *