Создать структуру, описывающую улицу (название, количество домов, длина, и т.д.) - 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; } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д