Организовать хранение набора данных с помощью массива структур

mrak2121

Организовать хранение набора данных с помощью массива структур. Написать метод для заполнения массива данными. Написать метод для вывода на экран массива данных. Написать метод для выполнения поиска данных по одному из полей (на ваш выбор), а также для поиска данных по полю со вложенной структурой.
1 ответ

mrak2121

что-то подобное делал
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace laba_programmirovanie
{
    public struct salon
    {
        public int data;
        public ****** ob;
        public string marka;
    }
    public class A : IComparer<salon>
    {
        public int Compare(salon x, salon y)
        {
            if (x.data < y.data)
                return 1;
            else return 0;
        }
    }
    public class B : IComparer<salon>
    {
        public int Compare(salon x, salon y)
        {
            if (x.ob < y.ob)
                return 1;
            else return 0;
        }
    }
    public class Z : IComparer<salon>
    {
        public int Compare(salon x, salon y)
        {
            return string.Compare(x.marka, y.marka);
        }
    }
    class Program
    {
        static void Menu()
        {
            Console.WriteLine("\tMenu:");
            Console.WriteLine("1- ввод параметров авто");
            Console.WriteLine("2- сортировка по дате выпуска");
            Console.WriteLine("3- сортировка по объему");
            Console.WriteLine("4- сортировка по названию");
            Console.WriteLine("5- вывод параметров");
            Console.WriteLine("6- выход из программы");
        }
        static void Main(string[] args)
        {
            List<salon> myspisok = new List<salon>();
            while (true)
            {           
                Menu();
                Char otvet = Convert.ToChar(Console.ReadLine());
                switch (otvet)
                {
                    case '1':
                        {
                            salon my;
                            Console.WriteLine("введите марку авто:");
                            my.marka = Console.ReadLine();
                            Console.WriteLine();
                            Console.WriteLine("введите дату выпуска авто:");
                            my.data = Convert.ToInt32(Console.ReadLine());
                            Console.WriteLine();
                            Console.WriteLine("введите объем авто:");
                            my.ob = Convert.********(Console.ReadLine());
                            myspisok.Add(my);
                            break;
                        }
                    case '2':
                            {
                                A d = new A();
                                myspisok.Sort(d);
                                Console.WriteLine();
                                Console.WriteLine("Сортировка по дате выпуска:");
                                foreach (salon pp in myspisok)
                                    Console.WriteLine("{0}\t{1}\t{2}", pp.marka, pp.data, pp.ob);
                                break;
                            }
                    case '3':
                            {
                                B dnew = new B();
                                myspisok.Sort(dnew);
                                Console.WriteLine();
                                Console.WriteLine("Сортировка по объему авто:");
                                foreach (salon pp in myspisok)
                                    Console.WriteLine("{0}\t{1}\t{2}", pp.marka, pp.ob, pp.data);
                                break;
 
                            }
                    case '4':
                            {
                                Z v = new Z();
                                myspisok.Sort(v);
                                Console.WriteLine("Сортировка по марке авто:");
                                foreach (salon pp in myspisok)
                                {
                                    Console.WriteLine("{0}\t{1}", pp.marka, pp.ob);
                                }
                                break;
                            }
                    case '5':
                            {
                                foreach (salon pp in myspisok)
                                {
                                    Console.WriteLine("Салон:");
                                    Console.WriteLine("марка авто:       {0}", pp.marka);
                                    Console.WriteLine("объем двигателя:  {0}", pp.ob);
                                    Console.WriteLine("год выпуска :     {0}", pp.data);
                                    Console.WriteLine();
                                }
                                break;
                            }
                    case '6':
                    default: return;
                }
            }
        }
    }
}