|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
Разработать программу, которая создёт новый файл из значений исходного по некоторому правилу05.11.2022, 18:44. Показов 4863. Ответов 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
|
||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,349
|
||
| 06.11.2022, 21:36 | ||
|
тип исходного файла тип значений в исходном файле если файл текстовый, то указать разделители между значениями как поступать, если количество значений не делится нацело на три
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||
| 06.11.2022, 22:21 | ||||||||
|
То есть, файл из двух элементов и меньше, не породит новый файл. Нечего делить. Как возможные ответы. Легче стало ? ![]() Мне вот нет. Задание - переливать воду из пустого в порожнее.
0
|
||||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,349
|
||
| 06.11.2022, 23:16 | ||
|
Ну заодно уточнить, как относиться к тому, если в исходном файле окажутся не только цифры, но и другие символы (буковы)? Выдавать сообщение об ошибке, игнорить, или что?
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 06.11.2022, 23:21 | ||
|
0
|
||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,349
|
|||
| 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 | |
|
Написать программу, которая формирует новый текстовый файл из исходного файла, удаляя из него все знаки математических операций («*», «/», «+», «– Написать программу, которая формирует новый файл последовательного доступа, в котором исключены повторные вхождения компонент исходного файла последов Сформировать новый список из данного по некоторому правилу
Разработать программу, которая строит логический вектор по заданному правилу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|