Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Язык программирования Си! (интегрированная среда Borland C)

Курсовая Купить готовую Узнать стоимостьмоей работы

Двусвязные списки. Описание структуры программы. Пример работы программы. Исходный модуль программы. Заключение. Литература. Функционирование системы. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ1. 1. структуры. Введение. Читать ещё >

Содержание

  • ВВЕДЕНИЕ
  • 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
    • 1. 1. структуры
    • 1. 2. двусвязные списки
  • 2. ФУНКЦИОНИРОВАНИЕ СИСТЕМЫ
  • 3. ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ
  • 4. ПРИМЕР РАБОТЫ ПРОГРАММЫ
  • 5. ИСХОДНЫЙ МОДУЛЬ ПРОГРАММЫ
  • ЗАКЛЮЧЕНИЕ
  • ЛИТЕРАТУРА

Язык программирования Си! (интегрированная среда Borland C) (реферат, курсовая, диплом, контрольная)

info) {printf («nЋиЁЎЄ Ї пвЁ. n»);return; }printf («n»);inputs («‚ўҐ¤ЁвҐ §ў ЁҐЄЁЈЁ: «, info->name, MAX_STR_LEN, 0);inputs («‚ўҐ¤ЁвҐ ўв®а: «, info->author, MAX_STR_LEN, 0);inputs («‚ўҐ¤ЁвҐЈ®¤ Ё§¤ Ёп: «, year_str, 5, 1);info->year = atoi (year_str);if (last==NULL) {info->next = NULL;info->prior = NULL;last = info;start = info; }else {info->next = NULL;info->prior = last;last->next = info;last = info;}}// ввод строки длины count символовvoid inputs (char *prompt, char *s, int count, intisNumber){char p[MAX_STR_LEN]; inthasError = 0;intlen = 0;inti=0;do {hasError = 0; printf (prompt);fgets (p, MAX_STR_LEN-1, stdin);if ((int)strlen (p) > count) printf («nЏаҐўл襨Ґ ¤"Ёл %d бЁў®"(r)ў.n», count-1);if (isNumber) {if ((int)strlen (p) < count) {hasError = 1;printf («‚ўҐ¤ЁвҐзЁб"®. ЏаЁҐа: 2012n»); }else {len = (int)strlen (p) — 1;for (i=0; i < len; i++) {if (isdigit (p[i]) == 0) {hasError = 1;printf («‚ўҐ¤ЁвҐзЁб"®. ЏаЁҐа: 2012n»);break; } } } } } while ((int)strlen (p) > count — hasError);p[strlen (p)-1] = 0; // конецстрокиstrcpy (s, p);}// Добавление элемента структуры в упорядоченный двусвязный списокvoiddls_store (struct book *i, // новыйэлементstruct book **start, // first element in liststruct book **last // last element in list){struct book *old, *p;if (*last==NULL) { /* first element in list */i->next = NULL;i->prior = NULL; *last = i; *start = i;return; } p = *start; /* start at top of list */old = NULL;while (p) {if (strcmp (p->name, i->name)<0){old = p; p = p->next; }else {if (p->prior) {p->prior->next = i;i->next = p;i->prior = p->prior;p->prior = i;return; }i->next = p; /* new first element */i->prior = NULL;p->prior = i; *start = i;return; } }old->next = i; /* put on end */i->next = NULL;i->prior = old; *last = i;}// Корректировкаспискаvoiddelete_by_less_year (struct book **start, struct book **last){struct book *info;char s[5]; intcount = 0; // «Введите для корректировки год: «inputs («‚ўҐ¤ЁвҐ ¤"пЄ®а४вЁа®ўЄЁ Ј®¤: «, s, 5, 1);for (;;) {info = find_by_less (atoi (s));if (info) {count++;if (*start==info) { *start=info->next;if (*start) (*start)->prior = NULL;else *last = NULL; }else {info->prior->next = info->next;if (info≠*last)info->next->prior = info->prior;else *last = info->prior; }free (info); // освободитьпамять }else {break; } }if (count > 0) { // Удаленоprintf (««¤ «Ґ® %d н"ҐҐв®ўбвагЄвгал.n», count);}}// Найти книгу с годом меньше yearstruct book *find_by_less (int year){struct book *info = start;while (info) {if (info->year < year) return info;info = info->next; // смотреть следующую книгу }return NULL;}// Вывод двусвязанного спискаvoidlist (void){struct book *info = start;printf («n>>n»);while (info) {display (info);info = info->next; // получитьслед. }}// вывестиданныеструктурыvoid display (struct book *info){printf («Ќ §ў ЁҐЄЁЈЁ: %sn», info->name); //Названиекнигиprintf («Ђўв®а: %sn», info->author); //Авторprintf («ѓ®¤ Ё§¤ Ёп: %dn», info->year); //Годизданияprintf («n»);}ЗАКЛЮЧЕНИЕВ результате выполнения данного проекта была изучена работа с указателями и двусвязными списками. Полученные знания были применены для разработки системы, которая позволяет создавать и работать с двухсвязным списком, предназначенным для хранения информации о каталоге книг. Система также производит обработку символьного ввода с клавиатуры на предмет ошибочного ввода длины строки.

ЛИТЕРАТУРА

Ю.Ю. Громов, С. И. Титаренко, Программирование на языке Си, 1995 г. Т. О. Сундукова, Г. В. Ваныкина, Структуры и алгоритмы компьютерной обработки данных, 2011 г. Г. Шилдт, Полный справочник по С, 4 изд., 2004 г.

Показать весь текст

Список литературы

  1. Ю.Ю. Громов, С. И. Титаренко, Программирование на языке Си, 1995 г.
  2. Т.О. Сундукова, Г. В. Ваныкина, Структуры и алгоритмы компьютерной обработки данных, 2011 г.
  3. Г. Шилдт, Полный справочник по С, 4 изд., 2004 г.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ