找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
發表文章前請先閱讀相關版規尊貴會員無限使用任何功能認識好友、聊天,分享生活趣事
mega無碼cosplay催眠人妖ge惡靈古堡rpg
nana藥師少女我的幸福響石セリカマmdb 814re

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]Re:Monster 04-

華為手機 AI讓女生一

[繁]魔法科高中的劣等

石碇國道5號 女警處理

[繁]月光下的異世界之

[繁]為美好的世界獻上
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 3726|回復: 7
打印上一主題下一主題

[求助]菜鳥學習某教科書範例不會撰寫,想請教各位高手指教 關閉[複製鏈接]

帖子
33
積分
23 點
潛水值
3604 米
跳轉到指定樓層
受到警告樓主
發表於 2015-4-14 12:19 AM|只看該作者|倒序瀏覽
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
我是一位菜鳥,想學C#

這個範例是我參考某教科書所看到的實作範例

此題實在寫不出來,想請教高手如何解題??麻煩了

Q. 題目是新增投票後,歌手名單與投票結果清單項目,會依照票數排序??


我隨教科書指導實作到以下程式,

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;

  10. namespace WindowsFormsApplication12
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.         string[] singer = new string[] { "林宥嘉", "周杰倫", "蕭敬騰", "小宇", "方大同" };
  19.         string[] msg = new string[] { "大小說家/華研", "12新作/杰威爾", "以愛之名/華納", "在一次/愛貝克思", "回到未來/華納" };
  20.         int [] votes = new int [5];
  21.         private void Form1_Load(object sender, EventArgs e)
  22.         {
  23.             
  24.             cbosinger.Items.AddRange(singer);
  25.             for (int i = 0; i < singer.Length; i++) {
  26.                 lstVote.Items.Add(singer[i] + "\t" + votes[i] + "票");
  27.             }
  28.          cbosinger.SelectedItem = singer[0];
  29.         }  

  30.         private void cbosinger_SelectedIndexChanged(object sender, EventArgs e)
  31.         {
  32.             lblMsg.Text = msg[cbosinger.SelectedIndex];
  33.         }

  34.         private void btnVote_Click(object sender, EventArgs e)
  35.         {
  36.             votes[cbosinger.SelectedIndex] += 1;
  37.             lstVote.Items.Clear();
  38.             for (int i = 0; i < votes.Length; i++)
  39.             {
  40.                 lstVote.Items.Add(singer[i] + "\t" + votes[i] + "票");
  41.             }
  42.         }
  43.     }
  44. }
複製代碼


...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
分享分享0收藏收藏0支持支持0

使用道具檢舉

Rank: 1

帖子
190
積分
38 點
潛水值
5620 米
頭香
發表於 2015-4-15 04:47 PM|只看該作者
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
程式碼裡面並沒有加入排序的Code, 你自己還要在實作一個簡單的按照數字大小排列的排序, 在按照新的排序來填入到combo box.
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 1

帖子
31
積分
195 點
潛水值
8301 米
3
發表於 2015-4-15 11:06 PM|只看該作者
本帖最後由 st89382000 於 2015-4-15 11:15 PM 編輯

如果是另外寫排序的話感覺比較麻煩
把Votes陣列先複製一份
然後中先找Max的Index
然後列出那個INDEX的歌手名稱與專輯
列出後再把目前的最大值設成-1(投票數不可能出現負數)
然後繼續再從陣列MAX的INDEX
重複動作次數等於VOTES陣列的長度

或者是  寫一個歌手 Class
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

帖子
33
積分
23 點
潛水值
3604 米
4
發表於 2015-4-20 10:56 AM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
PFLiu 發表於 2015-4-15 04:47 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

程式碼裡面並沒有加入排序的Code, 你自己還要在實作一個簡單的按照數字大小排列的排序, 在按照新的排序來填 ...

感謝你指導,謝謝.....會在去找其他課本看看,此本教科書沒有介紹到判斷排序...
瀏覽完整內容,請先 註冊登入會員
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

帖子
33
積分
23 點
潛水值
3604 米
5
發表於 2015-4-20 11:04 AM|只看該作者
st89382000 發表於 2015-4-15 11:06 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

如果是另外寫排序的話感覺比較麻煩
把Votes陣列先複製一份
然後中先找Max的Index

感謝你的指導,謝謝.....會參考你提供方式去解開我的題目,請問C#這總有推薦什麼教科書可以買來自學嗎?我買書好像感覺買錯了...
瀏覽完整內容,請先 註冊登入會員





使用道具檢舉

Rank: 2Rank: 2

帖子
378
積分
318 點
潛水值
16094 米
6
發表於 2015-4-20 07:37 PM|只看該作者
我推薦 深入淺出c#  O'REILLY!
沒基礎硬啃到有一點了解!!

使用道具檢舉

帖子
33
積分
23 點
潛水值
3604 米
7
發表於 2015-4-22 11:53 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
氣球n 發表於 2015-4-20 07:37 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

我推薦 深入淺出c#  O'REILLY!
沒基礎硬啃到有一點了解!!

謝謝推薦,我會去此書來參考看看!~感恩
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

samou568 該用戶已被刪除
8
發表於 2015-5-13 11:11 AM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 arthurliuliu 於 2015-5-22 08:00 AM 編輯

加入中介指標, 使用間接索引:

  1. int [] idxs = {0, 1, 2, 3, 4};
複製代碼

27行改為
  1. lstVote.Items.Add(singer[idxs[i]] + "\t" + votes[idxs[i]] + "票");[/i][/i]
複製代碼

39行改為
  1. [i][i]votes[idxs[cbosinger.SelectedIndex]] += 1;[/i][/i]
複製代碼

43行改為
  1. [i][i]lstVote.Items.Add(singer[idxs[i]] + "\t" + votes[idxs[i]] + "票");[/i][/i][/i][/i]
複製代碼

39行底下加個排序
  1. [i][i][i][i]int idx = idxs[cbosinger.SelectedIndex];
  2. for (int i=cbosinger.SelectedIndex; i >=0; --i)
  3. {
  4.   if (i != 0 && votes[idxs[i]] > votes[idxs[i-1])
  5.     idxs[i] = idx[i-1];
  6.   else {
  7.     idxs[i] = idx;
  8.     break;
  9.   }
  10. }[/i][/i][/i][/i][/i][/i][/i]
複製代碼
02.發帖/回帖未依規定包住程式碼(-5分)
版主代為編輯。

...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部