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

Задача на обработку текстовых файлов

03.06.2013, 20:42. Показов 3653. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, форумчане. Прошу помощи с заданием на курсовую, сам не справлюсь, а курсач горит уже. Буду очень признателен.

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

Добавлено через 20 часов 17 минут
Пожалуйста, объясните хотя бы нубу, какой последовательности придерживаться, может посмотреть мануалы по каким то определённым темам или определенные темы на форуме.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.06.2013, 20:42
Ответы с готовыми решениями:

Обработка текстовых файлов
Всем доброго времени суток!!! Помогите пожалуйста с задачей - никак не могу понять, что нужно сделать. Описать структуру,...

создание текстовых файлов в C#
Прочитал почти всю веку форума, вроде что-то и есть по работе с файлами но ни как не могу все сложить воедино, уже голова как чугунок...

Обработка текстовых файлов
помогите пожалуйста!!! есть программа: Дан исходный текстовый файл: Муз.Произведения в котором: -Название -Автор -Год -Стиль ...

12
53 / 53 / 16
Регистрация: 25.02.2013
Сообщений: 171
03.06.2013, 20:57
1#товар#3#3000
вот так? или после последовательности идет знак #
?
0
 Аватар для xzavhozx
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 10
04.06.2013, 00:39  [ТС]
Добавлено через 43 минуты
Цитата Сообщение от GloryMU Посмотреть сообщение
1#товар#3#3000
вот так? или после последовательности идет знак #
?
Именно так, в конце последовательности нет знака #.

Добавлено через 2 часа 55 минут
желающих так и нет...(((
0
6 / 6 / 0
Регистрация: 02.06.2012
Сообщений: 24
04.06.2013, 01:27
тебе нужно написать пример проги которая возьмёт данные с какого то исходного файла и создаст 2 отсортированных файла?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.06.2013, 02:27
GloryMU,
C#
1
2
3
4
5
6
7
using(var sr = new StreamReader("file.txt")
while(!sr.EndOfFile)
{
   var s = sr.ReadLine().Split('#');
   var data = new {ID = int.Parse(s[0]), Name = s[1], Quantity = int.Parse(s[2]), Price = decimal.Parse(s[3]) };
   Console.WriteLine("Товар Id = {0}, наименование = {1}, количество на складе = {2}, Цена = {3}", data.ID, data.Name, data.Quantity, data.Price);
}
0
 Аватар для xzavhozx
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 10
04.06.2013, 02:36  [ТС]
shannita,
Цитата Сообщение от shannita Посмотреть сообщение
тебе нужно написать пример проги которая возьмёт данные с какого то исходного файла и создаст 2 отсортированных файла?
именно так
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.06.2013, 02:37
Решение твоей задачи:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.IO;
using System.Linq;
 
namespace ConsoleApplication33
{
    class Program
    {
        static void Main(string[] args)
        {
            var res = File.ReadAllLines("C:\\input.txt").GroupBy(x => Parse(x).Quantity > 0).ToList();
            File.WriteAllLines("C:\\output.txt", res.Single(x => x.Key));
            File.WriteAllLines("C:\\notfound.txt", res.Single(x => !x.Key));
        }
 
        private static dynamic Parse(string input)
        {
            var s = input.Split('#');
            return new {ID = int.Parse(s[0]), Name = s[1], Quantity = int.Parse(s[2]), Price = decimal.Parse(s[3])};
        }
    }
}
Входные данные: файл input.txt, лежащий в корне диска С, сохраненный в кодировке UTF-8
0
 Аватар для xzavhozx
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 10
04.06.2013, 02:38  [ТС]
Psilon, сейчас попробую
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.06.2013, 02:40
Если это все задание курсача, то функцию Parse можно упростить:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.IO;
using System.Linq;
 
namespace ConsoleApplication33
{
    class Program
    {
        static void Main(string[] args)
        {
            var res = File.ReadAllLines("C:\\input.txt").GroupBy(x => GetQuantity(x) > 0).ToList();
            File.WriteAllLines("C:\\output.txt", res.Single(x => x.Key));
            File.WriteAllLines("C:\\notfound.txt", res.Single(x => !x.Key));
        }
 
        private static int GetQuantity(string input)
        {
            var s = input.Split('#');
            return int.Parse(s[2]);
        }
    }
}
тут всего 5 строк, я не знаю, как еще проще сделать...

Добавлено через 1 минуту
Сгруппировали те, которые есть на складе и те, которых нет. После этого те,которые есть, записали в один файл, которых нет - в другой...
0
 Аватар для xzavhozx
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 10
04.06.2013, 15:41  [ТС]
Psilon,

Добавлено через 55 минут
Цитата Сообщение от Psilon Посмотреть сообщение
Решение твоей задачи:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.IO;
using System.Linq;
 
namespace ConsoleApplication33
{
    class Program
    {
        static void Main(string[] args)
        {
            var res = File.ReadAllLines("C:\\input.txt").GroupBy(x => GetQuantity(x) > 0).ToList();
            File.WriteAllLines("C:\\output.txt", res.Single(x => x.Key));
            File.WriteAllLines("C:\\notfound.txt", res.Single(x => !x.Key));
        }
 
        private static int GetQuantity(string input)
        {
            var s = input.Split('#');
            return int.Parse(s[2]);
        }
    }
}
Входные данные: файл input.txt, лежащий в корне диска С, сохраненный в кодировке UTF-8
res.Single(x => x.Key) - Аргумент "2": преобразование типа из "System.Linq.IGrouping<bool,string>" в "string[]" невозможно
res.Single(x => !x.Key) - Аргумент "2": преобразование типа из "System.Linq.IGrouping<bool,string>" в "string[]" невозможно

Добавлено через 12 часов 4 минуты
Psilon, не компилируется в общем. Ни первый вариант, ни второй((
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.06.2013, 19:23
xzavhozx,
Вложения
Тип файла: rar ConsoleApplication18.rar (22.6 Кб, 41 просмотров)
1
 Аватар для xzavhozx
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 10
04.06.2013, 22:19  [ТС]
Psilon, вот теперь никаких загвоздок, как часы работает)) благодарю!
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.06.2013, 22:26
xzavhozx, там и так все работало, я только добавил пару проверок на null

Добавлено через 15 секунд
Пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2013, 22:26
Помогаю со студенческими работами здесь

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

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

Перекодирование текстовых файлов
Необходимо написать программу которая сможет: 1)определить в какой кодировке текстовый файл\лы 2)поменять кодировку текстового...

Чтение текстовых файлов из SFX
Доброго времени суток уважаемые господа. Собственно возникла очень большая потребность в том чтобы читать текстовые файлы с SFX которые...

Чтение и запись текстовых файлов
Дан текстовый файл (in.txt) содержащий список учащихся и их оценки по трем предметам: математике, физике, информатике. Формат...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru