2 / 2 / 0
Регистрация: 23.05.2022
Сообщений: 8
|
||||||
1 | ||||||
Общее количество символов в строках, исключая строки с длиной меньше 3 символов17.06.2022, 13:01. Показов 11141. Ответов 10
Задача 1. Имена 2
Что нужно сделать Есть файл people.txt, в котором построчно хранится N имён пользователей. Напишите программу, которая берёт количество символов в каждой строке файла и в качестве ответа выводит общую сумму. Если в какой-либо строке меньше трёх символов (не считая литерала \n), то вызывается ошибка и сообщение, в какой именно строке ошибка возника. Программа при этом не завершается и обрабатывает все имена файла. Также при желании можно вывести все ошибки в отдельный файл errors.log. Пример работы программы Содержимое файла people.txt: Василий Николай Надежда Никита Ян Ольга Евгения Кристина Ответ в консоли: Ошибка: менее трёх символов в строке 5. Общее количество символов: 49. Вот, то что написал я. Но срабатывает и пишет в консоли что кол-во символов 98 хотя их 49 , помогите пожалуйста. Так же помогите с логированием
0
|
17.06.2022, 13:01 | |
Ответы с готовыми решениями:
10
Сосчитать общее количество символов во всех строках Строки: найти слова длиной меньше 3 символов Вывести на экран строки длиной больше 5 и меньше 20 символов из контейнера multiset<string> Вывести на экран строки длиной больше 10 и меньше 50 символов из контейнера multiset<std::string, Compare> |
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|||||||||||
17.06.2022, 13:33 | 2 | ||||||||||
Добавлено через 1 минуту А, стоп, я походу не так сделал...Там надо через исключение. Добавлено через 13 минут Исправил:
1
|
2 / 2 / 0
Регистрация: 23.05.2022
Сообщений: 8
|
|
17.06.2022, 14:22 [ТС] | 3 |
Добавлено через 21 минуту
Damenikx, Подскажите пожалуйста А логирование ошибки как сделать?
0
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
17.06.2022, 14:24 | 4 |
rusAga, открываете файл и записываете туда лог, я же не знаю каким образом вы хотите логировать. Чтобы результат добавлялся в файл?
0
|
2 / 2 / 0
Регистрация: 23.05.2022
Сообщений: 8
|
|
17.06.2022, 14:26 [ТС] | 5 |
0
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
17.06.2022, 14:32 | 6 | |||||
Сообщение было отмечено rusAga как решение
Решение
rusAga, а, ну это моё проклятье, не правильно читать или недочитывать задачу
Добавлено через 5 минут Как вариант:
2
|
6 / 6 / 0
Регистрация: 03.04.2022
Сообщений: 6
|
||||||
28.06.2022, 15:52 | 7 | |||||
Помогите, пожалуйста, понять, в чем дело? Написал код к этой задаче, но raise работает как break и завершает цикл, а по идее выведение exception должно продолжать цикл. Мой код:
Переменные sym_sum и line_count нужно объявить заранее.
0
|
Am I evil? Yes, I am!
17557 / 10311 / 2819
Регистрация: 21.10.2017
Сообщений: 22,367
|
|
28.06.2022, 16:40 | 8 |
С чего бы это?
Добавлено через 1 минуту Ставь еще один трай..эксепт внутри цикла
1
|
6 / 6 / 0
Регистрация: 03.04.2022
Сообщений: 6
|
||||||
29.06.2022, 15:18 | 9 | |||||
Спасибо, все работает!
0
|
1 / 1 / 0
Регистрация: 29.01.2023
Сообщений: 4
|
|
01.02.2023, 22:10 | 10 |
Если добавить еще одно слово меньше 3-х букв, то он его не видит, заканчивает проверку на первом, как это доработать?
1
|
0 / 0 / 0
Регистрация: 03.12.2023
Сообщений: 13
|
||||||
17.12.2023, 19:39 | 11 | |||||
Sergey Popov , вот это работает с несколькими словами меньше 3-х букв, пишет ошибки в консоль и еще создает файл с ошибками:
0
|
17.12.2023, 19:39 | |