Чтение онлайн

ЖАНРЫ

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

Пак Дэниэл Дж.

Шрифт:

 new_car_entry->next = NULL; /*указатель на следующий автомобиль в списке*/

 in_stock_list = new_car_entry;

 new_car_entry1 = (car_temp_ptr) malloc(sizeof(ELEMENT));

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

 new_car_entry1->year = 1974; /*год выпуска*/

 strcpy(new_car_entry1->make,"Ford"); /*BWM, Hummer, Saturn */

 strcpy(new_car_entry1->model,"Mustang11")/*купе, обратимый, SUV,
пикап*/

 strcpy(new_car_entry1->VIN, "3L265ST" ) ; /*комбинация цифр и букв */

 new_car_entry1->mileage = 122456; /*показания одометра: от 0 до 500 000+ */

 new_car_entry1->next = NULL; /*указатель на следующий автомобиль в списке */

 new_car_entry2 = (car_temp_ptr)malloc(sizeof(ELEMENT));

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

 new_car_entry2->year = 1997; /*год выпуска*/

 strcpy(new_car_entry2->make, "Saturn"); /*BWM, Hummer, Saturn */

 strcpy(new_car_entry2->model,"SL1"); /*купе, обратимый, SUV, пикап */

 strcpy(new_car_entry2->VIN, "234TH67"); /*комбинация цифр и букв */

 new_car_entry2->mileage = 140512;/*показания одометра: от 0 до 500 000+ */

 new_car_entry2->next = NULL; /*указатель на следующий автомобиль в списке*/

 new_car_entry1->next = new_car_entry2;

}

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

/*print_link_list: печатает поля выделенного списка с указателями */

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

void print_link_list(car_temp_ptr print_list) {

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

 printf("\nCars available in stock for sale:");

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

 for (temp_ptr=print_list; temp_ptr != NULL; temp_ptr-temp_ptr->next) {

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); /*показания одометра*/

 }

}

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

/*insert_link_list (in_stock_list) - вставляют новый автомобиль в */

/* отмеченный список в алфавитном порядке */

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

void insert_link_list(car_temp_ptr in_stock_list) {

 car_temp_ptr new_car_entry, list, ptr;

 int place_found;

 list = in_stock_list;

 /*создает
ввод автомобиля */

 new_car_entry = (car_temp_ptr) malloc(sizeof(ELEMENT));

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

 new_car_entry->year = 2002; /*год выпуска */

 strcpy(new_car_entry->make,"Hummer"); /*BWM, Hummer, Saturn*/

 strcpy(new_car_entry->model, "H2"); /*купе, обратимый, SUV, пикап */

 strcpy(new_car_entry->VTIM, "73H2L7");/*комбинация цифр и букв*/

 new_car_entry->mileage = 13; /*показания одометра: от 0 до 500 000+ */

 new_car_entry->next = NULL; /*указатель на следующий автомобиль в списке */

 if (list==NULL) { /*вставка в пустой список */

list=new_car_entry;

 } else {

/* вставка в первый элемент списка */

if (strcmp(new_car_entry->make, list->make) < 1) {

new_car_entry->next=list;

list = new_car_entry;

} else /*вставка в непустой список */

{

ptr = list; /*определение позиции вставки */

place_found = FALSE;

while((ptr->next != NULL) && (!place_found)) {

if (strcmp (new_car_entry->make, ptr->next->make) > = 1) /*сравнение */

{

ptr=ptr->next; /*продвижение по списку */

} else /*вставка после указателя */

{

place_found = TRUE;

}

}/*конец цикла while*/

/*переадресует указатель, чтобы */

/*закончить ввод в список */

new_car_entry->next = ptr->next;

ptr->next - new_car_entry;

}/*конец else*/

 }/*конец else*/

}/*конец insert_link_list*/

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

/*delete_link_list (car_temp_ptr): */удаление отмеченных элементов */

/*из списка */

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

void delete_link_list(car_temp_ptr in_stock_list) {

Поделиться с друзьями: