Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Slevya
1

Коллекция "Склад", включающий до 20 объектов класса "Товар": нарисовать график статистического учета

04.05.2012, 16:34. Показов 2727. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,уважаемые программисты.

Задача:
В коллекции «Склада», включающей до 20 объектов класса «Товар», предусмотреть подсчет стоимости и количества объектов «Товар» по из типу, например, «Канцелярский товар», «Хозяйственный товар» или «Продукт» (всего до 6 различных типов). Напечатать исходную коллекцию и результаты статистического учета.

Задача выполнена,но результат(статистического учета) нужно показать ввиде графика или диаграммы.
Тут я вообщем завис

Код формы1
C++
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Collections;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
 
namespace WindowsFormsApplication10
{
    public partial class Form1 : Form
    {
        [Serializable]
      public  class Tovar
        {            
           public string tip;
           public int stoim;
           public int kolvo;
           public static int erunda;
           public Tovar(int kolvo,int stoim)
           {
               this.stoim = stoim;
               this.kolvo = kolvo;
           }
        }
 
       public ArrayList tovar = new ArrayList();
       public bool flag;
        public void zapf()
        {
            // Form2 f2 = new Form2();
            // Создаем поток для сериализации:
            FileStream StreamOut = new FileStream("tovar.dat",
                      FileMode.Create, FileAccess.Write);
            // Используем двоичный формат:
            BinaryFormatter fmt = new BinaryFormatter();
            fmt.Serialize(StreamOut, tovar);   // Сериализуем объекты
            StreamOut.Close();                 // Закрываем поток
 
        }
       public void vvod()
        {
            int i = 0;
            // Создаем поток для десериализации:
            FileStream StreamIn = new FileStream("tovar.dat",
                       FileMode.Open, FileAccess.Read);
            // Используем двоичный формат:
            BinaryFormatter fmt = new BinaryFormatter();
            tovar = (ArrayList)fmt.Deserialize(StreamIn);//Десериализуем
           Tovar.erunda = 0;
            foreach (Tovar t in tovar)
            { Tovar.erunda++; i++; }
            Tovar.erunda--;
            StreamIn.Close();
        }
      
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int a, b;
            if (radioButton1.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv0 = new Tovar(a, b);
                tv0.tip = "Канцелярский товар,";
                tovar.Add(tv0);
                richTextBox1.AppendText("ТИП:" + tv0.tip + "   С Количеством:" + tv0.kolvo + ",  Стоимостью:" + tv0.stoim + "\r\n");
            }
            if (radioButton2.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv1 = new Tovar(a, b);
                tv1.tip = "Хозяйственный товар,";
                tovar.Add(tv1);
                richTextBox1.AppendText("ТИП:" + tv1.tip + "   С Количеством:" + tv1.kolvo + ",  Стоимостью:" + tv1.stoim + "\r\n");
            }
            if (radioButton3.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv2 = new Tovar(a, b);
                tv2.tip = "Продукт,";
                tovar.Add(tv2);
                richTextBox1.AppendText("ТИП:" + tv2.tip + "   С Количеством:" + tv2.kolvo + ",  Стоимостью:" + tv2.stoim +  "\r\n");
            }
            if (radioButton4.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv3 = new Tovar(a, b);
                tv3.tip = "Строительный товар,";
                tovar.Add(tv3);
                richTextBox1.AppendText("ТИП:" + tv3.tip + "   С Количеством:" + tv3.kolvo + ",  Стоимостью:" + tv3.stoim + "\r\n");
            }
            if (radioButton5.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv4 = new Tovar(a, b);
                tv4.tip = "Запчасти,";
                tovar.Add(tv4);
                richTextBox1.AppendText("ТИП:" + tv4.tip + "   С Количеством:" + tv4.kolvo + ",  Стоимостью:" + tv4.stoim + "\r\n");
            }
            if (radioButton6.Checked == true)
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                Tovar tv5 = new Tovar(a, b);
                tv5.tip = "Промышленный товар,";
                tovar.Add(tv5);
                richTextBox1.AppendText("ТИП:" + tv5.tip + "   С Количеством:" + tv5.kolvo + ",  Стоимостью:" + tv5.stoim + "\r\n");
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            zapf();
            MessageBox.Show("Запись произведена успешно =)");
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            vvod();
            MessageBox.Show("Чтение прозведено успешно =)");
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            flag = true;
            foreach (Tovar T1 in tovar)
            {
                richTextBox1.AppendText("ТИП:" + T1.tip + "   С Количеством:" + T1.kolvo + ",  Стоимостью:" + T1.stoim + "\r\n");
            }
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.ShowDialog();
        }
 
 
    }
}
График хотелось бы отобразить на второй форме. Хотелось бы увидеть пример. Если не получается - объясните как можно будет отобразить результат.
Неадыкваты лесом из темы.
Заранее благодарю.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2012, 16:34
Ответы с готовыми решениями:

Организовать 2 класса - склад и товар. Работа с массивом класса
Задание: нужно организовать 2 класса(склад и товар), класс "товар" должны содержать информацию о...

Коллекция объектов одного класса в экземпляре другого класса
Извиняюсь, если написал не совсем адекватный заголовок. В общем, у меня есть такая модель: public...

Коллекция объектов класса
В чем ошибка и как исправить? Lab5.ccp: #include <stdio.h> #include <stdlib.h> #include...

Коллекция объектов моего класса
Привет :) Я только начал изучение PHP, поэтому просьба не кидаться в меня камнями. Я создал...

Коллекция объектов базового класса
Доброго дня! У меня есть несколько классов одинаковых по предметной области(это фигуры круги и...

1
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
04.05.2012, 17:14 2
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Slevya Посмотреть сообщение
нужно показать ввиде графика или диаграммы
C#
1
2
3
4
5
6
7
8
9
10
var list = new List<Tovar>(tovar.Count);
list.AddRange(tovar.Cast<Tovar>());
var types = list.GroupBy(x => x.tip);
chart1.Series.Clear();
foreach (var type in types)
{
    chart1.Series.Add(type.Key);
    foreach (var good in type)
        chart1.Series[type.Key].Points.Add(good.stoim);
}
Остальное сам.

Не по теме:

Цитата Сообщение от Slevya Посмотреть сообщение
Неадыкваты лесом из темы.
Код написан отвратно... И показать надо было только строчки с 18 по 31 включительно - остальное мусор. И лучше впредь не использовать эту убогую коллекцию ArrayList. И еще, коллекцию элементов надо было назвать не "товар", а "товары".

0
04.05.2012, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2012, 17:14
Помогаю со студенческими работами здесь

Коллекция объектов класса «Одежда»
Создать класс «Одежда» и класс «Шкаф для одежды», как коллекцию объектов класса «Одежда». Число...

Типизированная коллекция объектов (List<>) для класса Банк
У меня есть класс банк, и мне надо модифицировать таким образом, чтобы программа вместо массива...

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

Создать с помощью делегатов метод сортировки списка объектов класса "Товар"
Не понимаю как это реализовать, помогите, пожалуйста !! Создать с помощью делегатов метод...

Нарисовать график с помощью класса
Здравствуйте! Пытаюсь нарисовать и вывести хоть что-то. #include &lt;QMainWindow&gt; #include...

Описать класс товар, склад
Выполнить лабораторную работу на Python, срок выполнения 26.02.22 7:00 Условие: Описать класс...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru