С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 24
1

Дан тестовый файл, нужно удалить из него первую/последнюю строку

02.11.2014, 21:44. Показов 3659. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток)
Помогите, пожалуйста найти ошибку. моя задача: дан тестовый файл, удалить из него первую/последнюю строку.
Решила сделать через case, но после выполнения текст в файле почему-то полностью удаляется. как это исправить?

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
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine(" Какую строку удалить?");
            Console.WriteLine(" Первую - 1");
            Console.WriteLine(" Последнюю - 0");
            n = Convert.ToInt32(Console.ReadLine());
            while (n < 2)
            {
                switch (n)
                {
                    case 1:            
                        First();
                        break;
                    case 0:                     
                        Last();
                        break;
                    default:
                        break;
                }
            }
            Console.ReadKey();
        }
 
 
 
        static void First()
        {
            string[] lines = System.IO.File.ReadAllLines("C:\\text.txt");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\text.txt", false))
                for (int i = 0; i < lines.Length; i++)
                {
                    if (i != 0)
                        file.WriteLine(lines[i]);
                }
        }
 
        static void Last()
        { 
            string[] lines = System.IO.File.ReadAllLines("C:\\text.txt");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\text.txt", false))
                for (int i = 0; i < lines.Length - 1; i++)
                {
                    if (i != 0)
                        file.WriteLine(lines[i]);
                }
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2014, 21:44
Ответы с готовыми решениями:

Дан непустой текстовый файл. Удалить из него первую строку.
Дан непустой текстовый файл. Удалить из него первую строку.

Дан непустой текстовый файл. Удалить из него первую строку
Дан непустой текстовый файл. Удалить из него первую строку. на С++

Дан непустой текстовый файл. Удалить из него первую строку
Дан непустой текстовый файл. Удалить из него первую строку.

Имеется текстовый файл.Нужно удалить из него последнюю строку
Помогите пожалуйста))Задача на файлы: Имеется текстовый файл.Нужно удалить из него последнюю...

6
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
02.11.2014, 21:56 2
не пойму а чем собссно отличаются функции First и Last? о_О
0
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 24
02.11.2014, 21:58  [ТС] 3
вообще отличие на единицу в условии ^^
где удаление последней строки i< lines.Length-1
но я не уверена, что это правильно...
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
02.11.2014, 22:11 4
C#
1
2
3
lines[0] = null; //для First
lines[lines.Length - 1] = null; //для Last
if (lines[i] != null) //условие
так мб

Добавлено через 3 минуты
хотя даже условия не надо, просто
C#
1
2
3
4
5
6
7
8
            string[] lines = System.IO.File.ReadAllLines("C:\\text.txt");
            lines[0] = null; //для First
            lines[lines.Length - 1] = null; //для Last
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\text.txt", false))
                for (int i = 0; i < lines.Length; i++)
                {
                        file.WriteLine(lines[i]);
                }
1
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
02.11.2014, 22:13 5
Лучший ответ Сообщение было отмечено AnnieLee как решение

Решение

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
 class Program
    {
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine(" Какую строку удалить?");
            Console.WriteLine(" Первую - 1");
            Console.WriteLine(" Последнюю - 0");
            do
            {
                n = Convert.ToInt32(Console.ReadLine());
            }
            while (n != 0 && n != 1);
          
            switch (n)
            {
                case 1:
                    First();
                    break;
                case 0:
                    Last();
                    break;
                default:
                    break;
            }
            Console.WriteLine("Готово");
            Console.ReadLine();
        }
 
        static void First()
        {
            string[] lines = System.IO.File.ReadAllLines("C:\\text.txt");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\text.txt", false))
            {
                for (int i = 1; i < lines.Length; i++)
                {
                    file.WriteLine(lines[i]);
                }
            }
        }
 
        static void Last()
        {
            string[] lines = System.IO.File.ReadAllLines("C:\\text.txt");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\text.txt", false))
            {
                for (int i = 0; i < lines.Length - 1; i++)
                {
                    file.WriteLine(lines[i]);
                }
            }
        }
    }
1
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 24
02.11.2014, 22:17  [ТС] 6
Спасибо больше, все работает!)
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
02.11.2014, 22:18 7
Вот рабочий вариант
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Program
{
    static void Main(string[] args)
    {
        int n;
        Console.WriteLine(" Какую строку удалить?");
        Console.WriteLine(" Первую - 1");
        Console.WriteLine(" Последнюю - 0");
        n = Convert.ToInt32(Console.ReadLine());
        string[] lines = System.IO.File.ReadAllLines("text.txt");
        if (n == 1) lines[0] = null; //для First
        if (n == 0) lines[lines.Length - 1] = null; //для Last
        
        using (System.IO.StreamWriter file = new System.IO.StreamWriter("text.txt", false)) 
        {
            for (int i = 0; i < lines.Length; i++)
            {
                if (lines[i] == null) continue;
                else file.WriteLine(lines[i]);
            }
        }
    }
}
1
02.11.2014, 22:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2014, 22:18
Помогаю со студенческими работами здесь

Дан текстовый файл. Вставить в начало файла его последнюю строку, а в конец первую строку.
Помогите решить задание, заранее спасибо. Дан текстовый файл. Вставить в начало файла его...

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

Текстовый файл: Удалить из него последнюю строку
Дан текстовый файл, созданный заранее в редакторе Блокнот. Удалить из него последнюю строку.

Имеется текстовый файл. Удалить из него последнюю строку
Имеется текстовый файл. Удалить из него последнюю строку. Результат записать в другой файл.

Дан текстовый файл, состоящий из нескольких строк. Поменять в нем местами первую и последнюю строку.
Дан текстовый файл, состоящий из нескольких строк. Поменять в нем местами первую и последнюю...

Имеется текстовый файл. Удалить из него первую строку.
Имеется текстовый файл. Удалить из нее первую строку, в конце которой стоит вопросительный знак....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru