9 / 9 / 7
Регистрация: 15.09.2017
Сообщений: 184
1

Считать данные из файла, записать в другой файл

09.12.2017, 13:55. Показов 3434. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
 string INPUT = @"D:\input.txt";
            string OUTPUT = @"D:\output.txt";
            
            string line;
            using (StreamReader sr = new StreamReader(INPUT, System.Text.Encoding.Default))
            {
                rabotnik[] a = new rabotnik[4]; 
                while ((line = sr.ReadLine()) != null)
                {
                    for(int i = 0 ;i<4;i++)
                    {
                        a[i].FIO = sr.ReadLine();
                        a[i].adress = sr.ReadLine();
                        a[i].nazi = sr.ReadLine();
                        a[i].birthdate = sr.ReadLine();
                        a[i].nomer_ceha = sr.ReadLine();
                        a[i].tabelniy_nomer = sr.ReadLine();
                        a[i].obrazovanie = sr.ReadLine();
                        a[i].ustroilsa_narabotu_god = sr.ReadLine();
                    }
                    for (int i=0;i<4;i++)
                    { 
                        string date;
                        date = Convert.ToString(a[i].ustroilsa_narabotu_god);                        
                        if (a[i].ustroilsa_narabotu_god.Contains("2010"))
                        {
                            StreamWriter sw = new StreamWriter(OUTPUT, false,System.Text.Encoding.Default);
                            sw.Write(a[i].FIO );
                            sw.Write(a[i].adress);
                            sw.Write(a[i].nazi); 
                            sw.Write(a[i].birthdate);
                            sw.Write(a[i].nomer_ceha); 
                            sw.Write(a[i].tabelniy_nomer); 
                            sw.Write(a[i].obrazovanie);
                            sw.Write(a[i].ustroilsa_narabotu_god); 
                        }
                    }
                    Console.ReadLine();
                    
                }
Даёт ошибку в 25 строке не могу понять в чём ошибка

Добавлено через 4 минуты
Проблема не только в 25 строке, у меня она вообще что-то ломается памахите

Добавлено через 2 минуты
Петров Пётр Петрович
2281337 Россия Нижегородская Русский Муром Пушкина 66 1
Таджик
1988.12.12
4
999
Среднее
2010
Козлов Максим Евгеньевич
2281336 Россия Владимирская Зарубежный Муром Кукушкина 67 2
Русский
1986.11.12
2
588
Высочайшее
2008
Стребков Арсений Неизвестнович
2281335 Россия Владимирская Хороший Муром Ленина 68 3
Русский
1984.06.12
7
943
Среднее
2010
Локоть Дмитрий Александрович
2281334 Россия Нижегородская Русский Москва Сталина 69 4
Русский
1996.08.08
12
122
Высшее
2006
в файле для считки
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2017, 13:55
Ответы с готовыми решениями:

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

Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод)
Здравствуйте! Очень прошу о помощи! Суть задания - дан текстовый файл, нужно считать его и записать...

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

Считать числа из файла, проанализировать и записать в другой файл
program if1; var a,b,c,n:integer; f1,f2: text; begin assign (f1,'input.txt'); assign...

6
35 / 35 / 21
Регистрация: 25.07.2015
Сообщений: 164
09.12.2017, 13:56 2
Shizanutik666, покажите код всего проекта целиком
0
9 / 9 / 7
Регистрация: 15.09.2017
Сообщений: 184
09.12.2017, 14:01  [ТС] 3
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace Лаба_7_Зад_1__базовый_уровень__Считать_с_файла
{
    class Program
    {
 
        struct rabotnik
        {
            public string FIO;
            public string adress;
            public string nazi;
            public string birthdate;
            public string nomer_ceha;
            public string tabelniy_nomer;
            public string obrazovanie;
            public string ustroilsa_narabotu_god;
 
        }
 
        static void Main(string[] args)
        {
            string INPUT = @"D:\input.txt";            
            string date = "2010";
            string line;
            using (StreamReader sr = new StreamReader(INPUT, System.Text.Encoding.Default))
            {
                rabotnik[] a = new rabotnik[4]; 
                
                    for(int i = 0 ;i<4;i++)
                    {
                        a[i].FIO = sr.ReadLine();
                        a[i].adress = sr.ReadLine();
                        a[i].nazi = sr.ReadLine();
                        a[i].birthdate = sr.ReadLine();
                        a[i].nomer_ceha = sr.ReadLine();
                        a[i].tabelniy_nomer = sr.ReadLine();
                        a[i].obrazovanie = sr.ReadLine();
                        a[i].ustroilsa_narabotu_god = sr.ReadLine();
                    }
                    for (int i=0;i<4;i++)
                    { 
                        
                        date = Convert.ToString(a[i].ustroilsa_narabotu_god);                        
                        if (a[i].ustroilsa_narabotu_god == date)
                        {
                            string OUTPUT = @"D:\output.txt";
                            StreamWriter sw = new StreamWriter(OUTPUT, false,System.Text.Encoding.Default);
                            sw.Write(a[i].FIO );
                            sw.Write(a[i].adress);
                            sw.Write(a[i].nazi); 
                            sw.Write(a[i].birthdate);
                            sw.Write(a[i].nomer_ceha); 
                            sw.Write(a[i].tabelniy_nomer); 
                            sw.Write(a[i].obrazovanie);
                            sw.Write(a[i].ustroilsa_narabotu_god);
                            
                        }
                    }
                    Console.ReadLine();
                    
                }
            }
        }
    }
я тут уже что-то поизменял, но смысл не изменился ))

Добавлено через 15 секунд
пишет тысячу ошибок разных ))
0
35 / 35 / 21
Регистрация: 25.07.2015
Сообщений: 164
09.12.2017, 14:12 4
Shizanutik666, вынес поток записи из потока чтения, сравните ваш код и тот, что я написал. Буквы диска в пути измените на свои.
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.IO;
using System.Text;
 
namespace ConsoleApp8
{
    class Program
    {
        struct rabotnik
        {
            public string FIO;
            public string adress;
            public string nazi;
            public string birthdate;
            public string nomer_ceha;
            public string tabelniy_nomer;
            public string obrazovanie;
            public string ustroilsa_narabotu_god;
        }
 
        static void Main(string[] args)
        {
            string path = @"C:\input.txt";
            string date = "2010";
            rabotnik[] a = new rabotnik[4];
 
            using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default))
            {
 
                for (int i = 0; i < 4; i++)
                {
                    a[i].FIO = sr.ReadLine();
                    a[i].adress = sr.ReadLine();
                    a[i].nazi = sr.ReadLine();
                    a[i].birthdate = sr.ReadLine();
                    a[i].nomer_ceha = sr.ReadLine();
                    a[i].tabelniy_nomer = sr.ReadLine();
                    a[i].obrazovanie = sr.ReadLine();
                    a[i].ustroilsa_narabotu_god = sr.ReadLine();
                }
                
                Console.ReadLine();
 
            }
 
            string OUTPUT = @"C:\output.txt";
            using (StreamWriter sw = new StreamWriter(OUTPUT, false, Encoding.Default))
            {
                for (int i = 0; i < 4; i++)
                {
                    date = Convert.ToString(a[i].ustroilsa_narabotu_god);
                    if (a[i].ustroilsa_narabotu_god == date)
                    {
                        
                        sw.Write(a[i].FIO);
                        sw.Write(a[i].adress);
                        sw.Write(a[i].nazi);
                        sw.Write(a[i].birthdate);
                        sw.Write(a[i].nomer_ceha);
                        sw.Write(a[i].tabelniy_nomer);
                        sw.Write(a[i].obrazovanie);
                        sw.Write(a[i].ustroilsa_narabotu_god);
 
                    }
                }
            }
        }
    }
}
0
9 / 9 / 7
Регистрация: 15.09.2017
Сообщений: 184
09.12.2017, 14:21  [ТС] 5
Что-то у меня файл пустой остаётся )) (убрал ридлайн всё норм, ток оно в одну строку всё делает ), как там /n делать я забыл
0
35 / 35 / 21
Регистрация: 25.07.2015
Сообщений: 164
09.12.2017, 14:24 6
Лучший ответ Сообщение было отмечено Shizanutik666 как решение

Решение

Shizanutik666, у меня всё работает. Может вы что-то неверно скопировали?
Класс работники
C#
1
2
3
4
5
6
7
8
9
10
11
struct rabotnik
        {
            public string FIO;
            public string adress;
            public string nazi;
            public string birthdate;
            public string nomer_ceha;
            public string tabelniy_nomer;
            public string obrazovanie;
            public string ustroilsa_narabotu_god;
        }
Код внутри метода Main
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
string path = @"C:\input.txt";
            string date = "2010";
            rabotnik[] a = new rabotnik[4];
 
            using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default))
            {
 
                for (int i = 0; i < 4; i++)
                {
                    a[i].FIO = sr.ReadLine();
                    a[i].adress = sr.ReadLine();
                    a[i].nazi = sr.ReadLine();
                    a[i].birthdate = sr.ReadLine();
                    a[i].nomer_ceha = sr.ReadLine();
                    a[i].tabelniy_nomer = sr.ReadLine();
                    a[i].obrazovanie = sr.ReadLine();
                    a[i].ustroilsa_narabotu_god = sr.ReadLine();
                }
                
                Console.ReadLine();
 
            }
 
            string OUTPUT = @"C:\output.txt";
            using (StreamWriter sw = new StreamWriter(OUTPUT, false, Encoding.Default))
            {
                for (int i = 0; i < 4; i++)
                {
                    date = Convert.ToString(a[i].ustroilsa_narabotu_god);
                    if (a[i].ustroilsa_narabotu_god == date)
                    {
                        
                        sw.Write(a[i].FIO);
                        sw.Write(a[i].adress);
                        sw.Write(a[i].nazi);
                        sw.Write(a[i].birthdate);
                        sw.Write(a[i].nomer_ceha);
                        sw.Write(a[i].tabelniy_nomer);
                        sw.Write(a[i].obrazovanie);
                        sw.Write(a[i].ustroilsa_narabotu_god);
 
                    }
                }
            }
1
9 / 9 / 7
Регистрация: 15.09.2017
Сообщений: 184
09.12.2017, 14:25  [ТС] 7
Я убрал ридлайны, заменил Write на WriteLine и всё заработало )) спасибо бро
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2017, 14:25
Помогаю со студенческими работами здесь

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

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

Считать строки из файла, изменить и записать в другой файл
Добрый день. Есть входящий файл: Лицевой счёт 1010047078 показания счётчика (9243) 1010029116...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru