Возьмите файл, прочитайте его, проанализируйте имя и количество и выделите десять лучших доноров

Поэтому у меня есть школьное задание, в котором мой профессор дал нам текстовый документ с именами 4 000 000 доноров и 4 000 000 различных пожертвований. Формат документа - просто "Имя, 82" (без пробела между номером и именем). С этим списком из 4 000 000 доноров я должен создать программу VB, которая отображает 10 лучших доноров, используя PARSE.

Я действительно в тупике и понятия не имею, с чего начать с PARSE. Я не прошу вас просто сделать домашнее задание. Мне просто нужна помощь в том, где искать или с чего начать. Это то, что у меня есть до сих пор. Дайте мне знать, если я пойду в правильном направлении или полностью ошибаюсь.

Public Class CsvTopDonorsParser : Inherits TopDonorsParser
ReadOnly donorNames(NumTopDonorsWanted) As String
ReadOnly donationAmounts(NumTopDonorsWanted) As Decimal



Protected Overrides Sub ParseLineFromText(ByVal line As String)



End Sub

Protected Overrides Function GetTopDonorsCore() As String
 ? 
 Return ""
End Function
 End Class
2 ответа

Попытка прочитать и сохранить, что многие записи не могут быть сделаны в стороннем программном обеспечении. Я думаю, что это тот момент, когда профессор пытается ехать домой. Ну, у нас достаточно места на 10, я уверен. Что, если вы прочтете один, проверите его против списка лучших записей, и если вы найдете тот, который у вас есть, то лучше, чем один из десяти десяти замените его на тот, который у вас есть.

Dim FileDlg As FileDialog
Dim FlgRst As System.Windows.Forms.DialogResult
Dim File As System.IO.StreamReader
FileDlg = New OpenFileDialog
FlgRst = FileDlg.ShowDialog()
If (FlgRst = Windows.Forms.DialogResult.OK) Then
 File = New IO.StreamReader(FileDlg.FileName)
 Dim sLine As String
 sLine = File.ReadLine()
 Dim TestArray() As String = sLine.Split(New Char() {","c})
End If

Вы можете посмотреть содержимое TestArray и посмотреть, можете ли вы получить его оттуда. Если не дать вопль


Я действительно в тупике и понятия не имею, с чего начать с PARSE.

Подсказка: для разбора строк вы можете анализировать каждую прочитанную вами строку (fileRecord) из вашего файла с помощью метода Split.

Dim words As String() = fileRecord.Split(New Char() {","c})

теперь у вас есть 2 слова, первое - имя донора, а второе - количество (но в строковом формате). Теперь вам нужно управлять тем, как хранить и сортировать эти данные, чтобы получить десять лучших записей. Существуют разные способы сделать это.

Что касается GUI, я бы ожидал, что вы предоставите диалог файла для пользователя, чтобы выбрать файл, и нажмите кнопку, чтобы начать процесс. Я не уверен, для чего нужны другие кнопки.

licensed under cc by-sa 3.0 with attribution.