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

Разбор файла

21.10.2010, 18:29. Показов 2033. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только начал изучать С# и вот на таком задании всю голову сломал себе... подскажите хоть с чего начать здесь. Или ткните на что-то похожее.



Произвести разбор входящего файла с данными следующего формата


Строка № Текст / описание
1 Доходы
2, 4, 6, … k Сумма дохода
3, 5, 7, … k+1 Дата дохода (строкой)
k + 2 <пустая строка>
k + 3 Расходы:
k + 4, +6, +8 … Сумма расхода
k + 5, +7, +9 … Дата расхода (строкой)

Вывести на экран информацию из файла следующим образом:
Доходы:
<сумма дохода 1> рублей от <дата дохода 1>
<сумма дохода 2> рублей от <дата дохода 2>

<сумма дохода k> рублей от <дата дохода k>
Расходы:
<сумма расхода 1> рублей от <дата расхода 1>
<сумма расхода 2> рублей от <дата расхода 2>

<сумма расхода n> рублей от <дата расхода n>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2010, 18:29
Ответы с готовыми решениями:

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

Разбор XML файла
Доброго времени суток! Имеется очень большой XML файл вот такого вида (я укоротил его) &lt;?xml version=&quot;1.0&quot;...

Разбор стороннего файла конфигурации
Есть App.config другого приложения : &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt; &lt;configuration&gt; &lt;startup&gt; ...

4
22 / 22 / 3
Регистрация: 20.10.2010
Сообщений: 82
22.10.2010, 16:58
А можно пример файла и выходных данных, соответствующих данному файлу?
0
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 3
22.10.2010, 18:18  [ТС]
Создание текстового файла. Далее нужно вывести на консоль содержимое файла в таком виде:
Доход:
income рублей от income_date
income рублей от income_date
....

Расход:
outlay рублей от outlay_date
outlay рублей от outlay_date
....

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
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
 
 
namespace CSLesson1
{
    class Program
    {
        static void Main(string[] args)
        {
// Разбор файла
 
            /* Cоздание директории */
            DirectoryInfo rdi = new DirectoryInfo(@"C:\les1\");
 
            if (rdi.Exists)
                rdi.Delete(true);
            rdi.Create();
 
            /* Запись файла */
            
            
            StreamWriter sw = File.CreateText(@"C:\les1\income.txt");
            sw.WriteLine("Доход");
            string income = "";                  // доход
            string income_date = "";          // дата дохода
            
            for (int i = 0; i < 2; i++)
            {
                
                Console.WriteLine("Ваш доход: ");
                income = Console.ReadLine();
                
                Console.WriteLine("Дата дохода: ");
                income_date = Console.ReadLine();
 
                sw.WriteLine(income);
                sw.WriteLine(income_date);
                
            }
 
            
            Console.ReadLine();
            sw.WriteLine();
            
            
            
            sw.WriteLine("Расход");
            string outlay = "";                  // расход
            string outlay_date = "";          //дата расхода
 
            for (int i = 0; i < 2; i++)
            {
 
                Console.WriteLine("Ваш расход: ");
                outlay = Console.ReadLine();
 
                Console.WriteLine("Дата расхода: ");
                outlay_date = Console.ReadLine();
 
                sw.WriteLine(outlay);
                sw.WriteLine(outlay_date);
 
            }
 
            
            sw.WriteLine();
 
            sw.Close();
 
         // в файл запишится
            /*
              Доход
              income
              income_date
             
              Расход
              outlay
              outlay_date
             */
 
            //Чтение из файла и вывод на экран, не знаю как вывести отформатированный текст
            
            StreamReader read = File.OpenText(@"C:\les1\income.txt");
            string line;
            while ((line = read.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
            read.Close();
            
            
 
 
 
 
            Console.ReadKey();
        }
 
        public static string income { get; set; }
    }
}
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
22.10.2010, 18:39
хранение в текстовом файле - это извращение, используйте xml к примеру
0
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 3
23.10.2010, 15:52  [ТС]
Не сомневаюсь что Вы правы, но дело в том, что здесь конкретная задача, нужно сделать вот так и никак иначе.

Добавлено через 21 час 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
 
            StreamReader sr = new StreamReader(@"C:\les1\income.txt");
            Console.WriteLine(sr.ReadLine());
            int income_sum = 0; 
            for (int i = 0; i < 2; i++)
            {
                string income = sr.ReadLine();
                string income_date = sr.ReadLine();
                Console.WriteLine("{0} рублей от {1}", income, income_date);
 
                int income_int;
                int.TryParse(income, out income_int);
                income_sum += income_int;
                
            }
            Console.WriteLine("Ваш доход: {0} рублей",income_sum);
 
            Console.WriteLine();
            sr.ReadLine();
 
            Console.WriteLine(sr.ReadLine());
            int outlay_sum = 0;
            for (int i = 0; i < 1; i++)
            {
                string outlay = sr.ReadLine();
                string outlay_date = sr.ReadLine();
                Console.WriteLine("{0} рублей от {1}", outlay, outlay_date);
 
                int outlay_int;
                int.TryParse(outlay, out outlay_int);
                outlay_sum += outlay_int;
 
            }
            Console.WriteLine("Ваш расход: {0} рублей", outlay_sum);
 
            Console.WriteLine();
 
            int balance = income_sum - outlay_sum;
            Console.WriteLine("Ваш баланс: {0} рублей", balance);
 
            Console.ReadKey();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2010, 15:52
Помогаю со студенческими работами здесь

Чтение и разбор теста из файла
Доброй ночи. У меня возникла проблема, у меня есть текстовый файл, в нем есть запись 55;67 и мне нужно, чтобы программа считала...

Разбор csv файла - неверная кодировка
Разбираю csv файл var lines = File.ReadAllLines(path); foreach (var l in lines) { var arr =...

Разбор данных из файла, формирование строки и вывод на консоль
собственно, задача такова: в файле содержится данные вида: 30.10,30.5 55.5,55.7 и тд. необходимо чтобы данные выводились,...

Разбор текстового файла
День добрый! Возникла такая проблема, на решение которой у меня не хватает опыта, вот прощу вашей помощи. Нужно текстовый файл, который...

Разбор текстового файла в массив
Доброго времени суток, есть текстовый файл с прим ерно таким содержимым: нужно этот текс запихать в некий массив: вот...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru