Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 46

Структуры и массивы - На основе данных входного файла составить автомобильную ведомость

26.05.2019, 16:23. Показов 2618. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Во всех задачах данного раздела подразумевается, что исходная информация хранится
в текстовом файле input.txt, каждая строка которого содержит полную информацию о
некотором объекте, результирующая информация должна быть записана в
файл output.txt.
2) Для хранения данных внутри программы организовать массив структур.
3) В типе структура реализуется метод CompareTo интерфейса IComparable,
перегружается метод ToString базового класса object и необходимые операции
отношения, поля данных и дополнительные методы продумайте самостоятельно.

На основе данных входного файла составить автомобильную ведомость, включив
следующие данные: марка автомобиля, номер автомобиля, фамилия его
владельца, год приобретения, пробег. Вывести в новый файл информацию об
автомобилях, выпущенных ранее определенного года, отсортировав их по пробегу.

В input.txt записано следующее:
BMW: В999ХХ, Пастушенко, 1999, 6098701
MERCEDES: Р631ЛИ, Маринов, 2000, 7000904
AUDI: А552ОП, Пахомов, 2009, 956789
SKODA: В777ЕК, Ларченко, 2003, 10000345
HYUNDAI: О889ЛО, Попов, 2014, 3456789
LADA: Г009ПР, Орлов, 2017, 567894
SUBARU: А999ПЕ, Юрченко, 2016, 679333

Не понимаю,как реализовать дальше программу.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApp17
{
    struct Automobile : IComparable
    {
        string auto;
        string number;
        string surname;
        int year;
        int run;
        public void Autovedomost(string f1, string f2, string f3, int f4, int f5)
        {
            this.auto = f1;
            this.number = f2;
            this.surname = f3;
            this.year = f4;
            this.run = f5;
        }
        public string Auto
        {
            get;
            private set;
        }
        public string Number
        {
            get;
            private set;
        }
        public string Surname
        {
            get;
            private set;
        }
        public int Year
        {
            get;
            private set;
        }
        public int Run
        {
            get;
            private set;
        }
        public int CompareTo(object obj)
        {
            return Run.CompareTo(((Automobile)obj).Run);
        }
        public override string ToString()
        {
 
            return string.Format($"{Auto},{Number},{Surname},{Year},{Run}");
        }
    }
    class Program
    {
 
        static void Main(string[] args)
        {
            StreamReader A = new StreamReader("input.txt");
 
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2019, 16:23
Ответы с готовыми решениями:

На основе данных входного файла составить автомобильную ведомость
Задание: На основе данных входного файла составить автомобильную ведомость, включив следующие данные: марка автомобиля, номер автомобиля,...

На основе данных входного файла составить автомобильную ведомость - Продолжение
Продолжение темы https://www.cyberforum.ru/csharp-beginners/thread2460135.html На основе данных входного файла составить автомобильную...

На основе данных входного файла составить автомобильную ведомость
Здравствуйте,помогите пожалуйста с задачей. На основе данных входного файла составить автомобильную ведомость, включив следующие данные:...

7
Заблокирован
26.05.2019, 16:28
Используйте конструктор для инициализации данных автомобиля. Также, у Вас проблема со свойствами - они никак не связаны с полями. Уберите либо поля, либо автоматически реализуемые свойства, поскольку для каждого из них неявно создаётся связанное с ним поле, либо свяжите существующие свойства с существующими полями.
0
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 46
26.05.2019, 18:03  [ТС]
Со свойствами разобрался,спасибо)
Но все равно не догоняю,как создать этот конструктор.
Я новичок в этом деле и вот прошу помощи)))
0
Заблокирован
26.05.2019, 18:18
Вручную создавать Вас никто не требует. Вы можете воспользоваться имеющимся для этого функционалом Visual Studio:


Для примера использовал класс точки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace CSrharpApplicationTest
{
    internal class Point
    {
        public int X { get; set; }
        public int Y { get; set; }
    }
 
    internal class Program
    {
 
        private static void Main(string[] args)
        {
        }
    }
}
0
Заблокирован
26.05.2019, 18:23
Цитата Сообщение от Vladimir1_001 Посмотреть сообщение
Но все равно не догоняю,как создать этот конструктор.
Что конкретно Вам не ясно?
0
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 46
26.05.2019, 18:25  [ТС]
Как создается массив структур.
Извините,если это очень глупые вопросы.
Но я только учусь.
0
Заблокирован
26.05.2019, 18:30
В сравнении со ссылочными типами, можно сказать, что если бы элемент массива был бы не структурой, то изначально в нём лежал бы null. В случае со структурами - в нём изначально лежит структура, в Вашем случае - сам объект-автомобиль. Для такого поведения у структур неявно вызывается их конструктор по умолчанию (конструктор без параметров), который инициализирует все поля значениями по умолчанию и который нельзя переопределить.
1
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 46
27.05.2019, 23:47  [ТС]
Не могли бы объяснить,почему в выделенной строке,выводится ошибка о выходе из границ массива индекса. Снова с этой задачкой))))))
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApp17
{
    struct Automobile : IComparable
    {
        public string auto;
        public int number;
        public string surname;
        public int year;
        public int run;
 
        public Automobile(string inf)
        {
            object[] A = inf.Split(' ');
            auto = (string)A[0] + " " + A[1] + " " + A[2] + " " + A[3];
            number = Convert.ToInt32(A[4]);
/*!!!!!!*/  surname = Convert.ToString(A[5]); /// В ЭТОЙ СТРОКЕ
            year = Convert.ToInt32(A[6]);
            run = Convert.ToInt32(A[7]);
        }
        public int CompareTo(object obj)
        {
            return run.CompareTo(((Automobile)obj).run);
        }
        public override string ToString()
        {
 
            return "Марка машины " + auto + ", с номером " + number + ", фамилия владельца " + surname + ",взята в  " + year + " году " + ",ее пробег составляет"+ run;
        }
    }
    class Program
    {
 
        static void Main(string[] args)
        {
            StreamReader A = new StreamReader("input.txt");
            Automobile[] cars = new Automobile[Convert.ToInt32(A.ReadLine())];
            for (int i = 0; i < cars.Length; i++)
            {
                cars[i] = new Automobile(A.ReadLine());
            }
            Console.Write("Введите определенный год: ");
            int year1 = Convert.ToInt32(Console.ReadLine());
            Array.Sort(cars);
            StreamWriter B = new StreamWriter("output.txt");
            for (int i = 0; i < cars.Length; i++)
            {
                if (cars[i].year<year1)
                    B.WriteLine(cars[i]);
            }
            B.Close();
            Console.ReadKey();
 
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2019, 23:47
Помогаю со студенческими работами здесь

Структуры: На основе данных входного файла составить список студентов
На основе данных входного файла составить список студентов, включив следующие данные: ФИО,год рождения,домашний адрес,какую школу окончил....

Структуры: на основе данных входного файла составить список студентов группы
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу...

На основе данных входного файла составить список студентов
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, номер группы, результаты сдачи трех...

Составить список студентов группы на основе данных входного файла
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу...

На основе данных входного файла составить список сотрудников учреждения
Помогите пожалуйста написать программу на языке C# Вариант 5 На основе данных входного файла составить список сотрудников...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru