請問如何從讀取的檔案裡的數字再計算(用visual c++或Dev c++的語法寫) |
尚未結案
|
56angela
一般會員 發表:12 回覆:13 積分:5 註冊:2005-10-01 發送簡訊給我 |
麻煩各位c語言高手,幫我解答這個問題:
我目前在寫一個程式,是有關算平均的
例如:
學號 數學 英文
1 90 89
2 76 69
: : :
: : :
36 87 88
(以上是txt檔)
如果要計算所開啟檔案裡的數字該怎麼寫呢?
p.s.要算個人平均 以及 單科全班平均 希望各位能幫幫忙> < 以下是我目前寫的程式:
#include
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
56angela 妳好: 請注意程式碼的縮排整理並參考下列連結頁面內的說明,然後透過 "修改文章" 的功能重新張貼妳的程式碼,以便他人瀏覽:
【公告】程式碼張貼規則與方法
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=57538 【公告】重申版規與作業問題說明
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58991
7 天天敲鍵盤 v 時時按滑鼠 8
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
56angela 妳好: 依據妳原先的程式結構,給妳一個範例如下,我盡可能在各個處理步驟都加上註解,希望對妳的學習能有所幫助:
#include上述程式仍有簡化的空間,妳不妨自己試試看。 <> <>> 天天敲鍵盤 <>> 時時按滑鼠 <>> > |
56angela
一般會員 發表:12 回覆:13 積分:5 註冊:2005-10-01 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
56angela 妳好:
引言:想請問為什麼需要乘以10,還有為何一定要減去'0'首先妳必須了解一個觀念性的問題:程式所讀入的 ch 是數字字元而不是實際的數字,直接拿來計算的話,會變成在計算 ch 所代表那個字元的 ASCII 碼,'0' 至 '9' 字元的 ASCII 碼是 48 (0x30) 至 57 (0x39) 而不是 0 至 9,如果不減掉 '0' (48) 的話,所有計算出來的數字都會不正確。 其次回答妳第一個問題:因為程式是逐個字元讀取的,如果不將前一個乘以 10,我們就無法正確取得整組文字碼所代表的數字,以 "89" 這組數字為例,程式在讀到 '8' 這個字元時,代入上述妳引出的計算式中,會變成 tmp = (0*10) (56-48),因此 tmp 會存入 8 這個數字,接著程式會讀到 '9' 這個字元,代入前述的計算式後,會變成 tmp = (8*10) (57-48),因此 tmp 會存入 89,這就是將字元的 "89" 轉為實際的數字 89 的動作。tmp = (tmp*10) (ch-'0'); 引言:還有...為什麼要讓tmp=0(當遇到空格或換行時)各組數字都是以空格分隔的,每行最後一組數字與下一行資料間則是以換行符號做分隔,tmp 變數是拿來組合各組數字之用的 (請參考前一個問題中講到的那一個計算式),不歸零的話,計算出來的數字會不正確。 7 天天敲鍵盤 v 時時按滑鼠 8 |
56angela
一般會員 發表:12 回覆:13 積分:5 註冊:2005-10-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |