1 программа по работе с текстовыми файлами, Программа по работе с файлами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
1 программа по работе с текстовыми файлами, Программа по работе с файлами |
Saver |
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: 0 |
Программа считывает список фамилий, имен и номеров зачеток с текстового файла и по выбору пользователя(по имени, фамилии или номеру зачетки) сортирует их по алфавиту и сохраняет в новый текстовый файл. Очень надо до сегодняшнего вечера до 23:00. Помогите!!!!
|
volvo |
Сообщение
#2
|
Гость |
klem4, проверять программы надо и на Turbo Pascal-е иногда:
Цитата сначала просит переделать переменную e в integer Это - потому, что в TP размер типа Integer в 2 раза меньше размера LongInt, а все-таки там VAR-параметр, то есть как минимум размер типа формального и фактического параметра должен совпадать...Цитата Error 202 Stack Overflow Error. Будет возникать, сомо собой... Ты же в стек запихиваешь полностью весь массив типа TDataBase, а это все-таки 26 Кб (по умолчанию стек ограничен 16384 байтами)... Saver, я бы немного подправил вышеприведенную программу: uses crt; Обрати внимание на следующие изменения: 1) добавлен Const в списке параметров процедуры WriteToFile: это сделано для того, чтобы в процедуру передавалась не копия всего массива (о чем я писал выше), а только его адрес, причем если параметр объявлен как Const, то это дает хоть какую-то защиту от случайного изменения данных, хранящихся в этом массиве... Преднамеренно его, конечно, можно изменить, но это уже другая тема... 2) я немного переделал саму процедуру сортировки... Ну, не утерпел я, не могу смириться с тем, что одни и те же действия (а именно - обмен элементов массива местами) присутствуют в коде два раза... Да и вызов процедуры сортировки немного упрощен, ты же не должен сортировать И по возрастанию И по убыванию? Тогда один параметр оказывается лишним... 3) имена файлов: когда работаешь в TP (а это еще DOS-компилятор, лучше давать файлам имена, подходящие под схему 8.3: длина имени 8 символов, и 3 - на расширение...) 4) в процедуре чтения я нахожу позицию последнего пробела. Мне кажется, это более точно подходит под условие, ведь в файле может хранится и имя, и фамилия, а они могут разделяться и пробелом тоже... В моем варианте главное, чтобы группа символов после последнего пробела представляла собой номер зачетной книжки... Будут вопросы по программе - милости просим |
Текстовая версия | 2.05.2024 14:31 |