Создать структуру, описывающую улицу (название, количество домов, длина, и т.д.) - C#

Узнай цену своей работы

Формулировка задачи:

Задание: Создать структуру, описывающую улицу (название, количество домов, длина, и т.д.). Создать класс для работы с данными об улицах, который позволяет: хранить/добавлять/удалять/изменять информацию об улице. дополнительно: a. вывод списка улиц в порядке возрастания/убывания количества домов b. подсчет суммарного числа домов на выбранных улицах Он у меня ошибку выдает, исправляю появляется еще куча ошибок, как сделать, чтобы все работала?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication6
{
    public class Conference
    {
        public struct TConf
        {
            public string name; //название улицы
            public int kol; //кол-во домов
            public string length; //длина улицы
 
            public TConf(string name, int kol, string length)
            {
                this.name = name;
                this.kol = kol;
                this.length = length;
            }
        }
 
        public List<TConf> Conf = new List<TConf>();
 
        public void IshDan(ref List<TConf> Conf)
        {
            TConf a = new TConf("Труда", 68, "5 км");
            TConf b = new TConf("Победы", 90, "4 км");
            TConf c = new TConf("Железнодорожная", 46, "3 км");
            TConf d = new TConf("Трухинова", 9, "2 км");
            Conf.Add(a);
            Conf.Add(b);
            Conf.Add(c);
            Conf.Add(d);
        }
 
        public void IzmDan(ref List<TConf> Conf)
        {
            int num;
            int number;
            int x;
            bool flag = false;
            string temp;
 
            while (true)
            {
                Console.WriteLine("Введите номер соответствующий изменяемому элементу: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))//проверка, явл-ся ли вводимое число целым
                    break;
            }
            num--;
            TConf Conf_temp = new TConf();
            Conf_temp = Conf[num];
            try
            {
                do
                {
                    Console.WriteLine("Изменить \n1 - Название улицы\n2 - Кол-во домов\n3 - Длину Улицы\n4 - Выход");
                    temp = Console.ReadLine();
                    if (int.TryParse(temp, out number))
                    {
                        switch (number)
                        {
                            case 1:
                                Console.Write("Новое название улицы: ");
                                Conf_temp.name = Console.ReadLine();
                                break;
                            case 2:
                                do
                                {
                                    Console.Write("Новое кол-во домов: ");
                                    temp = Console.ReadLine();
                                    if (int.TryParse(temp, out x)) break;
                                } while (true);
                                Conf_temp.kol = x;
                                break;
                            case 3:
                                Console.Write("Новая длина улицы: ");
                                Conf_temp.length = Console.ReadLine();
                                break;
                            case 4:
                                flag = true;
                                break;
                            default:
                                Console.WriteLine("Введено неправильное число!");
                                break;
                        }
                    }
                } while (!flag);
                Conf[num] = Conf_temp;
            }
            catch
            {
                Console.WriteLine("Произошла ошибка");
            }
        }
 
        public void Adding(string name, int kol, string length)
        {
            TConf a = new TConf();
            a.name = name;
            a.kol = kol;
            a.length = length;
            Conf.Add(a);
        }
 
    }
 
    class Program
    {
        public static void Input(out string a, out string b, ref int c)
        {
            Console.WriteLine("Введите название улицы: ");
            a = Console.ReadLine();
            Console.WriteLine("Введите длину: ");
            b = Console.ReadLine();
            string temp;
            do
            {
                Console.WriteLine("Введите кол-во домов: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out c)) break;
            } while (true);
        }
        static void Main(string[] args)
        {
            string temp;
            string a, b, d;
            int c = 0, num;
            Conference q = new Conference();//экземпляр класса Work
            q.IshDan(ref q.Conf); //заполнение по умолчанию
            bool flag = true;
            while (flag)
            {
                Console.WriteLine();
                Console.WriteLine("1) Название улицы    \n2) Кол-во домов     \n3) Длина улицы    \n\n");
                foreach (Conference.TConf z in q.Conf)
                {
                    Console.WriteLine("1) {0,-10} \n2) {1,-10} \n3) {2,-10}\n", z.name, z.kol, z.length);
                }
                //вывод элементов
                Console.WriteLine();
                Console.WriteLine("1 - добавить улицу\n2 - изменить улицу\n3 - выход");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))
                {
                    switch (num)//оператор выбора
                    {
                        case 1:
                            Input(out a, out b, ref c, out d);
                            q.Adding(a, b, d, c); //добавление
                            break;
                        case 2:
                            q.IzmDan(ref q.Conf); //изменение
                            break;
                        case 3:
                            flag = false;
                            break;
                        default:
                            Console.WriteLine("Ошибка ввода");
                            break;
                    }
                }
            }
        }
    }
}

Решение задачи: «Создать структуру, описывающую улицу (название, количество домов, длина, и т.д.)»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication6
{
    public class Conference
    {
        public struct TConf
        {
            public string name; //название улицы
            public int kol; //кол-во домов
            public string length; //длина улицы
 
            public TConf(string name, int kol, string length)
            {
                this.name = name;
                this.kol = kol;
                this.length = length;
            }
        }
 
        public List<TConf> Conf = new List<TConf>();
 
        public void IshDan(ref List<TConf> Conf)
        {            
            Conf.Add(new TConf("Труда", 68, "5 км"));
            Conf.Add(new TConf("Победы", 90, "4 км"));
            Conf.Add(new TConf("Железнодорожная", 46, "3 км"));
            Conf.Add(new TConf("Трухинова", 9, "2 км"));
        }
 
        public void IzmDan(ref List<TConf> Conf)
        {
            int num;
            int number;
            int x;
            bool flag = false;
            string temp;
 
            while (true)
            {
                Console.WriteLine("Введите номер соответствующий изменяемому элементу: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))//проверка, явл-ся ли вводимое число целым
                    break;
            }
            num--;
            TConf Conf_temp = new TConf();
            Conf_temp = Conf[num];
            try
            {
                do
                {
                    Console.WriteLine("Изменить \n1 - Название улицы\n2 - Кол-во домов\n3 - Длину Улицы\n4 - Выход");
                    temp = Console.ReadLine();
                    if (int.TryParse(temp, out number))
                    {
                        switch (number)
                        {
                            case 1:
                                Console.Write("Новое название улицы: ");
                                Conf_temp.name = Console.ReadLine();
                                break;
                            case 2:
                                do
                                {
                                    Console.Write("Новое кол-во домов: ");
                                    temp = Console.ReadLine();
                                    if (int.TryParse(temp, out x)) break;
                                } while (true);
                                Conf_temp.kol = x;
                                break;
                            case 3:
                                Console.Write("Новая длина улицы: ");
                                Conf_temp.length = Console.ReadLine();
                                break;
                            case 4:
                                flag = true;
                                break;
                            default:
                                Console.WriteLine("Введено неправильное число!");
                                break;
                        }
                    }
                } while (!flag);
                Conf[num] = Conf_temp;
            }
            catch
            {
                Console.WriteLine("Произошла ошибка");
            }
        }
 
        public void Adding(string name, int kol, string length)
        {
            TConf a = new TConf();
            a.name = name;
            a.kol = kol;
            a.length = length;
            Conf.Add(a);
        }
 
    }
 
    class Program
    {
        public static void Input(out string a, out string b, ref int c)
        {
            Console.WriteLine("Введите название улицы: ");
            a = Console.ReadLine();
            Console.WriteLine("Введите длину: ");
            b = Console.ReadLine();
            string temp;
            do
            {
                Console.WriteLine("Введите кол-во домов: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out c)) break;
            } while (true);
        }
        static void Main(string[] args)
        {
            string temp;
            string a, b, d;
            int c = 0, num;
            Conference q = new Conference();//экземпляр класса Work
            q.IshDan(ref q.Conf); //заполнение по умолчанию
            bool flag = true;
            while (flag)
            {
                Console.WriteLine();
                Console.WriteLine("1) Название улицы    \n2) Кол-во домов     \n3) Длина улицы    \n\n");
                foreach (Conference.TConf z in q.Conf)
                {
                    Console.WriteLine("1) {0,-10} \n2) {1,-10} \n3) {2,-10}\n", z.name, z.kol, z.length);
                }
                //вывод элементов
                Console.WriteLine();
                Console.WriteLine("1 - добавить улицу\n2 - изменить улицу\n3 - выход");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))
                {
                    switch (num)//оператор выбора
                    {
                        case 1:
                            Input(out a, out b, ref c);
                            q.Adding(a, c, b); //добавление
                            break;
                        case 2:
                            q.IzmDan(ref q.Conf); //изменение
                            break;
                        case 3:
                            flag = false;
                            break;
                        default:
                            Console.WriteLine("Ошибка ввода");
                            break;
                    }
                }
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы