Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

 /*инициировать указатели для поиска */

 current = in_stock_list;

 backup=NULL;

 /*поиск записи, содержащих заданное значение make */

 while (strcmp(current-make, delete_make) !=0) {

  backup = current;

  current = current-next;

 }

 /*Был удален автомобиль из первого элемента? */

 if (backup == NULL){ /*удалить автомобиль из первого элемента */

  in_stock_list = in_stock_list-next;

 } else { /*удалить элемент из списка */

  backup-next = current - next;

 }

 free(current); /*перераспределить динамическую память*/

}

/********************************************************************/

/********************************************************************/

/*void search_link_list (car_temp_ptr) - найти запись с определенным */

/* значением поля make. Распечатать автомобили этого изготовителя.  */

/********************************************************************/

void search_link_list(car_temp_ptr search_list) {

 char search_make[10];

 car_temp_ptr temp_ptr; /*объявить текущий указатель */

                        /*определить изготовителя для поиска */

 printf("\n\nSearch for car in stock.");

 printf("\nEnter make of car to search for in list. ");

 scanf("%s", search_make);

 /*движение по списку */

 for(temp_ptr-search_list; temp_ptr!=NULL; temp_ptr=temp_ptr-next) {

  if (strcmp(temp_ptr-make, search_make) == 0) {

   printf("\n\nyear: %4d", temp_ptr-year); /*год изготовления */

   printf("\nmake: %s", temp_ptr-make); /*изготовитель */

   printf("\nmodel: %s", temp_ptr-model); /*модель */

   printf("\nVIN: %s", temp_ptr-VIN); /*номер */

   printf("\nMileage: %6.0f ", temp_ptr-mileage);

   /*считать показания одометра*/

  }

 }

}

/********************************************************************/

/********************************************************************/

После выполнения программы на дисплее появится следующее сообщение.

year: 1981

make: Chevy

model: Camaro

VIN: 12Z367

mileage: 37456

year: 1974

make: Ford

model: Mustang11

VIN: 3L265ST

mileage: 122456

year: 1997

make: Saturn

model: SL1

VIN: 234TH67

mileage: 140512

year: 1981

make: Chevy

model: Camaro

VIN: 12Z367

mileage: 37456

year: 1974

make:Ford

model: Mustang11

VIN: 3L265ST

mileage: 122456

year: 2002

make: Hummer

model: H2

VIN: 73H2L7

mileage: 13

year: 1997

make: Saturn

model: SL1

VIN: 234TH67

mileage: 140512

Удалены следующие автомобили из списка для продаж.

Введено поле make для удаления из списка – Hummer

year: 1981

make: Chevy

model: Camaro

VIN: 12Z367

mileage: 37456

year: 1974

make: Ford

model: Mustang11

VIN: 3L265ST

mileage: 122456

year: 1997

make: Saturn

model: SL1

VIN: 234TH67

mileage: 140512

Найден автомобиль в списке продаж.

Введенное поле make для поиска – Saturn

year: 1997

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже