Напишите, пожалуйста, программу на языке паскаль абс. Вот такая задачка :
Описать запись с именем Note, содержащую следующие поля: фамилия, имя; номер
телефона; день рождения (массив из трех чисел). Написать программу, выполняющую
следующие действия:
ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note, с
упорядочением записей по трем первым цифрам номера телефона;
вывод на экран информации о человеке, чья фамилия введена с клавиатуры; если
такого нет, вывод на экран соответствующего сообщения;
запись массива в файл под заданным с клавиатуры именем.
Кто умеет решать такие задачи, откликнитесь прошу
Другие языки программирования и технологии
Паскаль помогите: С
Кода вышло много, поэтому в красивом виде он в ответ не влазит. Вот ссылка на красивую версию: https://pastebin.com/N8niEStr
А вот некрасивая, но влезающая в ответ версия кода:
type Note = record; fName, lName: string; phone: string; birthday: array [1..3] of word; end; const N = 8; var a: array [1..N] of Note; procedure readNotes; var i: integer; begin for i := 1 to N do begin writeln('Note #', i ,':'); write('Имя: '); readln(a[i].fName); write('Фамилия: '); readln(a[i].lName); write('Номер телефона: '); readln(a[i].phone); writeln('День рождения: '); write(' День: '); readln(a[i].birthday[1]); write(' Месяц: '); readln(a[i].birthday[2]); write(' Год: '); readln(a[i].birthday[3]); writeln; end; end; procedure searchByLastName; var lName: string; found: boolean; i: integer; begin found := false; write('Введите фамилию для поиска: '); readln(lName); writeln; for i := 1 to N do if (a[i].lName = lName) then begin found := true; writeln('Имя: ', a[i].fName, ' ', a[i].lName); writeln('Номер телефона: ', a[i].phone); write('День рождения: ', a[i].birthday[1], '.'); writeln(a[i].birthday[2], '.', a[i].birthday[3]); writeln; end; if not found then begin writeln('Ничего не найдено!'); writeln; end; end; procedure saveToFile; var f: file of array [1..N] of Note; fileName: string; begin write('Введите имя файла для сохранения: '); readln(fileName); assign(f, fileName); rewrite(f); write(f, a); close(f); writeln('Сохранено!'); writeln; end; begin readNotes; searchByLastName; saveToFile; end.
Ах да, еще я не сделал упорядочение записей по трем первым цифрам номера телефона, это уже сам.
А вот некрасивая, но влезающая в ответ версия кода:
type Note = record; fName, lName: string; phone: string; birthday: array [1..3] of word; end; const N = 8; var a: array [1..N] of Note; procedure readNotes; var i: integer; begin for i := 1 to N do begin writeln('Note #', i ,':'); write('Имя: '); readln(a[i].fName); write('Фамилия: '); readln(a[i].lName); write('Номер телефона: '); readln(a[i].phone); writeln('День рождения: '); write(' День: '); readln(a[i].birthday[1]); write(' Месяц: '); readln(a[i].birthday[2]); write(' Год: '); readln(a[i].birthday[3]); writeln; end; end; procedure searchByLastName; var lName: string; found: boolean; i: integer; begin found := false; write('Введите фамилию для поиска: '); readln(lName); writeln; for i := 1 to N do if (a[i].lName = lName) then begin found := true; writeln('Имя: ', a[i].fName, ' ', a[i].lName); writeln('Номер телефона: ', a[i].phone); write('День рождения: ', a[i].birthday[1], '.'); writeln(a[i].birthday[2], '.', a[i].birthday[3]); writeln; end; if not found then begin writeln('Ничего не найдено!'); writeln; end; end; procedure saveToFile; var f: file of array [1..N] of Note; fileName: string; begin write('Введите имя файла для сохранения: '); readln(fileName); assign(f, fileName); rewrite(f); write(f, a); close(f); writeln('Сохранено!'); writeln; end; begin readNotes; searchByLastName; saveToFile; end.
Ах да, еще я не сделал упорядочение записей по трем первым цифрам номера телефона, это уже сам.
Сергей Булыгин
Спасибо большое, очень выручили меня)
а вы понимаете разницу между
"помогите" и "напишите мне"
"помогите" и "напишите мне"
Сергей Якобчук
Ничего они не понимают. А программа-то не школьная, универ наверное, уже башкой своей должен думать
Эльхан Мамедов
Написание подразумевает помощь)
я умею, 1200р.
Похожие вопросы
- Программа на паскале! Помогите(бесплатно)
- Паскаль! Помогите пожалуйста разобраться в задачке.
- Помогите с паскалем. Помогите написать программу переводящую из 10-ой в 16-ую систему счисления на паскале
- Программирование на Паскале Помогите, пожалуйста , написать программу на паскале
- Информатика.Практическая работа по паскалю.ПОМОГИТЕ.Все нужно ввиде паскаля.мучаюсь целый день.постоянно какие-то ошибки
- Сортировка массива (Паскаль) помогите пожалуйста
- кто нибудь знает турбо паскаль?помогите решить!выручайте,срочно надо!
- Турбо паскаль. Помогите плииз!!!
- Паскаль. Помогите решить
- кто знает Паскаль помогите написать програмку