Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 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) {
Поделиться с друзьями:
- Telegram
- Viber
- Skype
- ВКонтакте