Работа со списками и структурами

126
12 сентября 2019, 07:00

Условие:

С помощью структур (списка) решить: Набор материалов, имеющихся на складе, с разбивкой по виду товара. Количество видов товаров и штук каждого товара задать самостоятельно. Составить модуль формирования двух новых списков из исходного списка товаров. В первый список попадают номера товаров меньше некоторого заданного, во второй — больше

Проблема в "Case 3". То есть я хочу сравнить весь изначальный список товаров с заданным числом "int Pod" и занести все товары которые больше заданного "Pod" в новый list. Не могу понять, что я делаю не так.

Все товары которые больше заданного "Pod", заносятся в List bolshe, товары которые меньше заданного "Pod" заносятся в List menshe

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lab9
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> list = new List<string>();
            List<string> nomer1 = new List<string>();
            List<string> menshe = new List<string>();
            List<string> bolshe = new List<string>();
            while (true)
            {
                Console.Clear();
                Console.WriteLine("1) Добавление нового товара");
                Console.WriteLine("2) Вывод всех товаров");
                Console.WriteLine("3) Вывод товаров, которые выше указанного числа");
                Console.WriteLine("4) Выход");
                int nav = 0;
                try
                {
                    nav = Convert.ToInt32(Console.ReadLine());
                }
                catch (FormatException)
                {
                    Console.WriteLine("Ошибка!");
                }
                switch (nav)
                {
                    case 1:
                        st BIP; string temp = null; string nomer2 = null;
                        Console.Write("Введите номер товара: ");
                        nomer2 += "1) Номер: " + (BIP.nomer = Console.ReadLine()) + "\n";
                        Console.Write("Введите количество товара: ");
                        temp += "2) Количество: " + (BIP.kolichestvo = Console.ReadLine()) + "\n";
                        Console.Write("Введите наименование товара: ");
                        temp += "3) Наименование: " + (BIP.naimenovanie = Console.ReadLine()) + "\n";
                        list.Add(nomer2 + temp);
                        nomer1.Add(nomer2);
                        break;
                    case 2:
                        foreach (string i in list)
                        {
                            Console.WriteLine(i);
                        }
                        Console.ReadKey();
                        break;
                    case 3:
                        Console.WriteLine("Введите число для вывода: ");
                        int pod = Convert.ToInt32(Console.ReadLine());
                        for (int j = 0; j < list.Count; j++)
                        {
                            if (nomer1[j] > pod)
                            {
                                Console.WriteLine(list[j]);
                            }
                        }
                        Console.ReadKey();
                        break;
                    case 4: return;
                }
            }
        }
    }
    struct st
    {
        public string nomer;
        public string kolichestvo;
        public string naimenovanie;
    }
}
Answer 1

В строке if (nomer1[j] > pod) вы сравниваете строку с числом, что в c# запрещено

Плюс в списке nomer вы храните строки вида "Номер: n", поэтому простого преобразования типа для сравнения будет мало.

Храните в списке или только числа, используя тип данных int, или структуры st и тогда сравнивайте if (nomer1[j].nomer > pod)

READ ALSO
Unity: Как добавить код в скрипт с помощью Input Field?

Unity: Как добавить код в скрипт с помощью Input Field?

Я создаю что-то вроде компилятора в своей программе(смрис

139
Изменить цвет строки состояния

Изменить цвет строки состояния

Как в приложении wpf изменить цвет строки состояния(панели на которой расположны кнопки "свернуть" "маштабировать" "закрыть")? Например чтобы...

105
Проблема с добавлением данных в БД

Проблема с добавлением данных в БД

Есть таблица ImageВ ней есть несколько полей (интересуют id ImageName, они должны быть равны)

113
Нужна помощь с паркингом из vk (не api)

Нужна помощь с паркингом из vk (не api)

Мне нужно получить все id страниц пользователе с заданным именем и фамилиейОднако Vk api выдает только первые 1000 страниц Условно, если "Павел...

147