Составить программу, которая выводит сведения об автомобилях, возраст которых больше 10 лет, подсчитывает возраст этих автомобилей и количество таких автомобилей. Pascal ABCВвод данных с клавиатуры Написать программу которая бу...

Составить программу, которая выводит сведения об автомобилях, возраст которых больше 10 лет, подсчитывает возраст этих автомобилей и количество таких автомобилей. Pascal ABC Ввод данных с клавиатуры Написать программу которая будет выводить данные в виде таблицы.
Гость
Ответ(ы) на вопрос:
Гость
const   kk=100; // макксимальное количество старых автомобилей type   tAuto=record     FIO:string[12]; // ФИО владельца     Marka:string[12]; // Марка автомобиля     GodV:integer; // Год выпуска     GosNom:string[6]; // Номер автомобиля     Color:string[12] // Цвет     end; var   Cars:array[1..kk] of tAuto;   k:integer; // количество старых автомобилей   year:integer; // год, на который производится расчет   i:integer;   begin   k:=0;   Write('Год, на который производится расчет: '); Readln(year);   // Далее глупый ввод данных, но он так сделан из-за кривой   // постановки задачи. Нам надо отобрать из всех автомобилей   // часть по условию, но для этого надо иметь сведения обо всех этих   // авомобилях. В реальности, конечно, читается готовый файл   // и из него делается отбор, а тут чтение из файла имитируется   // вводом с клавиатуры. Фактически, вместо того, чтобы сразу ввести год   // выпуска и прервать дальнейший ввод сведений по автомобилю,   // если он не попадает в выборку, мы вводим все, а уж потом лишние   // бракуем.   // Фактически, изначально приучаем школьников делать, как не надо.   repeat     Inc(k);     Writeln('Введите сведения об автомобиле');     Write('ФИО владельца (* - закончить ввод): '); Readln(Cars[k].FIO);     if Cars[k].Fio[1]='*' then begin Dec(k); Break end;     Write('Марка автомобиля: '); Readln(Cars[k].Marka);     Write('Год выпуска: '); Readln(Cars[k].GodV);     Write('Номер автомобиля: '); Readln(Cars[k].GosNom);     Write('Цвет кузова: '); Readln(Cars[k].Color);     if year-Cars[k].GodV<=10 then Dec(k)   until k=kk; // ограничение на переполнение массива   // Теперь Cars[] содержит сведения о k автомобилях для вывода   Writeln;   Writeln('Количество автомобилей старше 10 лет равно ',k);   if k=0 then Exit; // На нет и суда нет   for i:=1 to 62 do Write('-'); Writeln;   Write('    ФИО          Марка     Год     Номер        Цвет');   Writeln('   Возраст');   Writeln(' владельца    автомобиля выпуска автомобиля    кузова');   for i:=1 to 62 do Write('-'); Writeln;   for i:=1 to k do     With Cars[i] do       Writeln(FIO:12,' ',Marka:12,GodV:6,'    ',GosNom:6,'   ',         Color:12,year-GodV:3);    for i:=1 to 62 do Write('-'); Writeln end. Пример Год, на который производится расчет: 2016 Введите сведения об автомобиле ФИО владельца (* - закончить ввод): Петров Г.В. Марка автомобиля: Лада Год выпуска: 2003 Номер автомобиля: С430АМ Цвет кузова: Белый Введите сведения об автомобиле ФИО владельца (* - закончить ввод): 123456789012 Марка автомобиля: 123456789012 Год выпуска: 2000 Номер автомобиля: ХХХХХХ Цвет кузова: 123456789012 Введите сведения об автомобиле ФИО владельца (* - закончить ввод): * Количество автомобилей старше 10 лет равно 2 --------------------------------------------------------------     ФИО          Марка     Год     Номер        Цвет   Возраст  владельца    автомобиля выпуска автомобиля    кузова --------------------------------------------------------------  Петров Г.В.         Лада  2003    С430АМ          Белый 13 123456789012 123456789012  2000    ХХХХХХ   123456789012 16 -------------------------------------------------------------- Замечание: у здешнего шрифта отвратительная манера все искажать (сколько не просили сделать возможность вывода моноширинным шрифтом - глухо). Посему истинная картинка дана во вложении.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы