1. Имеется текстовый файл, содержащий такую информацию: Даты рождения сотрудников: 1. Иванов – 05.03.1980 2. Петров – 18.11.1981 . . . 30. Сидоров – 09.08.1979 Вывести на экран монитора фамилии сотрудников, родившихся в 1980 году и позже.
2.Имеется текстовый файл, содержащий такую информацию: Даты рождения сотрудников: 1. Иванов – 05.03.1980 2. Петров – 18.11.1981 . . . 30. Сидоров – 09.08.1979 Вывести на экран монитора фамилии сотрудников, родившихся в марте.
Получаем 2 последних символа строки, преобразуем в число (можно 4 символа, для верности). Если > 1980, то выводим на экран символы с 1 по (позиция первого пробела - функция Pos поможет)
2 задача. Смысл тот же, только получаем не последние 4 символа, а последние 7, потом от этой строки забираем только первые 2. почитай справку по функции Copy. Понятно объяснил? Поддерживаю также проект сообщество молодых сисадминов
Fernando, Завтра на работе постараюсь уделить время твоей задачке. А пока - сделай доброе дело. Кликни по любому объявлению в разделе "Реклама" на главной странице нашего сайта. один раз всего. Это будет как благодарность. Поддерживаю также проект сообщество молодых сисадминов
Program BirthDays; Uses CRT; Var f: text; s, fam, sYYYY, sMM: String; i: Byte; iYYYY, iMM, code: Integer; Begin ClrScr; Assign(f, 'INPUT.TXT'); ReSet(f); While not (EoF(f)) do Begin Readln(f, s); fam := Copy(s, Pos(' ',s)+1, length(s) - Pos(' ',s)+1); sYYYY := Copy(fam, length(fam)-3,4); Val(sYYYY, iYYYY, code); fam := Copy(fam, 1, Pos(' ',fam)-1); if (iYYYY >= 1980) then Writeln(fam,' родился в ',iYYYY,' году'); End; Close(f); Readkey; End.
Прикрепляю файл INPUT.TXT (там не 30 значений, но не суть важно. Программа будет работать. Обратите внимание, там кодировка DOS (866). Если будете открывать в блокноте, ставьте шрифт Terminal.