iT邦幫忙

0

C# 請問哪裡有錯 ?

錯誤停在 sum += A[i]; 請指點 謝謝 !__

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int[] A = new int[6];
            int i;
            int sum = 0;
            A[0] = 50; A[1] = 60; A[2] = 70; A[3] = 80; A[4] = 85; A[5] = 90; 
            for (i = 0; i <= 5; i++)
                sum += A[i];
                MessageBox.Show("平均成績為:"+ sum/6);
            MessageBox.Show("總分為:" + sum );
        }
     }
   
}
看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2017-09-28 00:10:59 檢舉
我跑的結果沒有問題,
請問你是遇到什麼問題?
石頭 iT邦高手 1 級 ‧ 2017-09-28 08:11:40 檢舉
請附上錯誤訊息
lard0921 iT邦新手 4 級 ‧ 2017-09-28 08:12:40 檢舉
看這個是不是少了 { } 執行沒有問題
他的問題大概就是……書沒看完吧!
想當軟體工程師,卻連靠自己debug都不願意做,一遇到「小問題」就要來發問…
小魚,我建議你熱心歸熱心,但就到此為止就好。
fillano iT邦超人 1 級 ‧ 2017-09-28 10:20:26 檢舉
如果是要驗證邏輯或演算法,我常用:https://dotnetfiddle.net/,模擬個Console程式就夠了。
建議 把 int[] A = new int[6]; 跟 A[0] = 50; A[1] = 60; A[2] = 70; A[3] = 80; A[4] = 85; A[5] = 90;
換成 int[] A = new int[] { 50, 60, 70, 80, 85, 90 }; 這樣比較簡潔
還有 for loop 要有 {} 包裹,例如下面這樣的寫法
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
本人多年不寫程式了,上面都是谷哥哥跟我說的,這種問題問谷哥哥就好
不需要來這邊獻醜,如果你問的是邏輯問題,至少會有人願意回
但你連基本的寫法都在問,不爽回的就很多人了,建議樓主,問問題前先問谷哥哥
然後思考一下,檢查一下,自己的程式哪邊有問題,
基本上,如果你問如何列井字欄三角形多邊形的運算邏輯是啥
回的人就會很多,因為這種題目有很大的彈性,也比較活
但基本語法都在問,那真的就是書看得不夠了
alex9453 iT邦新手 2 級 ‧ 2017-09-28 11:31:24 檢舉
這個程式是課本上寫的,但卻無法執行,所以我才來問,難道是課本印錯嗎?
alex9453 iT邦新手 2 級 ‧ 2017-09-28 11:44:51 檢舉
看半天看不出來哪裡有錯,晚上再把錯誤畫面貼上來
椅恩啾 iT邦新手 5 級 ‧ 2017-09-28 11:56:25 檢舉
我猜測你應該是用visual studio開發的,建議你直接將整個visual studio的畫面截圖下來,我們如果可以看到visual studio下面的錯誤訊息,應該就可以很快解決你的問題了
椅恩啾 iT邦新手 5 級 ‧ 2017-09-28 11:56:30 檢舉
多按了一次送出QQ
看半天看不出那裡有錯…
寫程式是用看的…
蒸蚌!
alex9453 iT邦新手 2 級 ‧ 2017-09-28 22:21:00 檢舉
謝謝大家熱情回答 , 晚上又執行一次 , 就沒錯誤了真怪 , 我是用 win 7 + vs 2017 , 下次要截圖下來才好看
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
king742171
iT邦新手 2 級 ‧ 2017-09-28 11:46:09
最佳解答

同一段小魚可以動作
而你卻不行....
就要檢討自己是不是哪裡沒看清楚
就算書本有印錯~多半也不會錯得很誇張~
頂多某個符號或字母印錯或少印....
叫你自己翻書...爬文...
不是叫你就單純照抄....
要懂得融會貫通~~~~
自己也得要懂得發掘問題
懂得發掘問題...也比較能夠為自己創造題目...
做出屬於自己的成品~~

看更多先前的回應...收起先前的回應...
alex9453 iT邦新手 2 級 ‧ 2017-09-28 11:53:57 檢舉

我會照抄,就是因為想要融會貫通,就去改了參數但是無法執行,所以才想用原來的程式執行看看,是不是程式有問題,結果居然還是無法執行。

小魚 iT邦大師 1 級 ‧ 2017-09-28 12:00:14 檢舉

我直接複製貼上就可以執行了,
所以不是書的問題,
是你的問題.

froce iT邦大師 1 級 ‧ 2017-09-28 12:08:41 檢舉

你要把錯誤的log給我們看啊,我們又不是compiler,不可能看一眼就知道你問題在那。
另外真的要學著看error log,寫程式error log太重要了。

alex9453 iT邦新手 2 級 ‧ 2017-09-28 22:21:50 檢舉

謝謝大家熱情回答 , 晚上又執行一次 , 就沒錯誤了真怪 , 我是用 win 7 + vs 2017 , 下次要截圖下來才好看

3
baida0630
iT邦新手 4 級 ‧ 2017-09-28 13:33:37

先說我沒有要戰你的意思但是這裡很多人給你關鍵性的要求你一直沒有回應。

我們回答問題沒有義務性必須直指答案,而是提供你更多的思路去尋找答案,這裡是大家探討與互相幫助的地方,並非是予取予求的地方,今天你想要快點解決問題,建議你先把你的關鍵問題直指出來,你說了一句程式卡在哪裡,只有通靈人能幫的到你,程式出錯有太多可能性了,先不說程式邏輯本身上是不是有問題,從開發環境到你寫完一段程式都有可能有一點小小的失誤導致你的程式出現不能動的情況!

先去研究如何偵錯,再從偵錯出來的錯誤資訊去了解到哪裡錯了,如果真的找不到錯誤再把你開發環境提示的錯誤部分提出來讓大家看,到底是出了什麼問題。

問問題的時候記得把開發環境都敘述一遍,包括你使用的語言、開發的平台等等,根據問題內容有的還要順便提出你使用的OS、平台版本等等。

當你提供了以上的資訊,你的問題能夠更好的被大家所接收吸收,大家回答你的內容會更精準更直指關鍵!

你讓我們有過多的猜測你得到的答案只會讓你更一頭霧水。

最後根據你的圖片我猜測的開發平台給你一個偵錯教學點我

alex9453 iT邦新手 2 級 ‧ 2017-09-29 15:21:06 檢舉

謝謝指教

0
窮嘶發發發
iT邦高手 1 級 ‧ 2017-09-28 14:01:36

看不出哪裡有錯,最好 FOR LOOP 可以這麼寫啦

for (i = 0; i <= 5; i++)
                sum += A[i];
                MessageBox.Show("平均成績為:"+ sum/6);
            MessageBox.Show("總分為:" + sum );

正確應該是

for (i = 0; i <= 5; i++){
                sum += A[i];
                MessageBox.Show("平均成績為:"+ sum/6);
            MessageBox.Show("總分為:" + sum );
           }

基本的程式寫法都有問題,怎麼不把書看清楚再說
如果你買的書有問題,就去看原文書啊
寫程式不看原文書,看翻譯書,心態就有問題了
還說想學寫程式,一點小問題就發問,真的心態可議

看更多先前的回應...收起先前的回應...

三發也生氣了。

這種簡單的問題,我還要裝妹問谷哥哥,是人都會生氣
然後一堆回答的人根本就在抬槓,假裝看不出問題也蠻扯的
既然如此,就讓我來結束這回合

baida0630 iT邦新手 4 級 ‧ 2017-09-28 15:24:15 檢舉

我沒有抬槓喔 我很認真的回答
這個問題新手很容易遇到 尤其是他上面有宣告I 但是FOR迴圈給的值並沒有RUN進去 導致他下面的I是有宣告地但是沒有值 也因為這個原因 VS並沒有明顯的跳錯出來 所以他不知道問題在哪

這時候有一點經驗的話去下中斷點看i拿到的值就可以循線去找到FOR怎麼沒進去,再檢查一下FOR的錯誤就可以知道問題在哪了

那所有的問題就是他沒有去DEBUG所以我回答了DEBUG的方法給他

小魚 iT邦大師 1 級 ‧ 2017-09-28 19:05:58 檢舉

他沒有寫錯喔,
for執行的只是下面那一行
sum += A[i];
後面那兩行不在for迴圈裡面,
不過我直接複製貼上就可以正常執行了耶 @@

froce iT邦大師 1 級 ‧ 2017-09-28 19:43:10 檢舉

我是真的看不出來的那個,因為寫python真的沒在看花括號的。哈

alex9453 iT邦新手 2 級 ‧ 2017-09-28 22:21:28 檢舉

謝謝大家熱情回答 , 晚上又執行一次 , 就沒錯誤了真怪 , 我是用 win 7 + vs 2017 , 下次要截圖下來才好看

基本上,小弟用過的程式語言蠻多的,這種是基本常識
也許 C# 可以不加大括包裹,但對我來說,為了避免出錯
我還是加大括包裹比較好,至少這是避免出錯的方式
該用則用,該註解就要註解,當下花點時間,日後可以省下無盡的麻煩

我要發表回答

立即登入回答