Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147

Вывести фамилии рабочих бригады, начинающиеся с букв А и С

31.05.2015, 14:22. Показов 1808. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывести фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты и стажа работы (лет).
________________________________________ ________________________________________ ________________________________
Думаю что нужно через листбокс?

________________________________________ ________________________________________ ________________________________
Или как будет лучше?
и вот как из листбокса отбирать фамилии на A и C ,через IF? думаю if не катит.
помогите пожалуйста написать код..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2015, 14:22
Ответы с готовыми решениями:

Распечатать фамилии рабочих бригады, начинающихся с букв А и С в форму приложения
Здравствуйте. Помогите пожалуйста с программой: Распечатать фамилии рабочих бригады, начинающихся с букв А и С в форму приложения, с...

Вывести среднюю зарплату определенной бригады, используя массив для бригады и зарплаты
Пожалуйста , помогите разобраться с заданием. Как вывести среднюю зарплату определенной бригады , используя массив для бригады и зарплаты ?...

Распечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты
Здравствуйте!Кто сможет решить эти 2 задачи на структуры,на форуме видел их только на паскале.Естественно программы должны быть на с++) ...

11
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
31.05.2015, 14:40  [ТС]
а еще если в листбокс записать только фамилии а на вывод давать стаж и зарплату ,как так?
0
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
31.05.2015, 15:12
belnowy, похоже, что в данном случае через массив и его сортировку лучше делать и применять сплит.
Данные на входе в каком формате и какой объем?
1
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
31.05.2015, 15:17  [ТС]
Дядя Корней, данные на вход идут через пробел ,это: Фамилия Зарплата Стаж
А объем ,например в самой программе добавляешь новую запись ,например,Андропов 5000 9лет,и она при нажатии кнопки,выводит все вместе
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
31.05.2015, 17:33
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

У Вас идут через разделитель "|". Вот код для него

VB.NET
1
TextBox1.Text = String.Join(vbCrLf, (From Line As String In ListBox1.Items.Cast(Of String).ToArray Where Line.StartsWith("А") Or Line.StartsWith("С") Select "Рабочий " & Line.Split("|")(0) & " работает " & Line.Split("|")(2) & " и зарабатывает " & Line.Split("|")(1) & " рублей").ToArray)
Результат работы программы:
5
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
31.05.2015, 22:31
Лучший ответ Сообщение было отмечено belnowy как решение

Решение

Понимаю, что решение задачи уже имеется, но хотелось бы предложить код, который в данном контексте, как мне кажется, тоже м.б. полезен.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Class Form1
    Private lst1() As String
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        lst1 = {"Антонов 4000 5", "Бегунов 6000 7", "Петухов 3000 2", "Савченко 6000 5", "Антипов 4000 4", "Свиридов 8000 7"}
        Dim lst2 = (From t In lst1 Select t.Split(ChrW(32))(0)).ToArray
        ListBox1.DataSource = lst2
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim report As ILookup(Of Char, String) = lst1.ToLookup(Function(n) Convert.ToChar(n.Substring(0, 1)), Function(p) p)
        Dim sb As New System.Text.StringBuilder
        For Each gr As IGrouping(Of Char, String) In report
            sb.AppendLine(gr.Key)
            For Each str As String In gr
                sb.AppendLine(String.Format("    {0}", str))
            Next
        Next
        TextBox1.Text = sb.ToString
        'только на букву А
        Dim cgA As IEnumerable(Of String) = report("А"c)
        Dim aa = (cgA.Select(Function(p) p.ToString)).ToArray
        Dim ac As String = String.Join(vbCrLf, aa) & vbCrLf
        'добавим на букву C
        cgA = report("С"c)
        Dim cc = (cgA.Select(Function(p) p.ToString)).ToArray
        ac &= String.Join(vbCrLf, cc)
        TextBox2.Text = ac
    End Sub
End Class
Миниатюры
Вывести фамилии рабочих бригады, начинающиеся с букв А и С  
2
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
31.05.2015, 22:45  [ТС]
ovva, а если еще добавлять сотрудников самому через форму?как тогда?
0
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
31.05.2015, 23:38  [ТС]
Памирыч, Реализовал задачу так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Public Class Form1
    Dim fio As New List(Of String)
    Dim zp, exp, i As New List(Of Integer)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox5.Visible = False
 
        fio.Add("Ефимов П.В.")
        zp.Add(10000)
        exp.Add(0)
 
 
        fio.Add("Баба Маня")
        zp.Add(6000)
        exp.Add(7)
 
 
        fio.Add("Иванова И.Б.")
        zp.Add(15000)
        exp.Add(15)
 
 
        fio.Add("Шпак А.Ю.")
        zp.Add(30000)
        exp.Add(17)
 
 
        fio.Add("Сурков В.Д.")
        zp.Add(17000)
        exp.Add(5)
 
 
        fio.Add("Кукушкина В.Л.")
        zp.Add(12000)
        exp.Add(2)
 
 
        fio.Add("Киселев Е.Д.")
        zp.Add(35000)
        exp.Add(10)
 
        fio.Add("Тушилин В.В.")
        zp.Add(13000)
        exp.Add(1)
 
 
        Dim i As Integer
        For i = 0 To fio.Count - 1
            PrintList(fio(i), CStr(zp(i)), exp(i))
        Next i
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        fio.Add(TextBox1.Text)
        zp.Add(Val(TextBox2.Text))
        exp.Add(Val(TextBox3.Text))
        PrintList(TextBox1.Text, TextBox2.Text, Val(TextBox3.Text))
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
    End Sub
 
    Sub PrintList(ByVal fio As String, ByVal zp As String, ByVal exp As Integer)
        Dim temp As String
        temp = fio + Space(3)
        temp += zp + " руб." + Space(3)
        If exp > 10 And exp < 15 Or exp Mod 10 = 0 Or exp Mod 10 > 4 Then
            temp += CStr(exp) + " лет" + Space(3)
        ElseIf exp Mod 10 = 1 Then
            temp += CStr(exp) + " год" + Space(3)
        Else
            temp += CStr(exp) + " годa" + Space(3)
        End If
        ListBox1.Items.Add(temp)
    End Sub
 
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        'КНОПКА ВЫВОДА в текст бокс
        'TextBox5.Text =From Line As String In ListBox1.Items.Cast(Of String).ToArray Where Line.StartsWith("А") Or Line.StartsWith("С") Select string
    End Sub
End Class
Подскажите как сделать вывод фамилий на а и на с(баттон 5 в коде)...
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
01.06.2015, 00:31
Лучший ответ Сообщение было отмечено belnowy как решение

Решение

Цитата Сообщение от belnowy Посмотреть сообщение
если еще добавлять сотрудников самому через форму?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Class Form1
    Private lst1 As List(Of String)
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ListBox1.Items.Clear()
        lst1 = New List(Of String)
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim report As ILookup(Of Char, String) = lst1.ToLookup(Function(n) Convert.ToChar(n.Substring(0, 1)), Function(p) p)
        Dim sb As New System.Text.StringBuilder
        For Each gr As IGrouping(Of Char, String) In report
            sb.AppendLine(gr.Key)
            For Each str As String In gr
                sb.AppendLine(String.Format("    {0}", str))
            Next
        Next
        TextBox1.Text = sb.ToString
        'только на букву А
        Dim cgA As IEnumerable(Of String) = report("А"c)
        Dim aa = (cgA.Select(Function(p) p.ToString)).ToArray
        Dim ac As String = String.Join(vbCrLf, aa) & vbCrLf
        'добавим на букву C
        cgA = report("С"c)
        Dim cc = (cgA.Select(Function(p) p.ToString)).ToArray
        ac &= String.Join(vbCrLf, cc)
        TextBox2.Text = ac
    End Sub
    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim f As String = TextBox3.Text
        ListBox1.Items.Add(f)
        lst1.Add(f & " " & TextBox4.Text & " " & TextBox5.Text)
    End Sub
End Class
Миниатюры
Вывести фамилии рабочих бригады, начинающиеся с букв А и С  
1
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
01.06.2015, 21:58  [ТС]
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Public Class Form1
    Dim fio As New List(Of String)
    Dim zp, exp, i As New List(Of Integer)
    Dim temp As String
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        fio.Add("Алхулаева И.В.")
        zp.Add(10000)
        exp.Add(0)
 
        fio.Add("Беляков В.А.")
        zp.Add(6000)
        exp.Add(7)
 
        fio.Add("Путилин Е.Б.")
        zp.Add(15000)
        exp.Add(15)
 
        fio.Add("Снеговиков А.Ю.")
        zp.Add(30000)
        exp.Add(17)
 
 
        fio.Add("Савченко Н.Д.")
        zp.Add(17000)
        exp.Add(5)
 
        fio.Add("Шведов А.А.")
        zp.Add(12000)
        exp.Add(11)
 
 
        fio.Add("Сарманов А.Д.")
        zp.Add(35000)
        exp.Add(10)
 
        fio.Add("Омаров О.В.")
        zp.Add(13000)
        exp.Add(9)
 
        Dim i As Integer
        For i = 0 To fio.Count - 1
            PrintList(fio(i), CStr(zp(i)), exp(i))
        Next i
    End Sub
    Sub PrintList(ByVal fio As String, ByVal zp As String, ByVal exp As Integer)
        temp = fio + Space(3)
        temp += zp + " руб." + Space(3)
        temp += CStr(exp) + " лет" + Space(3)
        ListBox1.Items.Add(temp)
    End Sub
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim i, n, kek As Integer
        Dim b1, b2 As Char
        TextBox5.Clear()
        kek = ListBox1.Items.Count
        b1 = "А"
        b2 = "С"
        For i = 0 To kek - 1
            If fio(i)(0) = b1 Or fio(i)(0) = b2 Then
                TextBox5.Text += ListBox1.Items(i) + vbCrLf
            End If
        Next i
    End Sub
    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
        fio.Add(TextBox1.Text)
        zp.Add(Val(TextBox2.Text))
        exp.Add(Val(TextBox3.Text))
        PrintList(TextBox1.Text, TextBox2.Text, Val(TextBox3.Text))
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
    End Sub
End Class
ВОТ и все) сам сделал,тупо подсчитал количество
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
01.06.2015, 22:05
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Для belnowy,
не нужно мне писать в личные сообщения по подобным вопросам.
Отвечаю в порядке исключения.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Public Class Form1
    Dim fio As New List(Of String)
    'Dim zp, exp, i As New List(Of Integer)
    Dim zp, exp As New List(Of Integer)
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        TextBox5.Visible = False
 
        fio.Add("Ефимов П.В.")
        zp.Add(10000)
        exp.Add(0)
 
        fio.Add("Баба Маня")
        zp.Add(6000)
        exp.Add(7)
 
        fio.Add("Иванова И.Б.")
        zp.Add(15000)
        exp.Add(15)
 
        fio.Add("Шпак А.Ю.")
        zp.Add(30000)
        exp.Add(17)
 
        fio.Add("Сурков В.Д.")
        zp.Add(17000)
        exp.Add(5)
 
        fio.Add("Кукушкина В.Л.")
        zp.Add(12000)
        exp.Add(2)
 
        fio.Add("Киселев Е.Д.")
        zp.Add(35000)
        exp.Add(10)
 
        fio.Add("Тушилин В.В.")
        zp.Add(13000)
        exp.Add(1)
 
        'Dim i As Integer
        For i As Integer = 0 To fio.Count - 1
            PrintList(fio(i), CStr(zp(i)), exp(i))
        Next i
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        fio.Add(TextBox1.Text)
        zp.Add(Val(TextBox2.Text))
        exp.Add(Val(TextBox3.Text))
        PrintList(TextBox1.Text, TextBox2.Text, Val(TextBox3.Text))
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
    End Sub
    Sub PrintList(ByVal fio As String, ByVal zp As String, ByVal exp As Integer)
        Dim temp As String
        temp = fio + Space(3)
        temp += zp + " руб." + Space(3)
        If exp > 10 And exp < 15 Or exp Mod 10 = 0 Or exp Mod 10 > 4 Then
            temp += CStr(exp) + " лет" + Space(3)
        ElseIf exp Mod 10 = 1 Then
            temp += CStr(exp) + " год" + Space(3)
        Else
            temp += CStr(exp) + " годa" + Space(3)
        End If
        ListBox1.Items.Add(temp)
    End Sub
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        'КНОПКА ВЫВОДА в текст бокс
        TextBox5.Visible = True
        Dim tmp = (From Line In ListBox1.Items Where Line.StartsWith("А") Or Line.StartsWith("С") Select Line).ToArray
        TextBox5.Text = String.Join(vbCrLf, tmp)
    End Sub
End Class
Миниатюры
Вывести фамилии рабочих бригады, начинающиеся с букв А и С  
1
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
01.06.2015, 22:10  [ТС]
ovva, Огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2015, 22:10
Помогаю со студенческими работами здесь

Напечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты
Распечатать фамилии рабочих бригады начинающихся с букв А и С,с указанием их месячной зарплаты. (Сортировки) Сможет кто сделать?На...

Записи: распечатать фамилии рабочих бригады, начинающиеся с А и С
Распечатать фамилии рабочих бригады, начинающиеся с А и С с указанием их месячной зарплаты.

Распечатать фамилии рабочих бригады, начинающиеся с букв "А" и "С", с указанием их месячной зарплаты
помогите решить задачку, плизз Распечатать фамилии рабочих бригады, начинающиеся с букв &quot;А&quot; и &quot;С&quot;, с указанием их...

Распечатать фамилии рабочих бригады, начинающихся с букв А и С в форму приложения
Распечатать фамилии рабочих бригады, начинающихся с букв А и С в форму приложения, с указанием их месячной зарплаты. Список бригады ввести...

Алгоритм. Распечатать список рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты и стажа
Помогите. Разработать алгоритм и по нему составить программу для обработки динамического массива, каждый элемент которой является такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru