Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
.NET 4.x

Структуры Перечисления. Вывод автомобилей по дате техосмотра.

14.12.2018, 20:51. Показов 4409. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывести сведения о машинах, прошедших техосмотра менее года назад.
1.Марка автомобиля.
2.Производитель.
3.Тип.
4.Год выпуска.
5.Дата прохождения.
6.Техосмотра.
7.Дата регистрации.

Добавлено через 2 часа 29 минут
Как мне из этого списка вывести сведения о машинах, прошедших техосмотра менее года назад. ?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
 
namespace HelloApp
{
    struct Cars
    {
        public string Carmodel1;
        public string Manufacturer1;
        public string Typeof1;
        public int God1;
        public string Datapoxogdenia1;
        public string DataRegist1;
 
        public string Carmodel2;
        public string Manufacturer2;
        public string Typeof2;
        public int God2;
        public string Datapoxogdenia2;
        public string DataRegist2;
 
        public string Carmodel3;
        public string Manufacturer3;
        public string Typeof3;
        public int God3;
        public string Datapoxogdenia3;
        public string DataRegist3;
 
        public void AvtoCar()
        {
            Console.WriteLine($"Чтения из списка");
            Console.WriteLine($"\nМарка автомобиля: {Carmodel1}");
            Console.WriteLine($"Производитель: {Manufacturer1}");
            Console.WriteLine($"Тип: {Typeof1}");
            Console.WriteLine($"Год выпуска: {God1}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia1}");
            Console.WriteLine($"Дата регистрации: {DataRegist1}");
 
            Console.WriteLine($"\nМарка автомобиля: {Carmodel2}");
            Console.WriteLine($"Производитель: {Manufacturer2}");
            Console.WriteLine($"Тип: {Typeof2}");
            Console.WriteLine($"Год выпуска: {God2}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia2}");
            Console.WriteLine($"Дата регистрации: {DataRegist2}");
 
            Console.WriteLine($"\nМарка автомобиля: {Carmodel3}");
            Console.WriteLine($"Производитель: {Manufacturer3}");
            Console.WriteLine($"Тип: {Typeof3}");
            Console.WriteLine($"Год выпуска: {God3}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia3}");
            Console.WriteLine($"Дата регистрации: {DataRegist3}");
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Cars mahina;
            mahina.Carmodel1 = "BMBX5";
            mahina.Manufacturer1 = "Китай";
            mahina.Typeof1 = "Универсал";
            mahina.God1 = 2000;
            mahina.Datapoxogdenia1 = "01.23.2018";
            mahina.DataRegist1 = "02.20.2000";
 
            mahina.Carmodel2 = "Audi";
            mahina.Manufacturer2 = "Китай";
            mahina.Typeof2 = "Универсал";
            mahina.God2 = 2001;
            mahina.Datapoxogdenia2 = "01.23.2017";
            mahina.DataRegist2 = "02.20.2001";
 
            mahina.Carmodel3 = "BMBX6";
            mahina.Manufacturer3 = "Китай";
            mahina.Typeof3 = "Универсал";
            mahina.God3 = 2003;
            mahina.Datapoxogdenia3 = "01.23.2017";
            mahina.DataRegist3 = "02.20.2003";
            mahina.AvtoCar();
            Console.ReadKey();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2018, 20:51
Ответы с готовыми решениями:

Структуры: Сведения об автомобиле состоят из номера, марки, фамилии владельца, признака прохождения техосмотра
Помогите решить структурную задачу Сведения об автомобиле состоят из номера, марки, фамилии владельца, признака прохождения техосмотра....

Перечисления и структуры
Опишите функцию Name(G), определяющую имя мужчины из группы G с ростом x. Опишите функцию LowCost(G), определяющую имя самой богатой...

Структуры и перечисления
Поля структуры --------------------------- Фамилия, Имя, Отчество Пол Должность Дата рождения Задача -------------

50
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
16.12.2018, 13:42  [ТС]
Студворк — интернет-сервис помощи студентам
Объясните как работает этот цикл
C#
1
 foreach (Car car in cars)//Цикл по отфильтрованному списку авто
?

Добавлено через 24 секунды
зачем два раза Car ?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.12.2018, 13:47
Цитата Сообщение от Nikita110001 Посмотреть сообщение
зачем два раза Car ?
Car (с большой буквы) - это объявление типа переменной, car (с маленькой буквы) - объявление имени переменной. Имя может быть любым. Допустим, как вариант:
C#
1
2
3
            foreach (Car авто in cars)//Цикл по списку авто
                    if (авто.Datapoxogdenia >= dateTO) // Проверка даты
                           авто.PrintCar();//Вывод на консоль авто
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
16.12.2018, 16:28
Цитата Сообщение от Элд Хасп Посмотреть сообщение
new создаёт новый экземпляр типа. Так как у Вас список автомобилей, то для каждого автомобиля надо создать свой экземпляр класса Car. Так что, в данном случае, без new - никак.
Car в примере выше это стркутура а не класс. Выделять память по структуру можно и без "new"

Добавлено через 20 минут
Nikita110001, вы задаете очень глупые вопросы из основ языка, вам следуют почитать кинги и документацию
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.12.2018, 16:35
Цитата Сообщение от lvlkoo Посмотреть сообщение
Car в примере выше это стркутура а не класс. Выделять память по структуру можно и без "new"
Если инициализировать элемент списка, как в примере выше, то не вижу способа обойтись без new. Можно , конечно, искусственно напридумывать костылей для этого.... Но это, вряд ли можно назвать решением.
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
16.12.2018, 16:38
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если инициализировать элемент списка, как в примере выше, то не вижу способа обойтись без new. Можно , конечно, искусственно напридумывать костылей для этого.... Но это, вряд ли можно назвать решением.
Вопрос не в удобстве написания кода, а в том что вВы писали что без new никак, хотя это не есть правдой. В конце концов можно метод определить, который будет сткрутуру инициализировать, и так же запись в список будет "чрез й строчку"
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
16.12.2018, 16:43  [ТС]
Парни новая ошибка что делать ?

код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Linq;
using System.Collections.Generic;
namespace HelloApp
{
    struct Cars
    {
        public string Carmodel;
        public string Manufacturer;
        public string Typeof;
        public int God;
        public DateTime Datapoxogdenia;
        public DateTime DataRegist;
        public void AvtoCar()
        {        
          //  Console.WriteLine($"\nЧтения списка о машинах, прошедших техосмотр менее года назад.");
 
            Console.WriteLine($"\nМарка автомобиля: {Carmodel}");
            Console.WriteLine($"Производитель: {Manufacturer}");
            Console.WriteLine($"Тип: {Typeof}");
            Console.WriteLine($"Год выпуска: {God}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia}");
            Console.WriteLine($"Дата регистрации: {DataRegist}");
        }
        
    }
    class Program
    {
        static void Main(string[] args)//1.Вывести сведения о машинах, прошедщих техосмотра менее года назад.
                                       //1.Марка автомобиля.
                                       //2.Производитель.
                                       //3.Тип.
                                       //4.Год выпуска.
                                       //5.Дата прохождения Техосмотра.
                                       //6.Дата регистрации.
 
        {
            List<Cars> cars = new List<Cars>();//Представляет простейший список однотипных объектов
            {
                new Cars() { Carmodel = "BMBX5" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2001 };
                new Cars() { Datapoxogdenia = new DateTime(01, 23, 2018) };
                new Cars() { DataRegist = new DateTime(02, 20, 2000) };
 
                new Cars() { Carmodel = "Audi" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2001 };
                new Cars() { Datapoxogdenia = new DateTime(01, 23, 2017) };
                new Cars() { DataRegist = new DateTime(02, 20, 2000) };
 
                new Cars() { Carmodel = "BMBX6" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2003 };
                new Cars() { Datapoxogdenia = new DateTime(01, 23, 2017) };
                new Cars() { DataRegist = new DateTime(02, 20, 2003) };
            }
            DateTime dateTO = new DateTime(2016, 1, 23);//Дата техосмотра после которой отображаются авто
            Console.WriteLine($"Автомобили с техосмотром после {dateTO}"); // Вывод информации о дате техосмотра
            foreach (Cars car in cars)//Цикл по отфильтрованному списку авто
                if (car.Datapoxogdenia >= dateTO) // Проверка даты
                    car.AvtoCar();//Вывод на консоль авто
            Console.WriteLine("\nДля закрытия приложения нажмите Enter....");//Выводит на экран сообщения и делает переход на следующую строку
            Console.ReadKey();//Для того что бы не закрывалась коносль 
        }
    }
}
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
16.12.2018, 16:50
Цитата Сообщение от Nikita110001 Посмотреть сообщение
что делать
Уить язык!!!!!!
Или хотя бы смотреть на описание конструктора в visula studio! Она же подксказывает Вам в каком порядке передавать аргументы!

https://docs.microsoft.com/en-... ime-object




Datapoxogdenia = new DateTime(01, 23, 2018)

01 год 23 месяц 2018 день - отличная дата, не так ли?
1
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
16.12.2018, 16:59  [ТС]
Что делать паника не чего не выводить ?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Linq;
using System.Collections.Generic;
namespace HelloApp
{
    struct Cars
    {
        public string Carmodel;
        public string Manufacturer;
        public string Typeof;
        public int God;
        public DateTime Datapoxogdenia;
        public DateTime DataRegist;
        public void AvtoCar()
        {        
            Console.WriteLine($"\nМарка автомобиля: {Carmodel}");
            Console.WriteLine($"Производитель: {Manufacturer}");
            Console.WriteLine($"Тип: {Typeof}");
            Console.WriteLine($"Год выпуска: {God}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia}");
            Console.WriteLine($"Дата регистрации: {DataRegist}");
        }
        
    }
    class Program
    {
        static void Main(string[] args)//1.Вывести сведения о машинах, прошедщих техосмотра менее года назад.
                                       //1.Марка автомобиля.
                                       //2.Производитель.
                                       //3.Тип.
                                       //4.Год выпуска.
                                       //5.Дата прохождения Техосмотра.
                                       //6.Дата регистрации.
 
        {
            List<Cars> Car = new List<Cars>();//Представляет простейший список однотипных объектов
            {
                new Cars() { Carmodel = "BMBX5" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2001 };
                new Cars() { Datapoxogdenia = new DateTime(2018, 11, 23) };
                new Cars() { DataRegist = new DateTime(2017, 11, 23) };
 
                new Cars() { Carmodel = "Audi" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2001 };
                new Cars() { Datapoxogdenia = new DateTime(2018, 10, 20) };
                new Cars() { DataRegist = new DateTime(2015, 6, 20) };
 
                new Cars() { Carmodel = "BMBX6" };
                new Cars() { Manufacturer = "Китай" };
                new Cars() { Typeof = "Универсал" };
                new Cars() { God = 2003 };
                new Cars() { Datapoxogdenia = new DateTime(2012, 10, 23) };
                new Cars() { DataRegist = new DateTime(2018, 1, 23) };
            }
            DateTime dateTO = new DateTime(2016, 1, 23);//Дата техосмотра после которой отображаются авто
            Console.WriteLine($"Автомобили с техосмотром после {dateTO}"); // Вывод информации о дате техосмотра
            foreach (Cars Cars in Car)//Цикл по отфильтрованному списку авто
                if (Cars.Datapoxogdenia >= dateTO) // Проверка даты
                    Cars.AvtoCar();//Вывод на консоль авто
            Console.WriteLine("\nДля закрытия приложения нажмите Enter....");//Выводит на экран сообщения и делает переход на следующую строку
            Console.ReadKey();//Для того что бы не закрывалась коносль 
        }
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.12.2018, 18:16
Цитата Сообщение от Nikita110001 Посмотреть сообщение
Парни новая ошибка что делать ?
Я же показал Вам как надо инициализировать список (см. пост #22). Там должно быть ТРИ автомобиля с разными параметрами. А ВЫ создаёте почти ДВАДЦАТЬ автомобилей у которых установлено только по одному свойству.

И второе, Car - это один автомобиль (на инглиш), cars - это множество автомобилей. Почему у Вас тип для одного атомобиля называется Cars, а список автомобилей - Car ? Это чтоб шпионы не догадались?
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
16.12.2018, 18:41  [ТС]
Ага понял вас

Добавлено через 5 минут
Исправил
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Collections.Generic;
 
namespace Cars
{
    struct Car
    {  
        public string Carmodel;
        public string Manufacturer;
        public string Typeof;
        public int God;
        public DateTime Datapoxogdenia; 
        public DateTime DataRegist; 
 
        public void AvtoCar()
        {
            Console.WriteLine($"\nМарка автомобиля: {Carmodel}");
            Console.WriteLine($"Производитель: {Manufacturer}");
            Console.WriteLine($"Тип: {Typeof}");
            Console.WriteLine($"Год выпуска: {God}");
            Console.WriteLine($"Дата прохождения Техосмотра.: {Datapoxogdenia}");
            Console.WriteLine($"Дата регистрации: {DataRegist}");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Car> cars = new List<Car>()
            {
                new Car()
                {
                    Carmodel = "BMBX5",
                    Manufacturer = "Китай",
                    Typeof = "Универсал",
                    God = 2000,
                    Datapoxogdenia = new DateTime(2018, 1, 23),
                    DataRegist = new DateTime(2000, 2, 20)
                },
                new Car()
                {
                    Carmodel = "Audi",
                    Manufacturer = "Китай",
                    Typeof = "Универсал",
                    God = 2001,
                    Datapoxogdenia = new DateTime(2016, 1, 23),
                    DataRegist = new DateTime(2000, 2, 20)
                },
                new Car()
                {
                    Carmodel = "BMBX6",
                    Manufacturer = "Китай",
                    Typeof = "Универсал",
                    God = 2003,
                    Datapoxogdenia = new DateTime(2014, 1, 23),
                    DataRegist = new DateTime(2000, 2, 20)
                },
            };
            DateTime dateTO = new DateTime(2016, 1, 23);
            Console.WriteLine($"Автомобили с техосмотром после {dateTO}"); 
            foreach (Car car in cars)
            if (car.Datapoxogdenia >= dateTO) 
                car.AvtoCar();
            Console.WriteLine("\nДля закрытия приложения нажмите Enter....");
            Console.ReadKey();
        }
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
16.12.2018, 21:43
Цитата Сообщение от Nikita110001 Посмотреть сообщение
Исправил
Вот! Совсем другое дело!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2018, 21:43

Структуры и перечисления
Есть такой набросок Нужно реализовать программу для хранения данных пациента, реализовать добавление и удаления из списка пациентов,...

C# Структуры и Перечисления
Здравствуйте! Понял как нужно сделать перечисления, но не как не могу подумать как мне сделать дальше... :( Задание: Пользователь...

Структуры и перечисления
Вот условия задания: 1. Создать перечисление должностей Vacancies {Manager, Boss, Clerk, Salesman, etc.} 2. Создать структуру...

Перечисления, Структуры, Интерфейсы
Дан список абитуриентов: ФИО, специальность, на которую он поступает, оценка за экзамен 1, оценка за экзамен 2. Известно, что проходной...

Структуры, Объединения, Перечисления
Реализовать программу для хранения информации о студентах одного потока. Предусмотреть следующие поля: ФИО, группа. Для иногородних...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru