p align="left"> list.m[i]=list.m[j]; list.m[j]=tmpv; } } } } if (vub==1) { for (int i=0;i<=list.count;i++) { for (int j=0;j<=list.count;j++) { if (strcmp(list.m[i].adress,list.m[j].adress)<0) { tmpv=list.m[i]; list.m[i]=list.m[j]; list.m[j]=tmpv; } } } } if (vub==2) { for (int i=0;i<=list.count;i++) { for (int j=0;j<=list.count;j++) { if (strcmp(list.m[i].phone,list.m[j].phone)<0) { tmpv=list.m[i]; list.m[i]=list.m[j]; list.m[j]=tmpv; } } } } if (vub==3) { for (int i=0;i<=list.count;i++) { for (int j=0;j<=list.count;j++) { if (strcmp(list.m[i].countf,list.m[j].countf)<0) { tmpv=list.m[i]; list.m[i]=list.m[j]; list.m[j]=tmpv; } } } } if (vub==4) { for (int i=0;i<=list.count;i++) { for (int j=0;j<=list.count;j++) { if (strcmp(list.m[i].duplom,list.m[j].duplom)<0) { tmpv=list.m[i]; list.m[i]=list.m[j]; list.m[j]=tmpv; } } } } refresh_list(); } void find_list() { int vub; mit_1: gotoxy(3,23); printf(" "); gotoxy(3,23); printf("FIND: | Name-1 | Adress-2 | Phone-3 | CountF-4 | Duplom-5 | "); cursor(1); scanf("%d",&vub); if((vub<1)||(vub>5)){goto mit_1;} gotoxy(3,23); printf(" "); gotoxy(3,23); printf("Find Text: "); char s[50]; scanf("%s",&s); for (int i=0;i<=list.count;i++) { char s1[50]; switch(vub) { case 1: strcpy(s1,list.m[i].name);break; case 2: strcpy(s1,list.m[i].adress);break; case 3: strcpy(s1,list.m[i].phone);break; case 4: strcpy(s1,list.m[i].countf);break; case 5: strcpy(s1,list.m[i].duplom);break; } if (strcmp(s1,s)==0) { gotoxy(3,pos+6); printf(" "); int j=i; int l=0; while (j-15>=0) { j=j-15; l++; } page=l; pos=j; refresh_list(); gotoxy(3,pos+6); printf(">"); gotoxy(3,23); printf("Press ENTER "); mit_2: int c=getche(); if (c!=13){goto mit_2;} } } cursor(0); gotoxy(3,23); printf(" "); } void new_window(int vub) { clrscr(); cursor(0); ramka(2,2,80,3); ramka(2,5,80,21); ramka(2,23,80,24); gotoxy(2,2); printf("| Save-1 | Insert-2 | Delete-3 | Sort-4,5,6,7,8 | Find-9 | Close-ESC |"); gotoxy(12,5); printf("NAME ADRESS PHONE COUNTF DUPLOM"); if (vub==1) { refresh_list(); } pos=0; mi2: gotoxy(3,23); int c=getche(); switch (c) { case 49:save_list(); break; case 50:insert_list(); break; case 51:delete_list(); break; case 52:sort_list(0); break; case 53:sort_list(1); break; case 54:sort_list(2); break; case 55:sort_list(3); break; case 56:sort_list(4); break; case 57:find_list(); break; case 72: if (pos!=0) { gotoxy(3,pos+6); printf(" "); pos--; gotoxy(3,pos+6); printf(">"); } else { if (page!=0) { page--; gotoxy(3,pos+6); printf(" "); pos=14; refresh_list(); } } break; case 80: if (pos!=14) { gotoxy(3,pos+6); printf(" "); pos++; gotoxy(3,pos+6); printf(">"); } else { if (page_count>page) { gotoxy(3,pos+6); printf(" "); page++; pos=0; refresh_list(); } } break; case 27:goto mi1;break; } goto mi2; mi1: } void open_list() { clrscr(); FILE *f; f=fopen("с:\\vuz.my","r"); char *s; list.count=-1; while(! feof(f)) { list.count++; fscanf(f,"%s\n",s); // printf("%s\n",s); char *p; p = strtok(s,","); int l=0; while (p) { switch(l) { case 0:strcpy(list.m[list.count].name,p);break; case 1:strcpy(list.m[list.count].adress,p);break; case 2:strcpy(list.m[list.count].phone,p);break; case 3:strcpy(list.m[list.count].countf,p);break; case 4:strcpy(list.m[list.count].duplom,p);break; } l++; p = strtok(NULL,","); } } fclose(f); } void main_menu() { mit_3: clrscr(); ramka(2,2,80,24); ramka(20,8,60,16); gotoxy(35,10); printf("New list - 1"); gotoxy(35,12); printf("Open list - 2"); gotoxy(35,14); printf("Exit - 3 "); cursor(0); mit_1: gotoxy(45,14); char c=getche(); if ((c!='1')&&(c!='2')&&(c!='3')) { goto mit_1; } switch (c) { case '1':page_count=0;page=0;list.count=-1; new_window(0);goto mit_3; break; case '2':open_list();new_window(1);goto mit_3; break; case '3':goto mit2; break; } goto mit_1; mit2: } void main() { list.count=-1; main_menu(); // // open_list(); // new_window(); char s[10]; // scanf("%s",&s); } Додаток 2. Результати роботи програми Початок програми Створив файл Висновки Після виконання курсової роботи я отримав необхідні знання та практичні навички роботи з із роботою з файлами, навчився програмувати розгалужені та циклічні процеси, зрозумів як працювати з часом та будувати меню програм. Отримана програма є якісною, швидкою при виконанні і не потребує значних ресурсів комп'ютера для її запуску. Якихось недоліків я не помітив. Дана програма може згодитися для дуже багатьох користувачів, підприємств, навчальних установ. Вона є універсальною, оскільки годинник є невід'ємним атрибутом будь-якої комп'ютерної системи. Тому актуальність даної програми є надзвичайно великою. На цій курсовій роботі я освоїв методи програмування на мові сі і виконав завдання про: Інформаційно- довідкова система “Вищі навчальні заклади м. Львова” Література 1) Кравець П. О. Методичні вказівки до виконання лабораторних робіт з дисципліни “Проблемно-орієнтовані мови програмування”, 2005. 2) Кравець П. О. Методичні вказівки до виконання курсової роботи з дисципліни “Проблемно-орієнтовані мови програмування”, 2005 3) Культин Н. С, С++ в задачах и примерах, Санкт-Петербург 2005. 4) Ричард Хезфилд, Лоуренс Кирби Исскуство программирования на С, Москва, Санкт-Петербург 2001 5) Павловская Т. А., Щупак Ю. А. С,С++ - программирование на языке високого уровня (Структурное программирование), Санкт-Петербург 2003 6) Романов Е. Л. Практикум по программированию на С++, Санкт-Петербург 2004 Дияк І.І. Пропедевтика прикладного програмування - Київ, ІСДО, 1994 - 176 с. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. - М.: Высш. шк., 1989. - 304 с. Кушниренко А.Г., Лебедев Т.В. Программирование для математиков. - М.: Наука, 1988 - 384 с. С.А.Абрамов, Е.В.Зима. Начала информатики. - М.: Наука, 1989. - 256 с. В.И.Пильщиков. Сборник упражнений по языку Паскаль. - М.: Наука, 1989. - 160 с. С.А.Абрамов, Т.Т.Гнездилова, Е.Н.Капустина. Задачи по программированию. - М.: Наука, 1988. - 224 с. В.М.Брябрин. Программное обеспечение персональных ЭВМ. - М.: Наука, 1989. - 272 с. В. Э.Фигурнов. IBM PC для пользователя. Изд. шестое. - М.: “Инфа М”, 1995. - 432 с. В.П.Грибанов, С.В.Дробин, В.Д.Медведев. Операционные системы. М.: “Финансы и статистика”. 1990. - 230 с. В.И.Касьянов, В.К.Сабельфельд. Сборник заданий по практикуму на ЭВМ. - М.: “Наука”, 1986. - 272 с. Н.П.Трифонов, Е.И.Пасхин. Практикум на ЭВМ. - М.: Наука, 1982. - 288 с. М.Дансмур, Е.Дейвис. Операционная система UNIX и программирование на языке СИ. - М.: “Радио и связь”, 1989. - 192 с. В.В.Фаронов. Турбо Паскаль. - МВТУ, М., 1992. - 304 с. Е.А.Зуев. Язык программирования TURBO PASCAL 6.0. - М. “Унитех”, 1992. - 298 с. А.Епанешников, Е.Епанешников. Програмирование в среде Turbo Pascal 7.0. -3-е изд., - М.: "ДИАЛОГ-МИФИ", 1997. - 288 с. Delphi 2. Энциклопедия пользователя: Пер. с англ./Чарльз Калверт. - К.: НИПФ "ДиаСофт Лтд.", 1996. - 736 с. Использование Delphi 3. Специальное издание.: Пер. с англ. - К.: Диалектика, 1997. - 768 с. Delphi 4. Библия разработчика: Пер. с англ. - К.; СПб.: Диалектика, 1998. - 672.
Страницы: 1, 2, 3
|