Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85

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

18.03.2019, 19:56. Показов 6711. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста с задачей.
На основе данных входного файла составить автомобильную ведомость, включив следующие данные: марка автомобиля, номер автомобиля, фамилия его владельца, год приобретения и пробег. Вывести в новый файл информацию об автомобилях, выпущенных ранее определенного года, отсортировав их по пробегу.
Исходная информация хранится в текстовом файле input.txt; результирующая информация должна быть записана в файл output.txt.
Вложения
Тип файла: txt input.txt (142 байт, 161 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2019, 19:56
Ответы с готовыми решениями:

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

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

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

16
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
18.03.2019, 20:29
Кирилл Саратов, так а с чем конкретно у Вас сложности возникли?
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
19.03.2019, 16:11  [ТС]
С реализацией,идея как реализовать есть но код не работает,не могли бы вы если вам не сложно реализовать это в C#.Буду очень благодарен!
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
19.03.2019, 16:24
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
но код не работает
Так Вы покажите, что у Вас получилось. Тогда и можно будет сказать где у Вас ошибки или подсказать в каком направлении двигаться, а писать код с нуля у меня, если честно, желания мало. Да и для Вас от готового кода толку не будет...
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
19.03.2019, 17:32  [ТС]
если быть точным я нашёл код подходящий на этом форуме но он для консольки а мне нужно на формах и я к сожалению не могу его перенести
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
84
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
using System.Diagnostics;
 
namespace Laba_16
{
    class Program
    {
        struct Trans : IComparable 
        { 
            string Marka;
            string Number;
            string Famil;
            int Year;
            int Probeg;
 
            public Trans( string Marka, string Number,string Famil, int Year, int Probeg)
            {
                this.Marka = Marka;
                this.Number = Number;
                this.Famil = Famil;
                this.Year = Year;
                this.Probeg = Probeg;
            }
            public void write(int k, StreamWriter file)
            {
                if (k >= this.Year)
                    file.WriteLine("{0}   {1}   {2}   {3}   {4}", this.Marka, this.Number, this.Famil, this.Year, this.Probeg);
            }
            public override string ToString()   //Преобразование ToString()
            {
                return "" + Marka + "  " + Number + "  " + Famil + "  " + Year.ToString() + "  "+ Probeg.ToString()+"";
            }
            public int CompareTo(object obj) // сортировка
            {
                Trans b = (Trans)obj;
                if (this.Probeg == b.Probeg) return 0;
                else if (this.Probeg > b.Probeg) return 1;
                else return -1;
            }  
        }
        static void Main(string[] args)
        {
            StreamReader fileIn = new StreamReader(new FileStream("input.txt", FileMode.Open, FileAccess.Read));
            string[] text = fileIn.ReadToEnd().Split('\n');   //Записываем весь текст в text
            fileIn.Close(); //Закрываем поток
 
            string[] str1;
            Trans[] cr = new Trans[text.Length];
            for (int i = 0; i < text.Length; i++)
            {
                str1 = text[i].Split('|');
                cr[i] = new Trans(str1[0], str1[1], str1[2], Convert.ToInt32(str1[3]), Convert.ToInt32(str1[4]));
            }
 
            foreach (Trans a in cr)
            {
                Console.WriteLine(a.ToString());
            }
             Array.Sort(cr);
             Console.WriteLine();
             Console.WriteLine("сортировка по пробегу");
 
             foreach (Trans a in cr)
             {
                 Console.WriteLine(a.ToString());
             }
            Console.WriteLine();
            Console.WriteLine("Введите год выпуска: ");
            int num = int.Parse(Console.ReadLine());
            StreamWriter f = new StreamWriter(new FileStream("output.txt", FileMode.Create, FileAccess.Write));//создаем для записи
            foreach (Trans a in cr)
            {
                a.write(num,f);
            }
            f.Close();
            Console.WriteLine("информация успешно записана");
        }
    }
}
Добавлено через 5 минут
или есть ещё 1 вариант
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
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Avto
{
    class Avto
    {
 
        public string marka; //Марка
        public string fam; // Фамилия
        public int nomer; // Номер
        public int god;//год
        public int probeg;// пробег
 
 
        public string Fam
        {
            get { return this.fam; }
            set { this.fam = value; }
        }
        public string Marka
        {
            get { return this.marka; }
            set { this.marka = value; }
        }
        public int Nomer
        {
            get { return this.nomer; }
            set { this.nomer = value; }
        }
        public int God
        {
            get { return this.god; }
            set { this.god = value; }
        }
        public int Probeg
        {
            get { return this.probeg; }
            set { this.probeg = value; }
        }
        public void Show()
        {
            Console.Write("Марка {0}  Владелец {1} номер {2} год выпуска {3} пробег {4} ", this.marka, this.fam, this.nomer, this.god, this.probeg);
 
            Console.WriteLine();
        }
}
    }
Код Программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace Avto
{
    class Program
    {
        static void Main(string[] args)
        {
            Avto[] avto= new Avto[100];
            StreamReader fin = new StreamReader("input.txt");
            int k = 0; 
             while (!fin.EndOfStream)
            {
                  char[] sep = { ' ' };
                  string st = fin.ReadLine();
                  string[] pole = st.Split(sep);
                  avto[k] = new Avto();
                  avto[k].Marka = pole[0]; 
                  avto[k].Fam = pole[1];      
                  avto[k].Nomer = Convert.ToInt16(pole[2]);
                  avto[k].God = Convert.ToInt16(pole[3]);
                  avto[k].Probeg = Convert.ToInt16(pole[3]);
                  
                   
                 avto[k].Show(); 
            }
             fin.Close();
             StreamWriter fin2;  
             FileInfo file = new FileInfo("output.txt");
             fin2 = file.CreateText();
            
             {
                 
             }
             fin2.Close();
 
             Console.ReadKey();
        }
    }
}
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
19.03.2019, 17:47
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
мне нужно на формах
Не очень понятно как это должно выглядеть... Программа, по сути, никак не взаимодействует с пользователем. Получается, на форме должна быть всего одна кнопка, при нажатии на которую будет все происходить? Или как?
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
19.03.2019, 20:17  [ТС]
ну я вижу примерно как в прикрепленном скрине. По щелчку "Отрыть" в рич текст бокс выведется информация из файла, а при нажатии на "Сохранить " в выходной файл сохранятся данные после выборки
P.S. кнопка выборки это уже я для себя доп задачу собираюсь делать)
Миниатюры
На основе данных входного файла составить автомобильную ведомость  
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
19.03.2019, 21:04
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
ну я вижу примерно как в прикрепленном скрине
Ну так и делайте. Разделите код, который Вы нашли на логические блоки: прочитать из файла, сохранить в файл и т.д. Измените вывод в консоль на вывод в текстбокс. И вставьте получившиеся блоки в обработчики нажатий соответствующих кнопок.
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
19.03.2019, 21:55  [ТС]
вот как раз это и не получилось) Вам не составит труда сделать это ? Заранее благодарен.
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
20.03.2019, 16:11  [ТС]
asn31337, ну так что можете помочь? очень нужно)
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.03.2019, 18:17
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
ну так что можете помочь?
Вы правы, для меня не составит труда это сделать. Работы там на пару минут... Но, знаете... Совсем не хочется помогать человеку, который сам палец о палец не ударил для выполнения работы. Вы нашли на форуме код, написанный одним человеком, просите его исправить другого человека... А что в этой работе будет сделано Вами? Помощь, в моем понимании, это именно помощь, а не выполнение работы целиком за другого человека! Поэтому, предлагаю такой вариант - вот есть у Вас код (давайте остановимся на первом варианте). Разберитесь в нем и прокомментируйте каждую строку этого кода. Распишите очень подробно, что в этой строке происходит, что получается в результате и почему именно так. Т.е., к примеру, для строки
C#
1
string[] text = fileIn.ReadToEnd().Split('\n');
комментарий "Записываем весь текст в text" не прокатит. Т.к. в ней несколько действий происходит и у каждого свой результат...
Сделаете, тогда я Вам помогу (если, конечно, к тому моменту Вам все еще будет нужна помощь). Если Вас устроит такой вариант, жду откомментированный код. Если нет, тогда извините! Халявы не будет!
1
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
20.03.2019, 20:59  [ТС]
а можно вас попросить сделать хотя бы считывание из файла? А сортировку и запись я сделаю сам)
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.03.2019, 21:44
Лучший ответ Сообщение было отмечено Кирилл Саратов как решение

Решение

Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
а можно вас попросить сделать хотя бы считывание из файла?
Т.е. разбираться в коде Вы абсолютно не желаете?
Если первый вариант найденного Вами кода смотреть, то считывание из файла это строки 48-50 включительно. А потом еще идет заполнение массива Trans. Это строки 53-58 включительно. Ну и, разумеется, для того, чтобы была возможность работать с массивом Trans в других методах (например, для сортировки и записи в файл), этот массив должен быть объявлен в классе формы, а не в методе, в котором происходит чтение из файла.
1
1 / 1 / 0
Регистрация: 20.03.2019
Сообщений: 4
20.03.2019, 22:04
какой ленивый)
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
20.03.2019, 22:19  [ТС]
признаю,вы оба правы я очень ленивый и кроме того нужно быстрее просто сделать
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
21.03.2019, 01:48
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
я очень ленивый
Это очень плохо! Чисто по-дружески советую в себе это искоренить! Ибо потом (не только в программировании, но и в жизни в целом) будет сложно! Уж поверьте, я знаю о чем говорю!
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 85
22.03.2019, 21:00  [ТС]
В итоге все получилось.Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2019, 21:00
Помогаю со студенческими работами здесь

Структуры и массивы - На основе данных входного файла составить автомобильную ведомость
1) Во всех задачах данного раздела подразумевается, что исходная информация хранится в текстовом файле input.txt, каждая строка которого...

На основе данных входного файла составить список студентов группы
Помогите пожалуйста срочно испраить программу!! 1. исходная информация хранится в текстовом файле input.txt, каждая строка которого...

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

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru