|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
Разработать программу, которая создёт новый файл из значений исходного по некоторому правилу05.11.2022, 18:44. Показов 5014. Ответов 42
Метки потоки c++, работа с файлами c++, с++, с++ 1 курс, с++ 2 курс, с++ 2курс, си, си 2 курс (Все метки)
Всем привет. Это снова я, который пытается понять и освоить программирование в тех. вузе, где ничего особо не объясняется
![]() . В общем опять тема потоков. В методичке написано, что задание на потоки и что рекомендовано использовать:istrstream ostrstream strstream ifstream ofstream fstream constream Пока примерно понял как создавать файл, проверять открыт ли он и закрывать. В душе не чаю что требуется в задании ![]() Требуется разработать программу управления текстовым файлом. Требования(по методичке): 1. Реализация ввода-вывода на основе файловых потоков С++: ofstream, ifstrim. 2. Имя физического файла вводится пользователем и передается в функции обработки через параметр. 3. При открытии файла выполнять контроль его существования и открытия. Примечание. При отладке программы можете имя физического файла определить через константу. 4. Разработать функции для выполнения операций над текстовым файлом. 1) создание текстового файла средствами текстового редактора кодировки ASCII, содержащего десятичные числа по несколько чисел на строке;5. Разработать приложение и выполнить тестирование всех функций. Приложение должно содержать диалоговый интерфейс на основе текстового меню. 6. Контроль открытия и существования файла выполнить в основной программе перед вызовом функции. Перед закрытием файла, проверить отсутствие ошибок ввода и вывода (метод good)/ 7. Создать модуль и перенести в него все отлаженные функции. Исключить функции из приложения. Отладить приложение, подключив к нему модуль с функциями. 8. Разработать функции для реализации дополнительных операций, определенных вариантом и сохранить их в модуле с остальными функциями. 9. Выполнить тестирование приложения в полном объеме. Само задание звучит так: Создать новый файл из значений исходного, по правилу: третья часть содержимого исходного файла должна стать первой частью нового файла, а две первых исходного должны расположиться после первой в новом файле.
0
|
|
| 05.11.2022, 18:44 | |
|
Ответы с готовыми решениями:
42
Написать программу, которая формирует новый файл последовательного доступа из произведений компонент исходного файла, Сформировать из исходного файла новый файл по заданному правилу |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 06.11.2022, 01:14 | ||||
|
'\n' Добавлено через 1 минуту str.get() тут вы наверное у потока хотели взять символ. а пытаетесь взять у строки... Добавлено через 3 минуты Может вы хотели выйти при вводе пустой строки ? if(str.empty()) break;
0
|
||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 06.11.2022, 01:17 [ТС] | |
|
Да, касаемо скобок действительно устал). А str.get() я просто не до конца понимаю суть работы функции get(). То есть мне нужно дать какое-то условие, что пока мы не введем энтер, мы записываем в файл данные. Я пожумал, что гет будет читать посимвольно и тут бац, и "/n". Пробовал, но читает безтустали и вообще не останавливается. Когда просто убрал гет и стал сравнивать не с /n, а с нулем, то всё заработало, но с 0 слишком просто. Хочу добить , чтобы по энтеру прекращался ввод)
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||
| 06.11.2022, 01:23 | ||||||
1
|
||||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 06.11.2022, 01:44 [ТС] | |
|
Как-то сложно
0
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||||||
| 06.11.2022, 02:12 [ТС] | ||||||
|
Начал я тестировать всё это дело, а там какое-то суровое наказания для меня же. Функция readTextFile() походу вообще не работает и всегда выдаёт нулевое значение буфера. Функция же addNotetoEndFile() после того, как я ввожу числа печатает строку с ними же, просто выводит на экран, хотя я этого не просил. Потом, после завершения программы выводятся остальные сообщения из мейна. Заглянул в txt файл, а он вообще пустой как ни в чём не бывало. Это получается, что и проверки на то, есть ли у нас уже этот файл, работают неправильно. Не представляю откуда такое вообще может быть. На всякий скину код. Мб там есть что-то очень уж страшное, что всё ломает, но пока я ни одной ошибки дебагом не нашел
0
|
||||||
|
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,751
|
||||||
| 06.11.2022, 06:44 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||
| 06.11.2022, 16:30 [ТС] | ||
|
Добавлено через 2 часа 8 минут Не понимаю почему, но почему-то функция не дописывает в файл, если он пустой
0
|
||
|
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,751
|
||||||
| 06.11.2022, 17:08 | ||||||
|
а что мешает написать
0
|
||||||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||
| 06.11.2022, 21:36 | ||
|
тип исходного файла тип значений в исходном файле если файл текстовый, то указать разделители между значениями как поступать, если количество значений не делится нацело на три
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||
| 06.11.2022, 22:21 | ||||||||
|
То есть, файл из двух элементов и меньше, не породит новый файл. Нечего делить. Как возможные ответы. Легче стало ? ![]() Мне вот нет. Задание - переливать воду из пустого в порожнее.
0
|
||||||||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||
| 06.11.2022, 23:16 | ||
|
Ну заодно уточнить, как относиться к тому, если в исходном файле окажутся не только цифры, но и другие символы (буковы)? Выдавать сообщение об ошибке, игнорить, или что?
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 06.11.2022, 23:21 | ||
|
0
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|||
| 06.11.2022, 23:35 | |||
|
А задание - это то что жирным шрифтом в конце, или всё? Потому что:
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 06.11.2022, 23:53 | ||||
|
alexu_007,
![]() Это копипаст из методички. ![]() Добавлено через 3 минуты Читаешь, пишешь, пишешь, читаешь. Запросили +100500 число из файла, читаешь весь файл ![]() Да, тут без пол-литра и Сектор Газа делать нечего.
0
|
||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|||
| 07.11.2022, 16:48 [ТС] | |||
|
Добавлено через 3 минуты А ещё у меня с ума сошел сам файл .txt . Открываю его на дозапись, а он просто стирает всё то, что в файле и нифига туда не записывает. Я хотел написать функцию дозаписи в конец файла, а получилась функция очистки файла и это еще при том при всём, что я в адеквате и думаю что делаю. Наверное... Добавлено через 1 час 12 минут
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 07.11.2022, 16:57 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||
| 07.11.2022, 17:16 [ТС] | ||
|
Добавлено через 4 минуты Когда мы смещаемся вперед, мы просто в никуда читаем файл тем самым переходя на следующие числа. А как нам сместиться назад. Я застрял с тем, что мне нужно снова оказаться на начальной позиции в файле и читать его первые две трети. Неужели нет функции управления курсором для считывания? Ну или может можно читать в другую сторону?
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||||||||
| 07.11.2022, 17:46 | ||||||||||||||
Сообщение было отмечено daniil_novel как решение
Решение
Основное задание :
Добавлено через 2 минуты
1
|
||||||||||||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 07.11.2022, 18:02 [ТС] | |
|
Спасибо. Сейчас все должно получиться будет. Касаемо просчёта позиций, их там не получится просчитать. Я ошибся)
0
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|||||||
| 07.11.2022, 18:49 [ТС] | |||||||
0
|
|||||||
| 07.11.2022, 18:49 | |
|
Написать программу, которая формирует новый текстовый файл из исходного файла, удаляя из него все знаки математических операций («*», «/», «+», «– Написать программу, которая формирует новый файл последовательного доступа, в котором исключены повторные вхождения компонент исходного файла последов Сформировать новый список из данного по некоторому правилу
Разработать программу, которая строит логический вектор по заданному правилу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|