全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1020
推到 Plurk!
推到 Facebook!

可以麻煩幫我看一下程式哪裡有不對的地方~謝謝^^

尚未結案
56angela
一般會員


發表:12
回覆:13
積分:5
註冊:2005-10-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-02 10:11:06 IP:59.115.xxx.xxx 未訂閱
 
        #include
        #include
        int main(void)
        {
            int i=0;
                int sump;
                float avgp;
            int sum1=0,sum2=0,sum3=0,sum4=0;
        
                int id[36]={8926141,8926259,9026120,9026161,9026256,9126107,9126113,9126116,9126131,9126202,9126325,9126366,9226111,9226122,9226131,9226132,9226134,9226135,9226137,9226155,9226156,9226159,9226160,9226201,9226205,9226219,9226221,9226238,9226240,9226258,9226309,9226310,9226336,9226337,9226351,9326259};
                int electric[36]={47,61,41,36,10,70,27,16,10,17,76,51,46,14,15,16,66,40,63,10,16,0,35,40,23,16,9,44,60,35,86,68,49,31,15,38};
                int digital[36]={85,79,93,46,80,100,45,50,74,30,85,58,63,57,47,39,80,21,0,0,74,49,90,70,44,60,53,93,72,20,62,78,70,87,63,82};
                int system[36]={88,92,81,81,74,77,40,69,40,67,85,47,49,66,19,16,40,0,74,50,63,70,83,0,0,44,21,60,74,50,50,82,30,53,66,67};
                int physical[36]={75,80,80,69,67,87,58,14,9,22,89,66,61,16,43,25,57,12,59,15,60,19,79,25,17,17,19,62,64,23,60,84,21,61,58,69};
         
            printf("  學號  電子學 數位電路 通訊系統 近代物理 平均\n");
        
                  for(i=0;i<36;i  )
                {
                    printf("%d%d\t%d\t%d\t%d",id[i],electric[i],digital[i],system[i],physical[i]);
                    sump=electric[i] digital[i] system[i] physical[i];
                    avgp=sump/4;
                    printf("%f\n",avgp);
                }
            
                     for(i=0;i<36;i  )
                          {
                             sum1 =electric[i];
                             sum2 =digital[i];
                             sum3 =system[i];
                             sum4 =physical[i];
                          } 
                printf("%d\t%d\t%d\t%d\t%d\n",sum1/36,sum2/36,sum3/36,sum4/36);
            
          system("pause");
          return 0;   
        }    
我執行這個程式時...顯示了`system' cannot be used as a function 後來將system("pause");刪除結果執行後程式停不下來~ 執行畫面一下就消失了~請各位幫忙~告訴我是哪裡出問題?謝謝
davidnow2
一般會員


發表:3
回覆:6
積分:1
註冊:2003-09-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-02 11:08:40 IP:61.229.xxx.xxx 未訂閱
我的做法是設一個breakpoint,可以看到程式執行的結果,不會直接關閉。
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-02 12:44:13 IP:61.217.xxx.xxx 未訂閱
56angela 妳好:    妳的程式中使用到以 system 為名的陣列,將程式中所有用到該陣列名稱的敘述都更改掉 (例如改成 commsys) 就可以通過編譯了。 如果前述陣列名稱不更改的話,就不能使用 system() 函式,那麼妳也仍然可以試試看用 "透過批次檔" 的方式來解決 "畫面一閃而過" 的問題,假設妳所寫的程式編譯後的執行檔名稱為 score.exe,那麼妳就使用記事本之類的文字編輯程式建立一個名為 ShowScore.bat 的批次檔,該檔與前述的執行檔放在同一個目錄內,內容設定如下,存檔後就可以執行了:
@echo off
score.exe
pause
請注意,score.exe 字樣要改成妳自己的執行檔名稱,批次檔的名稱可以自行命名,但是不可以與其它的執行檔同名 (.exe, .com....),試試看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/10/02 13:21:21
56angela
一般會員


發表:12
回覆:13
積分:5
註冊:2005-10-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-02 13:45:07 IP:59.115.xxx.xxx 未訂閱
引言: 我的做法是設一個breakpoint,可以看到程式執行的結果,不會直接關閉。
引言: 謝謝解答... 那我要如何設呢?可以說明詳細一點嗎?我還是個初學者> < 不知道該如何設成你所說的... 還有...也謝謝RedSnow的回應...雖然不知道該怎麼做T.T() < face="Verdana, Arial, Helvetica"> 發表人 - 56angela 於 2005/10/02 13:48:15
davidnow2
一般會員


發表:3
回覆:6
積分:1
註冊:2003-09-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-02 14:16:39 IP:61.217.xxx.xxx 未訂閱
RedSnow大大的意思是,妳可以先用文字編輯軟體,例如:記事本, 將下列文字輸入後,將此文字檔存成xxx.bat(名字自取)記得副檔名要為.bat(批次檔的副檔名),再執行此批次檔即可。 @echo off score.exe =>妳的程式名稱xxx.exe pause
56angela
一般會員


發表:12
回覆:13
積分:5
註冊:2005-10-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-02 15:04:42 IP:59.115.xxx.xxx 未訂閱
引言: RedSnow大大的意思是,妳可以先用文字編輯軟體,例如:記事本, 將下列文字輸入後,將此文字檔存成xxx.bat(名字自取)記得副檔名要為.bat(批次檔的副檔名),再執行此批次檔即可。 @echo off score.exe =>妳的程式名稱xxx.exe pause
引言: 我懂你的意思了~謝謝 可以再問一個問題嗎? > <||| 那要如何執行這個批次檔 根據RedSnow大大說的"批次檔與執行檔放在同一個目錄內" 要如何做到呢? 謝謝
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-02 15:04:50 IP:59.115.xxx.xxx 未訂閱
56angela 妳好:    我在前一篇回應中有做過修改,補充了妳的程式在編譯時發生錯誤的原因與解決的方法,不知道妳是不是沒看到?
妳僅需要將妳原先程式中 system 陣列的宣告:    int system[36]={88,92,81....};    改成下列這個樣子 (將陣列名稱改掉):    int commsys[36]={88,92,81....};    然後將其後的 system[i] 字樣都改成 commsys[i] 即可通過編譯。
(使用 system("pause"); 那一行敘述不會再發生錯誤了)

如果妳做了上述的修改,就沒有必要再採用第二種方式 (另寫一支批次檔) 來解決問題了。

7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/10/02 16:00:44
56angela
一般會員


發表:12
回覆:13
積分:5
註冊:2005-10-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-02 15:58:03 IP:59.115.xxx.xxx 未訂閱
TO:RedSnow 謝謝你~我懂了 真的很感激你為我解答^^
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-03 00:27:33 IP:218.168.xxx.xxx 未訂閱
56angela您好: 請記得將您的問題結案,且為您的問題取一個有意義的標題< > <>規說明請參考下面連結,煩請修改謝謝您的配合< > >
macgrady
一般會員


發表:7
回覆:6
積分:2
註冊:2005-01-06

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-10-07 11:29:32 IP:140.134.xxx.xxx 未訂閱
小弟試過妳的程式有些小地方可能要改一下 如同RedSnow大大所說的儲存成績的陣列名稱要改掉外     
 
printf("%d\t%d\t%d\t%d\t%d\n",sum1/36,sum2/36,sum3/36,sum4/36);
應多加入一個"\t"在printf的第一個%d前面
如:printf("\t%d\t%d\t%d\t%d\t%d\n",sum1/36,sum2/36,sum3/36,sum4/36);
56angela
一般會員


發表:12
回覆:13
積分:5
註冊:2005-10-01

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-10-12 01:29:11 IP:61.216.xxx.xxx 未訂閱
引言: 謝謝你的回應^^
系統時間:2024-05-03 22:44:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!