Задача на строки и массивы, программа для работы с базой тел.станции |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на строки и массивы, программа для работы с базой тел.станции |
demure |
Сообщение
#1
|
Гость |
Пожалуйста! Помогите срочно! Хотя бы наводку какую-нибудь... Вообще без понятия, что тут делать
Программа должна содержать меню и ввод-вывод в окна на экране. Необходимо предусмотреть контроль ошибок пользователя при вводе данных. При разработке программы применить технологию нисходящего проектирования. Логически законченные объекты оформить в виде подпрограммы, все необходимые данные которым передаются через список параметров. Использование глобальных переменных следует избегать. Итак, задание Предприятие имеет местную телефонную станцию на 20 номеров. Телефонный справочник данного предприятия для каждого номера телефона содержит номер помещения и список служащих, сидящих в данном помещении. Составить программу, которая: - корректирует базу - по номеру помещения выдает номер телефона - по фамилии выдает номер телефона и номер помещения. номер телефона двузначный. |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата ввод-вывод в окна на экране Программа под windows должна быть ? С окнами ? Или что ты имел в виду ? А вообще-то очень пахнет обычной задачей на записи, на форуме решалось достаточно много их ... используй поиск, в какой конкретно части программы возникает проблемма ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
demure |
Сообщение
#3
|
Гость |
сам не понял про какие окна там говорят. программа на BP 7.0, как в школе
|
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Хорошо. Про окна забыли
Ты начни делать ... дальше само пойдет, вот увидишь, организуй для начала заполнение базы, запись я бы описал так :
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#5
|
Гость |
demure, ты поиском по форуму пользовался? Скажи мне, чем кардинально твоя программа отличается от "магазина", "ж/д вокзала", "аэропорта", "спортивной команды"? Тем, что ЗА тебя решат ее так, что тебе только сдать останется?
Если не будет ТВОИХ набросков и конкретных вопросов по заданию (вопрос "ничего не получается" не пойдет), тема закрывается... |
demure |
Сообщение
#6
|
Гость |
Вот, наконец-то занялся программой.
Сделал заполнение базы. Код такой: Код uses Crt; type TelefStation = Record phone: LongInt; nomer: byte; FIO: string; end; var Book: array[1..20] of TelefStation; Nums,I: byte; code: integer; c: char; quit: boolean; {dobavlenie novoi zapisi} procedure New_Item; var Kom:byte; F:String; Tl:LongInt; begin Clrscr; Inc(Nums); if Nums>20 then begin write('maksimalnoe kolichestvo zapisei!'); exit; end; begin writeln('Zapis N:',Nums); writeln; writeln('Vvedite Nomer telef:'); readln(Tl); writeln('Vvedite Nomer pomesheniya:'); readln(Kom); writeln('Vvedite FIO'); readln(F); writeln; with Book[Nums] do begin FIO:=F; nomer:=Kom; phone:=Tl; end; Write('Novaya zapis uspeshno dobavlena!'); end;end; далее по заданию - корректировка базы. т.е., как объяснила (мало что понимающая, к сожалению) преподша, нужно, чтобы программа могла редактировать любую запись (удалять, изменять и пр.) с удалением, я думаю не сложно... а вот с изменением. не совсем понимаю, как делать... нужно еще искать наверное, или, может поможете? |
volvo |
Сообщение
#7
|
Гость |
Цитата а вот с изменением. не совсем понимаю, как делать... Как раз, с изменением дело тоже обстоит просто. Тебе нужно выбрать (а может, это указано у тебя в задании где-нибудь), ты хочешь работать напрямую с файлом, или сначала все данные читать в массив, обрабатывать их, и перезаписывать файл? Я бы советовал второй вариант. Тогда алгоритм изменения записи такой: Читаешь содержимое файла в массив, по нужному тебе полю ищешь запись, которую надо поменять, и, собственно, меняешь: WhatToFind := '...'; { Кого будем искать, эту строку можно и вводить с клавиатуры} |
Guest |
Сообщение
#8
|
Гость |
Цитата да дело в том, что программа не должна использовать файлы. мы вообще работу с файлами еще не изучали в принципе можно и с ними сделать, ведь удобнее, ясное дело, училка все равно не допрет в чем дело, но мне это труднее... |
demure |
Сообщение
#9
|
Гость |
Задание дано в таком же виде, как я написал - больше ничего..
базу всю, видимо, нужно вводить вручную каждый раз)) да, контроль ошибок... куда ткнуть проверку на то, двузначный ли номер я тоже не совсем понимаю |
volvo |
Сообщение
#10
|
Гость |
Цитата куда ткнуть проверку на то, двузначный ли номер я тоже не совсем понимаю Сразу после ввода номера и проверяй его на двухзначность: With Book[i] Do Begin |
Guest |
Сообщение
#11
|
Гость |
так, это понятно.
ну так что там с корректировкой? |
volvo |
Сообщение
#12
|
Гость |
Я же в посте №7 написал, как в массиве найти нужную запись... Не работаешь с файлами - не надо, но массив-то у тебя есть...
|
Текстовая версия | 11.01.2025 4:10 |