Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 1
Регистрация: 22.09.2014
Сообщений: 132
.NET 4.x

Dictionary, где ключ и значение List

24.05.2015, 01:13. Показов 1128. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет. надеюсь на помощь. понимаю что в коде куча косяков но постарайтесь разобраться ;-)
Стоит задача написать ломбард.
Состоящий из украшений и клиентов.
решил впиндюрить это все в БИБЛИОТЕКУ<LIST<КЛИЕНТ>, LIST<УКРАШЕНИЕ>>
вот что вышло...

КЛАС КЛИЕНТ
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
//КЛАС КЛИЕНТ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Lombard
{
    class Client
    {
        string firstName, lastName;
        double money;
        private int v;
 
        public Client() {
        }
 
        public Client(string firstName, string lastName, double money) {
            this.firstName = firstName;
            this.lastName = lastName;
            this.money = money;
        }
 
        public Client(string firstName, string lastName, double money, int v) : this(firstName, lastName, money)
        {
            this.v = v;
        }
 
        public void InsertInfoClient(){
            Console.WriteLine("Введите Имя");
            firstName = Console.ReadLine();
            Console.WriteLine("Введите Фамилию");
            lastName = Console.ReadLine();
            Console.WriteLine("Количество денег у клиента");
            money = double.Parse(Console.ReadLine());
            Console.WriteLine("{0}, {1}, {2}", firstName, lastName, money);
        }
 
        public void ShowClient() {
            Console.Write("{0}, {1}, {2}", firstName, lastName, money);
        }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public static void All(Client All, List<Client> lstAll)
        {
            lstAll.Add(All);
        }
    }
}
КЛАСС ОЖЕРЕЛЬЕ
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
//класс украшение
    class Necklase:Jewelry
    {
        DateTime date1 = DateTime.Now;
 
        public int numStones; 
        public int trialMaterial;
        public string nameStones;
        DateTime dataBorn;
        double weight;
        //
        double costMetal; //стоимость материала изделия, злолто или что другое
        double costStones; //стоимость камней
        double allCost; //общая стоимость изделия
 
 
        public Necklase() {
        }
 
        public Necklase(string name, int numStones, string nameStones, double weight, int trialMaterial) {
            this.name = name;
            this.numStones = numStones;
            this.nameStones = nameStones;
            //this.dataBorn = dataBorn;
            this.weight = weight;
            this.trialMaterial = trialMaterial;
        }
 
        public void InsertNecklaseInfo() {
            Console.WriteLine("Введите название изделия");
            name = Console.ReadLine();
            Console.WriteLine("Введите количество камней");
            numStones = int.Parse(Console.ReadLine());
            Console.WriteLine("Какие камни присутствуют в ожерелье");
            nameStones = Console.ReadLine();
            Console.WriteLine("Какой вес изделия?");
            weight = double.Parse(Console.ReadLine());
            Console.WriteLine("Укажите пробу");
            trialMaterial= int.Parse(Console.ReadLine());
        }
 
        public void ShowNeck(){
            Console.Write("{0}, {1}, {2}, {3}, {4}", name, numStones, nameStones, weight, trialMaterial);
            Console.WriteLine();
        }
 
        public void CostJewelry()
        {
            costStones = numStones * 123; 
            costMetal = weight * 700;
            allCost = costStones + costMetal;
            Console.WriteLine("Стоимость изделия составит {0}. Из них, стоимость материала {1}, а стоимость камней составит {2}",allCost, costMetal, costStones);
        }
        public override void ToString()
        {
            throw new NotImplementedException();
        }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    }
}
Теперь класс Dictionary
C#
1
2
3
4
public static Dictionary<List<Client>, List<Necklase>> MyDic() {
            Dictionary<List<Client>, List<Necklase>> dic = new Dictionary<List<Client>, List<Necklase>>();
            dic.Add(new List<Client>(), new List<Necklase>());
            return dic;
КЛАСС а-ля Work_Lombard
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
namespace Lombard
{
    class PownShop
    {
        int cl_num = 0; //переменная инкрементрирует счетчик List<Client>
        int nec_num = 0; //переменная инкркрементирует счетчик List<Necklase>
        string choise;  //переменная выбора
        double cost = 0; //оценочнаястоимость изделия
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        List<Client> client = new List<Client>();// List клиент
 
        public void ClientBas()
        {
            Console.WriteLine("введите 'old'- если хотите загрузить базу, \n'new' - если хотите добавить клиента вручную");
            choise = Console.ReadLine();
            switch (choise)
            {
                case "old":
                    client.Add(new Client("Иван", "Иванов", 30, 50));
                    client.Add(new Client("Петр", "Петров", 0));
                    client.Add(new Client("Андрей", "Андреев", 321, 12));
                    break;
                case "new":
                    client.Add(new Client());
                    client[cl_num].InsertInfoClient();
                    ++cl_num;
                    break;
            }
        }
 
        public void ShowClientList()
        {
            for (int i = 0; i < client.Count; i++)
            {
                client[i].ShowClient();
            }
        }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        List<Necklase> necklase = new List<Necklase>();//колье
 
        public void NecklaseBas()
        {
            Console.WriteLine("введите 'old'- если хотите загрузить базу с колье, \n'new' - если хотите добавить свое колье");
            choise = Console.ReadLine();
            switch (choise)
            {
                case "old":
                    necklase.Add(new Necklase("Роксолана", 16, "топаз", 12, 525));
                    necklase.Add(new Necklase("Амазонка", 16, "брилиант", 11, 975));
                    necklase.Add(new Necklase("Кармелита", 29, "алмаз", 12, 555));
                    break;
                case "new":
                    necklase.Add(new Necklase());
                    necklase[nec_num].InsertNecklaseInfo();
                    ++nec_num;
                    break;
            }
        }
 
        public void ShowNecklaseList()
        {
            for (int i = 0; i < necklase.Count; i++)
            {
                necklase[i].ShowNeck();
            }
        }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        List<LombardList> ls = new List<LombardList>();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public void WorkLombard() {
            for (int i = 0; i < 3; i++)
            {
                client[i].ShowClient();
                necklase[i].ShowNeck();
                necklase[i].CostJewelry();        
            }
        }
    }
}

ну и main
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
{
    class Program
    {
        static void Main(string[] args)
        {
            PownShop psh = new PownShop();
 
            psh.ClientBas();
            psh.ShowClientList();
            //
            psh.NecklaseBas();
            psh.ShowNecklaseList();
            //
            psh.WorkLombard();
            //
            Dictionary<List<Client>, List<Necklase>> dic = LombardList.MyDic();
            // получить ключи
            //ICollection<List<Client>> keys = dic.Keys;
            //
            Console.WriteLine("База данных содержит: ");
            for (int i = 0; i < dic.Count; i++) {
                Console.WriteLine("{0}", dic[i]);
            }
            //foreach (KeyValuePair<K,V> in keys)
            //    Console.WriteLine("ID -> {0}  Name -> {1}", List<Client>, dic[j]);
        }
    }
}
КАК ЗАПИХНУТЬ ДВА LIST в DICTIONARY. Спс за помощь ;-)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2015, 01:13
Ответы с готовыми решениями:

Сложный Dictionary<MyClass, Dictionary<List<MyClass2>, List<string>>> MyDictionary
Здравствуйте. Помогите plz реализовать обращения к словарю вида : Dictionary&lt;MyClass, Dictionary&lt;List&lt;MyClass2&gt;,...

Получить ключ и значение из Dictionary
Как получить численное значение ключа и переменной для последующего внесения в БД? Dictionary&lt;double, int&gt; lenDict = new...

List<T> как значение словаря Dictionary
Здравствуйте. Имеется переменная Max_diameter, которую необходимо сравнить со значениями словаря dictionary списков...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2015, 01:13
Помогаю со студенческими работами здесь

Из XML считывать ключ/значение в List<string, string>
Привет, друзья. Помогите разобраться. Ничего полезного в интернете не нашел.. Нужно из XML попарно вывести ключ/значение в List. Фрагмент...

Данный ключ отсутствует в словаре. Dictionary
Всем привет. Выкладываю кусок кода. Проблема: когда запускаю программа пишет ошибку в строке 46. Почему? Почему он не переводит с...

Динамическое добавление пары ключ/много значений в Dictionary
Здравствуйте! Задача состоит в следующем. Есть большой файл с столбцом А и столбцом Б. Нужно построчно считать файл, записывая пары...

Sort list in Dictionary
У меня есть Dictionary, в котором ключом служат размеры файла в килобайтах, а значением листы с информацией о файлах которые столько...

Сортировка dictionary + List<class>
Есть следующие данные: class Loot { public string Name; public string ShortName; public int ChanceBarrel = 0; ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru