Как лучше организовать систему расчета цены ноутбука - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Имеется программа хранения ноутбуков, сами ноутбуки, их характеристики. Естественно что нужно рассчитывать цену на соответствующую модель ноутбука. С самого начала я решил организовать так: 1. Взял перечень определенных комплектующих и назначил им цену. При выборе модели мы выбираем нужные нам характеристики и рассчитываем цену, в коде я делал это так:
Данный код работает без проблем, даже отлично работает, все рассчитывает. Однако минусы: Много, много, просто жуть как много кода + невозможность как либо пользователю или админу редактировать стоимость или сам перечень комплектующих из программы. В VB.Net хотел сделать по другому Два comboBox-а, первый "Компания", второй "Модель" В первый комбо бокс грузится список компаний исходя из содержания текстового файла, который находится в папке:
Во второй комбо бокс грузится список моделей:
Думал организовать файл таким образом, чтобы название модели шло равно каждую 12 строку Однако такое прокатит только если у модели будут четко фиксированные параметры, а именно по 1 на каждую характеристику: Процессор, память, видео и т.д. Aspire 5250 Zacate 56.41 HD 6310 156.53 15.6 112.82 2048МБ 56.41 320ГБ 174.86 Однако у меня у многих ноутбуков больше чем 1 параметр того же процессора, соответственно организация каждой 12 строки отпадает по невозможности реализации. Как лучше организовать расчет стоимости, исходя из условий возможности редактирования количества моделей, параметров, цены и фирм производителей?

Решение задачи: «Как лучше организовать систему расчета цены ноутбука»

textual
Листинг программы
Public Class Form1
    Dim Lst As New List(Of Notebook)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Lines() As String = IO.File.ReadAllLines("C:\N.txt", System.Text.Encoding.Default)
        For I As Integer = 0 To Lines.Length - 1 Step 5
            Dim Tmp As New Notebook
            With Tmp
                .Company = Lines(I)
                .Model = Lines(I + 1)
                .Processor = Lines(I + 2).Split(":")
                .Video = Lines(I + 3).Split(":")
                .Resol = Lines(I + 4)
            End With
            Lst.Add(Tmp)
            ComboBox1.Items.Add(Tmp.Company)
        Next
 
    End Sub
 
    Sub LoadToCombo(ByVal Index As Integer)
        Dim Tmp As Notebook = Lst(Index)
        ComboBox2.Items.Clear() : ComboBox2.Items.Add(Tmp.Model)
        ComboBox3.Items.Clear() : ComboBox3.Items.AddRange(Tmp.Processor)
        ComboBox4.Items.Clear() : ComboBox4.Items.AddRange(Tmp.Video)
    End Sub
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        LoadToCombo(ComboBox1.SelectedIndex)
    End Sub
End Class
Class Notebook
    Public Company, Proizv, Model, Processor(), Video(), Resol As String
End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы