Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
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) {
car_temp_ptr current,backup,temp; /*текущий указатель списка */
char delete_make[10];
/*определить
поле make для удаления */
printf("\n\nDelete car from for sale list.");
printf("\nEnter make of car for deletion from list.");
scanf("%s", delete_make);
/*инициировать указатели для поиска */
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); /*модель */
Поделиться:
Популярные книги
Царь Федор. Трилогия
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Маверик
4. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Адвокат Империи 7
7. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Скандальная свадьба
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Боги, пиво и дурак. Том 6
6. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ванька-ротный
Фантастика:
альтернативная история
5.67
рейтинг книги
Завод: назад в СССР
1. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Новый Рал 8
8. Рал!
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Пограничная река. (Тетралогия)
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Краш-тест для майора
3. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
эро литература
6.25
рейтинг книги
Барон меняет правила
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Мастер 8
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том II
2. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00