Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372

Работа с файлами (чтение из файла)

11.05.2010, 08:02. Показов 2988. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто-нибудь может помочь с заданием:
В исходном текстовом файле подготовить данные о программе телепередач одного телевизионного канала на день. Данные по каждой телепередаче должны содержать:
Название передачи (буквы русского или латинского алфавита)
Начало передачи, часы (целое число)
Начало передачи, минуты (целое число)
Категория передачи (2 символа)
Категория передачи представляет собой условное обозначение: ХФ - художественный фильм, ДФ - документальный фильм, ИП - информационная программа. Данные при подготовке упорядочиваются по времени начала передач. Между передачами нет перерыва. Выдать пользователю название и категорию всех передач, которые начинаются после 17.00.

???
Очень нужно(

Добавлено через 3 часа 29 минут
помогите хоть с чтением,
вот данные из файла:

Программа передач.
Телекал - Первый.

ИП Новости 6 : 00
ДФ Путешествие в глубь океана 6 : 30
ХФ 17 мгновений весны 10 : 00
ИП Вести 12 : 00
ДФ Александр Македонский 12 : 15
ИП Другие новости 14 : 00
ХФ Бриллиантовая рука 15 : 00
ИП Вести 16 : 30
ДФ Пирамиды 16 : 45
ИП Новости 17 : 00
ХФ 300 спартанцев 17 : 30
ИП Новости 19 : 00
ДФ Троянский конь 19 : 30
ИП Новости 21 : 00
ХФ 17 мгновений весны 22 : 00
ИП Новости 24 : 00

Добавлено через 3 часа 44 минуты
вот набрасал немног:
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
Canal.cs
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
    class Canal
    {
        //Поля
        private string catagory;  //категория
        private string name;  //Название передачи 
        private int nameHours;      //часы       
        private int nameMinutes;     //минуты
 
        //Конструктор
        public Canal(string catagory, string name, int nameHours, int nameMinutes)
        {
            this.Catagory = catagory;
            this.Name = name;
            this.NameHours = nameHours;
            this.NameMinutes = nameMinutes;
        }
 
        //Свойства
        public string Catagory { get { return catagory; } }
        public string Name { get { return name; } }
        public int NameHours { get { return nameHours; } }
        public int NameMinutes { get { return nameMinutes; } }
    
        
 
    }
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
В исходном текстовом файле подготовить данные о программе телепередач одного 
телевизионного канала на день. Данные по каждой телепередаче должны содержать
 
    Название передачи           (буквы русского или латинского алфавита)
    Начало передачи, часы       (целое число)
    Начало передачи, минуты     (целое число)
    Категория передачи          (2 символа)
 
Категория передачи представляет собой условное обозначение 
ХФ  - художественный фильм,  
ДФ - документальный фильм, 
ИП - информационная программа. 
 
Данные при подготовке упорядочиваются
по времени начала передач. Между передачами нет перерыва. Выдать пользователю название и 
категорию всех передач, которые начинаются после 17.00.
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
 
 
 
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList data = new ArrayList();
            string way  = @"c:\Программа передачПрограмма передач\Канал.txt";
            FileStream fs;
            StreamReader sr ;
            Canal can;
           try
           {
              fs = new FileStream(way, FileMode.Open);
              sr = new StreamReader(fs);
 
              while (true)
              {
                  catagory = (string)(sr.Read());
                  name = (string)(sr.Read());
                  nameHours = (int)(sr.Read());
                  nameMinutes = (int)(sr.Read());
 
                  can = new Canal(catagory, name, nameHours, nameMinutes);  //если все данные корректны, создаем нового студента, вызывая конструктор класса Student
                  data.Add(can);  //заполняем массив новыми студентами
              }
           }
            catch (EndOfStreamException)
            {
               
                
                for (int i = 0; i < data.Count; i++)
                {
                   can = (Canal)data[i];
                    if( can.NameHours > 17)
                    {
                       can.Show();
                    }
                }
                fs.Close();
                sr.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.Message);
                fs.Close();
                sr.Close();
                return;
            }
            Console.WriteLine("\n\nПрограмма завершена!!!");
            Console.ReadLine();
 
               
           }
        }
Добавлено через 2 минуты
кто может исправьте пожалуйста код((((
знаю, здесь не мало ошибок(недавно начал проходить потоки)

Добавлено через 2 минуты
содержимое файла изменил, теперь вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ИП Новости                          6  00 
ДФ Океан                            6  30  
ХФ На_краю_земли               10  00 
ИП Вести                             12  00 
ДФ Котовский                      12  15 
ИП Новости                          14  00 
ХФ Иллюзионист                   15  00 
ИП Вести                             16  30 
ДФ Пирамиды                       16  45 
ИП Новости                          17  00 
ХФ Проект_А                        17  30 
ИП Новости                          19  00 
ДФ Троянский_конь              19  30 
ИП Новости                          21  00 
ХФ 17_мгновений_весны        22  00 
ИП Новости                          24  00
Добавлено через 6 часов 44 минуты
ну хоть кто-нибудь((((
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2010, 08:02
Ответы с готовыми решениями:

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

Создание файла собственного формата(Работа с файлами)
Здравствуйте, я только начинаю разбираться в WinForm, поэтому прошу за тупые вопросы не кидаться помидорами) В общем, задание такое, как...

Чтение строк с файла и работа с ними
Есть файл. В нём строки. Требуется проверить существует ли файл. Сделал такой блок string FilesLines; try {...

3
 Аватар для Pooh
409 / 361 / 82
Регистрация: 07.10.2009
Сообщений: 558
11.05.2010, 11:47
Может быть не оптимально, но работает.
1. В файле-источнике строка делится на блоки с помощью Tab.
2. Class Canal:
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
Поля
private string catagory;  //категория
private string name;  //Название передачи 
private int nameHours;      //часы       
private int nameMinutes;     //минуты
 
//Конструктор
public Canal(string catagory, string name, int nameHours, int nameMinutes)
{
    this.catagory = catagory;
    this.name = name;
    this.nameHours = nameHours;
    this.nameMinutes = nameMinutes;
}
 
//Свойства
public string Catagory { get { return catagory; } }
public string Name { get { return name; } }
public int NameHours { get { return nameHours; } }
public int NameMinutes { get { return nameMinutes; } }
 
public void Show()
{
    Console.WriteLine
        (catagory + "\t" + name + "\t" + nameHours.ToString() + 
         "\t" + nameMinutes.ToString());
}
3. Class Program:
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
using System;
using System.IO;
using System.Collections.Generic;
 
namespace TV
{
    class Program
    {
        public static void Main(string[] args)
        {
            List<Canal> data = new List<Canal>();
            string path  = @"c:\Программа передач\Канал.txt";
            FileStream fs;
            StreamReader sr ;
            Canal can;
                fs = new FileStream(path, FileMode.Open);
                sr = new StreamReader(fs);
                string strLine = sr.ReadLine();
                while(strLine != null)
                {
                    
                    string[] splitLine = strLine.Split('\t');
                    can = new Canal
                        (splitLine[0], splitLine[1], int.Parse(splitLine[2]), 
                         int.Parse(splitLine[3]));
                    data.Add(can);
                    strLine = sr.ReadLine();
              }
                
                for (int i = 0; i < data.Count; i++)
                {
                   can = data[i];
                    if( can.NameHours > 17)
                    {
                       can.Show();
                    }
                }
                fs.Close();
                sr.Close();
            Console.WriteLine("\n\nПрограмма завершена!!!");
            Console.ReadLine();
        }
    }
}
0
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372
11.05.2010, 12:45  [ТС]
у меня здесь выдаёт ошибку здесь
C#
1
can = new Canal (splitLine[0], splitLine[1], int.Parse(splitLine[2]),  int.Parse(splitLine[3]));
говорит, что индекс находится вне границ массива ((((((((
0
 Аватар для kuroiryuu
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
11.05.2010, 13:21
а вы точку остановки на строке
C#
1
string[] splitLine = strLine.Split('\t');
поставьте и посмотрите как у вас режется строка
видимо вся проблема в входном файле.
надо слова табами разделить и всё заработает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2010, 13:21
Помогаю со студенческими работами здесь

Чтение из файла и различная работа со строками
Доброго времени суток. Очень прошу помочь. Есть некий заполненный текстовый файл test.txt: ************** 3_______________Текст,...

Чтение файла в массивы и дальнейшая работа с ними
Здравствуйте! Столкнулся с проблемой чтения массивов из файла. Задача следующая: необходимо считать из файла, в котором 4 столбца и n...

Сохранение/чтение/работа с файлами Excel без вызова СОМ (альтернативные методы)
Добрый день, коллеги! Столкнулся с такой проблемой: в проекте Windows Forms реализовал сохранение в Excel файл (в два формата) таким...

[COBOL] Работа с файлами. Чтение информации из файла
Здравствуйте. В cobol используется два вида файлов: Sequential File and Indexed file. Для работы с файлом, содержащим какую-либо...

Работа с файлами. Чтение из файла.Поиск.
Нужно создать программу, которая считывает слова с одного файла (словарь) и находит эти слова в другом файле (текст) и выводит на экран эти...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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