Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ถ้าต้องการจัดกลุ่มนักเรียนกลุ่มละ 40 คน จาก 100 คน [จนปัญญาจริงๆ]



 

ถ้าต้องการจัดกลุ่มนักเรียนกลุ่มละ 40 คน จาก 100 คน [จนปัญญาจริงๆ]

 



Topic : 042845



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์




ถ้าต้องการจัดกลุ่มนักเรียนกลุ่มละ 40 คน จาก 100 คน แล้วให้แสดงชื่อของนักเรียนในแต่ละกลุ่มด้วย ต้องทำยังไงคะ

ประมาณว่า

ชื่อ กลุ่ม
aaa 1
bbb 1
ccc 2
ddd 2
: :
xxx n

ขอบคุณล่วงหน้าค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-05-14 00:21:37 By : amster View : 1224 Reply : 10
 

 

No. 1



โพสกระทู้ ( 381 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

ก็สร้างกลุ่มขึ้นมาแล้ว ก็เลือกคนไปเข้ากลุ่ม






Date : 2010-05-14 10:25:14 By : mee079
 


 

No. 2



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ถ้ายังคิดโปรแกรมไม่ออก ลองจัดกลุ่มด้วยมือดูก่อนครับ
Date : 2010-05-15 22:02:19 By : tungman
 

 

No. 3



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ ได้แล้ว
Date : 2010-05-16 21:22:29 By : amster
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ได้แล้ว ลองโพสวิธีด้วยน่ะครับ เผื่อจะมีสมาชิกอื่น ๆ เจอปัญหาเดียวกันครับ
Date : 2010-05-17 06:28:07 By : webmaster
 


 

No. 5



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


2010-05-14 00:21:37

Quote:
ถ้าต้องการจัดกลุ่มนักเรียนกลุ่มละ 40 คน จาก 100 คน แล้วให้แสดงชื่อของนักเรียนในแต่ละกลุ่มด้วย ต้องทำยังไงคะ

ประมาณว่า

ชื่อ กลุ่ม
aaa 1
bbb 1
ccc 2
ddd 2
: :
xxx n

ขอบคุณล่วงหน้าค่ะ


2010-05-16 21:22:29
Quote:
ขอบคุณครับ ได้แล้ว


ตกลงตัดสินใจได้ยัง ว่าจะเป็นผู้หญิงหรือผู้ชายดี ไม่ได้ว่าอะไรหรอกนะ เพราะไม่ทำให้คนอื่นเดืดร้อน

แต่เป็นเด็กเป็นเล็กหัดโกหกแบบนี้ โตขึ้นระวังจะเป็นนักการเมือง
Date : 2010-05-17 09:11:32 By : tungman
 


 

No. 6



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
ขอบคุณครับ ได้แล้ว


ใครอ่ะ
ยังไม่ได้เลยค่ะ

Quote:
ตกลงตัดสินใจได้ยัง ว่าจะเป็นผู้หญิงหรือผู้ชายดี ไม่ได้ว่าอะไรหรอกนะ เพราะไม่ทำให้คนอื่นเดืดร้อน

แต่เป็นเด็กเป็นเล็กหัดโกหกแบบนี้ โตขึ้นระวังจะเป็นนักการเมือง



ไม่ใช่นะคะ ใครก็ไม่รู้มั่วมา
Date : 2010-05-17 09:20:07 By : amster
 


 

No. 7



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


ไปสมัคร id ใหม่แล้วอย่า log in ค้างไว้แล้วกัน
เอาว่าน่าจะเกิดจากการไปใช้เครื่องสาธารณะ
และลืม log out แล้วบังเอิญมีคนอื่นไปใช้ต่อ
แล้วก็บังเอิญเข้ามาที่ thaicreate
แล้วบังเอิญมาโพสต่อกระทู้นี้กระทู้เดียว
ยกผลประโยชน์ให้จำเลยค่ะ
Date : 2010-05-17 09:24:44 By : blurEyes
 


 

No. 8



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


บังเอิญซ้อนบังเอิญ โอกาสเกิดน้อยกว่าถูกหวยรางวัลที่หนึ่งอีก

เตือนแล้วยังไม่เลิกอีก ระวังสีข้างเป็นแผล กิ้วกิ้ว

แต่ยกผลประโยชน์ให้จำเลยเช่นกัน คราวหน้าก็เนียนๆ หน่อยนะ
Date : 2010-05-17 09:33:28 By : tungman
 


 

No. 9



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


ถึงจะเป็นอะไร ขอเพียงเป็นคนดีก็ตอบให้ค่ะ
จากโจทย์จะใช้ Jagged Array นะคะ

สร้าง winapp project มาอันนึง
แล้ว ไปที่ code ของ form1 ค่ะ
ลบทุกอย่างออก
แล้ว copy code นี้ลงไปค่ะ

Code (VB.NET)
Imports System.Windows.Forms
Imports System.Collections.Generic

Public Class Form1
    'Private ButtonList As List(Of Button) = New List(Of Button)()
    'Private Const MaxButtonNumber As Integer = 5

    'Private AttachEventButton As Button = New Button()
    'Private DetachEventButton As Button = New Button()

    Dim DisplayBox As ListBox = New ListBox()
    Dim RadioRandomIsOn As RadioButton = New RadioButton()
    Dim RadioRandomIsOff As RadioButton = New RadioButton()

    Dim NumericUpDownTotalStudentPerGroup As NumericUpDown = New NumericUpDown()
    Dim submitButton As Button = New Button()

    Private PassRunOnce As Boolean = False
    Dim myStudentOnGroup As StudentAssignment = New StudentAssignment()

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        PassRunOnce = False

        Dim allStudent As List(Of String) = New List(Of String)

        For a As Integer = 1 To 100
            allStudent.Add("นักเรียนคนที่ " + a.ToString())
        Next

        InitControl()


        myStudentOnGroup.allStudent = allStudent
        myStudentOnGroup.IsRandom = False
        myStudentOnGroup.StudentPerGroup = 40
        'myStudentOnGroup.OnAssigned()

        RadioRandomIsOn.Checked = myStudentOnGroup.IsRandom
        RadioRandomIsOff.Checked = Not myStudentOnGroup.IsRandom

        NumericUpDownTotalStudentPerGroup.Minimum = 1
        NumericUpDownTotalStudentPerGroup.Maximum = allStudent.Count
        NumericUpDownTotalStudentPerGroup.Value = myStudentOnGroup.StudentPerGroup

        PassRunOnce = True

    End Sub

    Private Sub InitControl()

        Me.Width = 600
        Me.Height = 400
        DisplayBox.Location = New System.Drawing.Point(10, 10)
        DisplayBox.Size = New System.Drawing.Size(300, 300)
        DisplayBox.TabIndex = 0
        Me.Controls.Add(DisplayBox)

        RadioRandomIsOn.AutoSize = True
        RadioRandomIsOn.Location = New System.Drawing.Point(320, 12)
        RadioRandomIsOn.Size = New System.Drawing.Size(90, 17)
        RadioRandomIsOn.TabIndex = 1
        RadioRandomIsOn.Name = "RadioRandomIsOn"
        RadioRandomIsOn.TabStop = True
        RadioRandomIsOn.Text = "Random assigned"
        RadioRandomIsOn.UseVisualStyleBackColor = True
        RadioRandomIsOn.Checked = True
        Me.Controls.Add(RadioRandomIsOn)

        RadioRandomIsOff.AutoSize = True
        RadioRandomIsOff.Location = New System.Drawing.Point(320, 32)
        RadioRandomIsOff.Size = New System.Drawing.Size(90, 17)
        RadioRandomIsOff.TabIndex = 2
        RadioRandomIsOff.Name = "RadioRandomIsOff"
        RadioRandomIsOff.TabStop = True
        RadioRandomIsOff.Text = "No random assigned"
        RadioRandomIsOff.UseVisualStyleBackColor = True
        Me.Controls.Add(RadioRandomIsOff)

        Dim tempLabel As Label = New Label()
        tempLabel.AutoSize = True
        tempLabel.Location = New System.Drawing.Point(317, 70)
        tempLabel.Name = "tempLabel"
        tempLabel.Size = New System.Drawing.Size(39, 13)
        tempLabel.TabIndex = 1
        tempLabel.Text = "total student per group"
        Me.Controls.Add(tempLabel)

        NumericUpDownTotalStudentPerGroup.Location = New System.Drawing.Point(320, 85)
        NumericUpDownTotalStudentPerGroup.Name = "NumericUpDownTotalStudentPerGroup"
        NumericUpDownTotalStudentPerGroup.Size = New System.Drawing.Size(90, 20)
        NumericUpDownTotalStudentPerGroup.TabIndex = 3
        Me.Controls.Add(NumericUpDownTotalStudentPerGroup)

        submitButton.Location = New System.Drawing.Point(320, 120)
        submitButton.Size = New System.Drawing.Size(80, 20)
        submitButton.Text = "Submit"
        Me.Controls.Add(submitButton)

        AddHandler RadioRandomIsOff.CheckedChanged, AddressOf Me.RadioButton_CheckedChanged
        AddHandler RadioRandomIsOn.CheckedChanged, AddressOf Me.RadioButton_CheckedChanged
        AddHandler NumericUpDownTotalStudentPerGroup.ValueChanged, AddressOf Me.NumericUpDown_ValueChanged
        AddHandler submitButton.Click, AddressOf Me.SubmitButton_Click

    End Sub  

    Private Sub RadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If PassRunOnce Then
            myStudentOnGroup.IsRandom = RadioRandomIsOn.Checked
        End If
    End Sub

    Private Sub NumericUpDown_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If PassRunOnce Then
            myStudentOnGroup.StudentPerGroup = NumericUpDownTotalStudentPerGroup.Value
        End If
    End Sub

    Private Sub SubmitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        myStudentOnGroup.OnAssigned()
        DisplayBox.Items.Clear()
        Dim total As Integer = 1
        For i As Integer = 0 To myStudentOnGroup.TotalGroup - 1

            Dim subStudent() As String = myStudentOnGroup.GetStudentGroup(i)
            For j As Integer = 0 To subStudent.Length - 2 'Jagged array จะเติม สมาชิกมาให้อีกตัวเสมอ และมีค่าเป็น nothing ค่ะ
                Dim tempStr As String

                tempStr = total.ToString("000") + ")" _
                     + " กลุ่มที่ " + (i + 1).ToString("00") _
                     + " ลำดับที่ " + (j + 1).ToString("00") _
                     + " " + subStudent(j)
                DisplayBox.Items.Add(tempStr)

                total += 1
            Next

        Next
        DisplayBox.Refresh()
    End Sub
End Class
Public Class StudentAssignment
    Public TotalGroup As Integer = 0
    Public StudentPerGroup As Integer = 40
    Public OddStudentNumber As Integer = 0
    Public IsRandom As Boolean = False
    Public allStudent As List(Of String) = New List(Of String)
    Private _Student()() As String

    Public Sub New()

    End Sub

    Public Sub OnAssigned()

        Dim totalStudent As Integer = allStudent.Count
        Dim totalOddStudent As Integer = totalStudent Mod StudentPerGroup
        Dim tempAllStudent As List(Of String) = New List(Of String)

        'copy รายชื่อมาเพื่อจัดกลุ่ม
        tempAllStudent.AddRange(allStudent)

        TotalGroup = (totalStudent / StudentPerGroup)

        If (totalOddStudent) Then
            TotalGroup = TotalGroup + 1
        End If

        'Initial multidimention jaggged array
        _Student = New String(TotalGroup)() {}


        For i As Integer = 0 To TotalGroup - 1
            Dim totalStudentInGroup As Integer = StudentPerGroup
            If (totalOddStudent > 0) And (i = (TotalGroup - 1)) Then
                totalStudentInGroup = totalOddStudent
            End If
            Dim subStudent(totalStudentInGroup) As String

            Randomize()
            For j As Integer = 0 To totalStudentInGroup - 1

                Dim AssignedPosition As Integer
                If (Not IsRandom) Then
                    AssignedPosition = 0
                    'ถ้าไม่สุ่มก้อเลือกคนแรกในรายชื่อทั้งหมด เสมอ
                Else
                    'สุ่มลำดับมาจากรายชื่อทั้งหมด
                    AssignedPosition = CInt(Int(tempAllStudent.Count * Rnd()))
                End If

                subStudent(j) = tempAllStudent(AssignedPosition)
                tempAllStudent.RemoveAt(AssignedPosition)
                'ลบคนที่ถูกเลือกแล้วออกจากรายชื่อทั้งหมด
            Next
            _Student(i) = subStudent 'เพิ่มรายชื่อนักเรียนแต่ละกลุ่มเข้าไป
        Next

    End Sub

    Public Function GetStudentGroup(ByVal groupNumber) As String()
        If (groupNumber > TotalGroup - 1) Then
            Return Nothing
        Else
            Return _Student(groupNumber)
        End If

    End Function

End Class

Date : 2010-05-17 12:48:35 By : blurEyes
 


 

No. 10



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากๆค่ะ
เดี๋ยวจะลองเอาไปใช้กะฐานข้อมูลนะคะ
Date : 2010-05-17 15:14:49 By : amster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถ้าต้องการจัดกลุ่มนักเรียนกลุ่มละ 40 คน จาก 100 คน [จนปัญญาจริงๆ]
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่