Изменить код таким образом, чтобы данные цифры можно было вводить в процессе запуска программы - C#

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

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

Есть программа. Необходимо изменить код таким образом, чтобы данные цифры можно было вводить в процессе запуска программы
static void Main(string[] args)
        {
            List<Statistik> sp = new List<Statistik>();
            sp.Add(new Statistik("Азия", 43.8, 960, 8848, 1535));
            sp.Add(new Statistik("Африка", 30.3, 750, 6010, 224));
            sp.Add(new Statistik("Северная и Центральная Америка", 24.2, 720, 6187, 244));
            sp.Add(new Statistik("Южная Америка", 17.8, 590, 7035, 127));
            sp.Add(new Statistik("Антарктида", 14.0, 2200, 6100, 0));
            sp.Add(new Statistik("Европа", 10.5, 300, 4810, 569));
            sp.Add(new Statistik("Австралия и Окенания", 8.4, 340, 5030, 15));
            Console.WriteLine("a");
            a(sp);
            Console.WriteLine("b");
            b(sp);
            Console.WriteLine("c");
            c(sp);
            Console.ReadKey();
        }
вот вся программа:
        static void Main(string[] args)
        {
            List<Statistik> sp = new List<Statistik>();
            sp.Add(new Statistik("Азия", 43.8, 960, 8848, 1535));
            sp.Add(new Statistik("Африка", 30.3, 750, 6010, 224));
            sp.Add(new Statistik("Северная и Центральная Америка", 24.2, 720, 6187, 244));
            sp.Add(new Statistik("Южная Америка", 17.8, 590, 7035, 127));
            sp.Add(new Statistik("Антарктида", 14.0, 2200, 6100, 0));
            sp.Add(new Statistik("Европа", 10.5, 300, 4810, 569));
            sp.Add(new Statistik("Австралия и Окенания", 8.4, 340, 5030, 15));
            Console.WriteLine("a");
            a(sp);
            Console.WriteLine("b");
            b(sp);
            Console.WriteLine("c");
            c(sp);
            Console.ReadKey();
        }
        static void a(List<Statistik> t)
        {
            Console.WriteLine("Наименее заселенная часть света - Антарктида, население составляет " + t.Min(a => a.People)+" млн.чел.");
            Console.WriteLine("Наиболее заселенная часть света - Азия, население составляет " + t.Max(a => a.People) + " млн.чел.");
            foreach (Statistik p in t.OrderByDescending(a => a.Area))
                Console.WriteLine("{0,35} {1,5} {2,5} {3,5} {4,5}", p.Name, p.Area, p.Haverage, p.Hmax, p.People);
 
        }
        static void b(List<Statistik> t)
        {
            Console.WriteLine("Наибольшая разница между средней высотой и максимальной составляет " + t.Max(a => a.Hmax - a.Haverage)+" метров");
            foreach (Statistik p in t.OrderBy(a => a.Hmax))
                Console.WriteLine("{0,35} {1,5} {2,5} {3,5} {4,5}", p.Name, p.Area, p.Haverage, p.Hmax, p.People);
 
        }
        static void c(List<Statistik> t)
        {
            Console.WriteLine("Самая максимальная по площади часть света - Азия: " + t.Max(a => a.Area)+" млн.км2.");
            foreach (Statistik p in t.OrderBy(a => a.Haverage))
                Console.WriteLine("{0,35} {1,5} {2,5} {3,5} {4,5}", p.Name, p.Area, p.Haverage, p.Hmax, p.People);
 
        }
        public class Statistik
        {
            string name;
            double area, haverage, hmax, people;
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            public double Area
            {
                get { return area; }
                set { area = value; }
            }
            public double Haverage
            {
                get { return haverage; }
                set { haverage = value; }
            }
            public double Hmax
            {
                get { return hmax; }
                set { hmax = value; }
            }
            public double People
            {
                get { return people; }
                set { people = value; }
            }
            public Statistik(string q, double a, double b, double c, double d)
            {
                name = q;
                area = a;
                haverage = b;
                hmax = c;
                people = d;
            }
        }

Решение задачи: «Изменить код таким образом, чтобы данные цифры можно было вводить в процессе запуска программы»

textual
Листинг программы
static void zapoln(List<Statistik> sp)
        {
            string[] str = { "Азии", "Африки", "Северной и Центральной Америки", "Южной Америки", "Антарктиды", "Европа", "Австралии и Окенании" };
 
            int n = 10;//Число записей
            for (int i = 0; i < str.Length; i++)
            {
                double a, b, c, d;
                while (true)
                {
                    try
                    {
                        Console.WriteLine("Введите данные для {0}(через пробел):", str[i]); string text = Console.ReadLine();
                        var sannar = text.Split(' ');
                        a = double.Parse(sannar[0]); b = double.Parse(sannar[1]); c = double.Parse(sannar[2]); d = double.Parse(sannar[3]);
                        break;
                    }
                    catch (Exception)
                    { continue; }
                }
 
                sp.Add(new Statistik(str[i], a, b, c, d));
            }
        }//Заполнение
 
        static void print(List<Statistik> sp)
        {
            foreach (var i in sp) Console.WriteLine("{0} {1} {2} {3} {4}", i.Name, i.Area, i.Haverage, i.Hmax, i.People);
        }
 
        static void Main(string[] args)
        {
            
            List<Statistik> sp = new List<Statistik>();
            zapoln(sp);//Заполнение через пробел
 
            print(sp);
            Console.ReadKey();
        }

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


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

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

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