Автор Тема: Помогите с прогой, плиз  (Прочитано 2428 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн siyu1989

  • Пользователь
  • **
  • Сообщений: 40
    • Просмотр профиля
Помогите с прогой, плиз
« : 24 Января 2012, 20:11:37 »
вот шлю код и картинку с заданием...У меня получилась таблица со столбцами, а как это переделать, чтобы все значения шли в строчку?

вот код:


Option Explicit On      'задаем явное определение переменных
Option Strict On        'задаем явное преобразование типов
Imports System.Math     'подключаем математическую библиотеку

Public Class frmLab45
    Sub output(ByVal func As String, ByVal x As Double, ByVal y As Double)
        ' создаем элемент таблицы и задаем первый столбец
        Dim item1 As New ListViewItem(CStr(ListView1.Items.Count + 1))
        ' задаем значения столбцов 2, 3 и 4
        item1.SubItems.Add(func)
        item1.SubItems.Add(Format(x, "0.00"))
        item1.SubItems.Add(Format(y, "0.00"))
        ' добавляем элемент в таблицу
        ListView1.Items.Add(item1)
    End Sub
    Function f1(ByVal x As Double) As Double
        f1 = x ^ 2
    End Function

    Function f2(ByVal x As Double) As Double
        f2 = 0
    End Function

    Function f3(ByVal x As Double) As Double
        f3 = 4 * Cos(x)
    End Function

    Function input(ByVal txtbox As TextBox) As Double
        Return CDbl(Val(Strings.Replace(txtbox.Text, ",", ".")))
    End Function

    Function function_new_loop(ByVal a As Single, ByVal b As Single, ByVal h As Single) As Integer
        Return CInt(Fix((b - a) / h + 1))
    End Function

    Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click
        ' определяем переменные
        Dim dblX, dblY, dblA, dblB, dblH As Double
        Dim i, n As Integer
        ' считываем значения переменных
        dblA = input(txtA)
        dblB = input(txtB)
        dblH = input(txtH)

        dblX = dblA
        n = function_new_loop(CSng(dblA), CSng(dblB), CSng(dblH))
        ' запускаем цикл согласно заданию
        For i = 1 To n
            If dblX < -2 Then
                dblY = f3(dblX)
                output("4 * Cos(x)", dblX, dblY)
            ElseIf dblX >= -2 And dblX <= 2 Then
                dblY = f1(dblX)
                output("x^2", dblX, dblY)
            ElseIf dblX > 2 Then
                dblY = f2(dblX)
                output("0", dblX, dblY)
            End If
            dblX = dblX + dblH
        Next
    End Sub

    Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
        Me.Close() ' закрываем форму
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        ' очищаем поля и таблицу
        txtA.Clear()
        txtB.Clear()
        txtH.Clear()
        ListView1.Items.Clear()
    End Sub
End Class
« Последнее редактирование: 27 Января 2012, 08:52:39 от Asix »

Оффлайн Selyd

  • Старожил
  • ****
  • Сообщений: 408
    • Просмотр профиля
Re: помогите плиз...
« Ответ #1 : 24 Января 2012, 22:44:55 »
Во всех    output("x^2", dblX, dblY) надо запретить печать строки.
Я не знаю как это сделать в твоём случае. Поищи этот оператор.
Например в BASIC было бы    print "x^2", dblX, dblY,
Запятая говорит о продолжении печати в той же строке.


Оффлайн sp

  • Пользователь
  • **
  • Сообщений: 51
    • Просмотр профиля
Re: помогите плиз...
« Ответ #2 : 24 Января 2012, 23:56:11 »
А всё в проге есть? Я не знаток VB, но явно чего-то не хватает. Вроде описание есть, а обращения нет. Или как?
Не понятно, чего хочет автор. Написал бы в редакторе, как таблица выглядеть должна. Мож прояснилось бы что...