![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Электронная картотека планет солнечной системы |
Текст программы:#i clude #i clude #i clude #i clude #i clude s ruc PL //Задание структурных переменных { char amepl; u sig ed i spu ik; PL prev; PL ex ; };void me u1() //Функция главного меню { clrscr(); pri f( &quo ; ║ ║ &quo ;); pu s( &quo ; ║ К А Р Т О Т Е К А П Л А Н Е Т ║ &quo ;); &quo ; ║ С О Л Н Е Ч Н О Й С И С Т Е М Ы ║ &quo ;); pu s( &quo ;); pu s(&quo ; Главное меню : &quo ;); pu s(&quo ; 1- Рекомендации пользователю.&quo ;); pu s(&quo ; 2- Ввод данных.&quo ;); pu s(&quo ; 3- Вывод всех данных.&quo ;); pu s(&quo ; 4- Просмотр, удаление, добавление.&quo ;); pu s(&quo ; 5- Вывод данных по определенному признаку.&quo ;); pu s(&quo ; 6- Сортировка.&quo ;); pu s(&quo ; 7- Выход.&quo ;); }void me u2() //Меню поиска элементов { pu s(&quo ; Меню поиска: &quo ;); pu s(&quo ; 1- Вывод по названию планеты.&quo ;); pu s(&quo ; 2- Вывод по году открытия.&quo ;); pu s(&quo ; Для выхода в главное меню нажмите любую клавишу.&quo ;); }void sove (char s) //Функция подсказки { wi dow(1,25,79,25); ex color(GREE BLUE); ex backgrou d(WHI E YELLOW); clrscr(); cpri f(&quo ; %s&quo ;,s); ex color(10); wi dow(1,1,79,25); ex backgrou d(0); }void vvod(PL pla) //Функция ввода структуры { do { clrscr(); pu s(&quo ;Введите имя планеты :&quo ;); fflush(s di ); ge s(pla-> amepl); } while(s rle (pla-> amepl)>18); do { pu s(&quo ;Год открытия планеты :&quo ;); sca f(&quo ;%d&quo ;,&(pla->year)); } while((pla->year)year)>30000); do { pu s(&quo ;Кто открыл планету :&quo ;); fflush(s di ); ge s(pla->people); } while(s rle (pla->people)>15); do { pu s(&quo ;Сколько спутников ?&quo ;); sca f(&quo ;%d&quo ;,&(pla->spu ik)); } while(((pla->spu ik)spu ik)>999)); }PL vvodall() //Функция ввода структур { PL play , pla; clrscr(); sove (&quo ;Введите параметры планеты&quo ;); pla=(PL )malloc(sizeof(PL)); vvod(pla); play =pla; pla-> ex = ULL; sove (&quo ;Для дальнейщего ввода нажми y, иначе любую клавишу.&quo ;); while (ge ch()=='y') { clrscr(); sove (&quo ;Введите параметры планеты&quo ;); pla=(PL )malloc(sizeof(PL)); vvod(pla); play ->prev=pla; pla-> ex =play ; play =pla; sove (&quo ;Для дальнейщего ввода нажми y, иначе любую клавишу.&quo ;); } pla->prev= ULL; while (pla-> ex ) pla=pla-> ex ; re ur (pla); }void vivodall(PL pla) //Функция вывода на экран всех структур { i i=1; pu s(&quo ; В С Я К А Р Т О Т Е К А &quo ;); pri f(&quo ;│ Номер│ Название │ Когда │ Кто открыл │ Кол-во │ &quo ;); pri f(&quo ;│ стр. планеты │ открыли │ планету │ спутников │ &quo ;); while (pla->prev) { pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); pla=pla->prev; i ; } pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); go oxy(22,24); pu s(&quo ;Вывод закончен, нажмите любую клавишу.&quo ;); ge ch(); }void spisok(PL pla) //Функция для работы со списком { clrscr(); wi dow(17,2,62,15); ex backgrou d(4); ex color(15); clrscr(); if (pla!= ULL) { cpri f(&quo ; &quo ;); cpri f(&quo ;%30s&quo ;,&quo ;ПАРАМЕТРЫ ПЛАНЕТ &quo ;); go oxy(1,wherey() 2); cpri f(&quo ; Название: %s&quo ;,pla-> amepl); go oxy(1,wherey() 2); cpri f(&quo ; Год открытия: %d&quo ;,pla->year); go oxy(1,wherey() 2); cpri f(&quo ; Кто открыл: %s&quo ;,pla->people); go oxy(1,wherey() 2); cpri f(&quo ; Сколько спутников: %d&quo ;,pla->spu ik); } ex backgrou d(2); sove (&quo ;Cледующая/Предыдущая планета(PgD /PgUp)&quo ; }PL vvodspisok(PL pla) //Функция ввода элементов списка { PL plr=pla; char c; sove (&quo ;Добавить элемент до / после текущего(Home/E d)&quo ; &quo ;Отмена(Esc)&quo ;); do { c=ge ch(); / Esc / if (c==27) re ur (pla); if (c==71 c==79) { clrscr(); sove (&quo ;Введите параметры планеты&quo ;); plr=(PL )malloc(sizeof(PL)); vvod(plr); if (pla== ULL) { plr-> ex = ULL; plr->prev= ULL; re ur (plr); } / E d / if (c==79) { plr-> ex =pla-> ex ; plr->prev=pla; pla-> ex =plr; (plr-> ex )->prev=plr; } / Home /if (c==71) { plr-> ex =pla; plr->prev=pla->prev; pla->prev=plr; (plr->prev)-> ex =plr; } re ur (plr); } } while(1); }PL vozvr(PL pla) //Возвращает указатель { //на начало списка pla if (pla== ULL) re ur (pla); while(pla-> ex != ULL) pla=pla-> ex ; re ur (pla); }PL korrek (PL pla) //Управляющие клавиши при работе со списком { spisok(pla); PL deli (PL ); do { swi ch(ge ch()) { / PgUp / case 73:if(pla!= ULL) { if(pla->prev!= ULL)pla=pla->prev;spisok(pla); } break; / PgD / case 81:if(pla!= ULL) { if(pla-> ex != ULL)pla=pla-> ex ;spisok(pla); } break; / Del / case 83:if(pla!= ULL) { pla=deli (pla); spisok(pla); } break; / I s / case 82:pla=vvodspisok(pla); spisok(pla); break; / Esc / case 27:pla=vozvr(pla); re ur (pla); } } while(1); }PL deli (PL pla) //Функция удаления элементов из списка { PL plr= ULL; if(pla->prev!= ULL) { (pla->prev)-> ex =pla-> ex ; plr=pla->prev; } if(pla-> ex != ULL) { (pla-> ex )->prev=pla->prev; plr=pla-> ex ; } free(pla); re ur (plr); }void poisk1(PL pla) //Функция поиска по названиям планет { char s,ch; do { i i=1,l=0; clrscr(); fflush(s di ); pu s(&quo ;Введите интерессующее вас название планеты :&quo ;); ge s(s); pri f(&quo ; Планеты с названием %s : &quo ;,s); pri f(&quo ;│Номер │ Название │ Когда │ Кто открыл │ Кол-во │ &quo ;); pri f(&quo ;│ стр.
│ планеты │ открыли │ планету │ спутников │ &quo ;); while (pla->prev) { if(s rcmpi(pla-> amepl,s)==0) { pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); l ;i ; } pla=pla->prev; } if (s rcmpi(pla-> amepl,s)==0) { pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); l ;i ; } pri f(&quo ; Найдено %d планет. &quo ;,l); pu s(&quo ; Поиск по названиям планет завершен. Продолжить?(y- да)&quo ;); fflush(s di ); ch=ge ch(); } while(ch=='y'); }void poisk2(PL pla) //Функция поиска по годам открытия { char ch; do { i i=1,l=0,a,b; clrscr(); fflush(s di ); pu s(&quo ;Введите интерессующее вас границы поиска (от чего- то до чего- то) :&quo ;); while(sca f(&quo ;%d%d&quo ;,&a,&b)!=2) { while (ge char()!=' '); pri f(&quo ;Все- таки стоит здесь что- нибудь ввести (от a до b) &quo ;); } pri f(&quo ; Планеты открытые в таком диапозоне(с %d до %d года): &quo ;,a,b); pri f(&quo ;│Номер │ Название │ Когда │ Кто открыл │ Кол-во │ &quo ;); pri f(&quo ;│ стр. │ планеты │ открыли │ планету │ спутников │ &quo ;); while(pla->prev) { if((ayear)&&(b>=pla->year)) { pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); l ;i ; } pla=pla->prev; } if((ayear)&&(b>=pla->year)) { pri f(&quo ;│ %5d │ %18s │ %12u │ %15s │ %11u │ &quo ;,i,pla-> amepl, pla->year,pla->people,pla->spu ik); l ;i ; } pri f(&quo ; Найдено %d планет. &quo ;,l); pu s(&quo ; Поиск по годам открытия планет завершен. Продолжить?(y- да)&quo ;); fflush(s di ); ch=ge ch(); } while(ch=='y'); }void klear(PL pla) //Функция очистки памяти { PL plr; if (pla) { if (pla->prev) { plr=pla->prev; while (plr->prev) { free(plr-> ex ); plr=plr->prev; } } else plr=pla; free(plr); } }char f ame() //Функция ввода имени файла { char ; =(char )malloc(80 sizeof(char)); cpri f(&quo ;Введите имя файла: &quo ;); fflush(s di ); sca f(&quo ;%79s&quo ;, ); re ur ; }i save1(PL pla,char file ame) //Функция, сохраняющая данные { FILE fp; if((fp=fope (file ame,&quo ;w&quo ;))== ULL) re ur 0; while(pla) { fpri f(fp,&quo ;%s %d %s %d &quo ;, pla-> amepl,pla->year,pla->people,pla->spu ik); pla=pla->prev; } fclose(fp); re ur 1; }i save(PL pla) //Функция для сохранения данных { char ame; wi dow(1,1,79,25); clrscr(); ame=f ame(); if (save1(pla, ame)==1) re ur 1; cpri f(&quo ; Невозможно произвести запись!!!&quo ;); sove (&quo ;Ошибка!!! Нажмите любую кнопку&quo ;); ge ch(); re ur 0; }PL load(PL pla) //Функция загрузки данных из файла { char c, ame; i i; PL pla = ULL, pla e= ULL; FILE fp; wi dow(1,1,79,25); clrscr(); ame=f ame(); cpri f(&quo ;Осуществлять чтение? (y-Да , -Нет) &quo ;); do c=ge ch(); while((c!='y')&&(c!=' ')); if (c==' ') re ur (pla); if((fp=fope ( ame,&quo ;r &quo ;))== ULL) { klear(pla); cpri f(&quo ; Ошибка при открытии файла!!!&quo ;); sove (&quo ;Ошибка!!! Нажмите любую кнопку&quo ;); ge ch(); re ur ( ULL); } pla e=(PL )malloc(sizeof(PL)); while (fsca f(fp,&quo ;%s %d %s %d &quo ;, { pla e->prev= ULL; pla e-> ex =pla ; if (pla != ULL) pla ->prev=pla e; pla =pla e; pla e=(PL )malloc(sizeof(PL)); } free(pla e); if (pla != ULL) { while(pla -> ex ) pla =pla -> ex ; } fclose(fp); klear(pla); re ur (pla ); } / Функция сортировки по алфавиту / PL sor (PL pla) { PL poi , mp= ULL, f, s; i i,j,srav; //Указатель на начало f=pla; poi =pla; while(f!= ULL) { s=f-> ex ; while(s!= ULL) { if((s rcmp(f-> amepl,s-> amepl)>0)) { mp=(PL )malloc(sizeof(PL)); s rcpy( mp-> amepl,f-> amepl); mp->year=f->year; s rcpy( mp->people,f->people); mp->spu ik,f->spu ik; // s rcpy(f-> amepl,s-> amepl); f->year=s->year; s rcpy(f->people,s->people); f->spu ik=s->spu ik; // s rcpy(s-> amepl, mp-> amepl); s->year= mp->year; s rcpy(s->people, mp->people); s->spu ik= mp->spu ik; free( mp); } s=s-> ex ; } s rcpy(poi -> amepl,f-> amepl); poi ->year=f->year; s rcpy(poi ->people,f->people); poi ->spu ik=f->spu ik; poi =poi -> ex ; f=f-> ex ; } poi =pla; re ur (poi ); }void mai () { char ccc,hhh,ch; i i; PL pla e = ULL; pla e ->prev=pla e -> ex = ULL; se cursor ype( OCURSOR); ex color(10); me u1(); do { do { fflush(s di ); swi ch(ccc=ge ch()) { case '1': { clrscr(); pri f(&quo ; Рекомендации пользователю : &quo ; &quo ;Эта программа- это подобие электронной базы данных.
Программа работает, &quo ; &quo ; используя массивы в памяти ЭВМ для хранения информации введенной пользователем.&quo ; &quo ; Данные могут вводиться с клавиатуры или загружаться из файла.&quo ; &quo ;Также можно вывестина экран всю картотеку или же просматривать картотеку по карточкам,&quo ; &quo ; с возмож- ностью добавления или удаления некоторых карточек по выбору.&quo ; &quo ; Программа имеет хороший интерфейс и показывает устойчивую работу.&quo ; &quo ; В программе имеется поиск элементов по заданным условиям, а также сортировка планет по названиям.&quo ; &quo ; В программе есть главное меню и подменю для поиска планет по некоторым признакам.&quo ; &quo ; Желательно, чтобы данные были точные, корректно записанные и касающиеся&quo ; &quo ; непосредственно темы данной лабораторной работы.&quo ;); pu s(&quo ; Для перехода в главное меню нажмите любую клавишу.&quo ;); ge ch(); me u1(); break; } case '2': { free(pla e ); pla e = ULL; pla e ->prev=pla e -> ex = ULL; clrscr(); pu s(&quo ;Это новая база данных?(да-y/ нет- ) &quo ;); do { fflush(s di );sca f (&quo ;%c&quo ;, &ch); pri f (&quo ; Введите символ(да- y / нет- ) &quo ;); } while (ch!=' ' && ch!='y'&& ch!='Y'&& ch!=' '); if (ch=='y' ch=='Y') { clrscr(); pla e =vvodall(); clrscr(); pu s(&quo ; Записать в файл (да-y/нет- )?&quo ;); do { fflush(s di ); sca f (&quo ;%c&quo ;, &ch); pri f (&quo ;Введите символ(да- y / нет- ) &quo ;); } while (ch!=' ' && ch!='y'&& ch!='Y'&& ch!=' '); if (ch=='Y' ch=='y') { save(pla e ); pu s(&quo ; Запись данных закончена! Нажмите любую клавишу.&quo ;); ge ch(); } } else pla e =load(pla e ); me u1(); co i ue; } case '3': { if(pla e != ULL) { clrscr(); vivodall(pla e ); me u1(); co i ue; } break; } case '4': { free(pla e ); pla e =korrek (pla e ); me u1(); break; } case '5': { if(pla e != ULL) { clrscr(); me u2(); swi ch(hhh=ge ch()) { case '1': { poisk1(pla e ); me u1(); co i ue; } case '2': { poisk2(pla e ); me u1(); co i ue; } defaul : me u1(); } me u1(); co i ue; } break; } case '6': { if(pla e != ULL) { clrscr(); i=5; pu s(&quo ; Идет сортировка по названию планеты.&quo ;); while(i
Вместе с тем по-прежнему далеки от реализации другие прогнозы из того же романа: это и окончательная победа над раком, гриппом и обычным кариесом, и замена умозрительного психоанализа точной наукой – «оперативной психологией» (позволяющей лечить душевные недуги с той же эффективностью, с какой сегодняшняя медицина справляется с телесными), и освоение ближайших планет Солнечной системы. Наступление реального 2001 года вызвало в прессе волну ревизии всего, что прогнозировал Кларк в «2001: космическая одиссея». Среди самых впечатляющих и хотя бы частично воплощенных предсказаний отмечены следующие: космические «челноки», ионный двигатель, орбитальная станция, видеофоны и портативные компьютеры-блокноты (notepads) с функциями электронной почты. «Челноки» давно превратились в обыденную реальность. Ионный двигатель был испытан НАСА в 1998 году при запуске спутника Deep Space One. Находится в стадии строительства и большая орбитальная станция (если ее будущее сегодня и представляется туманным, виной тому проблемы не технические, а финансовые), хотя и поскромнее той, что в фильме
1. Существует ли ... тринадцатая планета Солнечной системы!
3. Земля - планета Солнечной системы
4. Земля как планета солнечной системы. Проблемы целостного освоения Земли
9. Происхождение и развитие солнечной системы
10. Солнечная система в центре внимания науки
13. Происхождение солнечной системы
15. Некоторые обобщения по солнечной системе
16. Современные представления о солнечной системе
17. Бинарная структура Солнечной системы
18. Законы движения небесных тел и строение Солнечной системы
19. Малые тела солнечной системы
20. Происхождение солнечной системы
25. Где находится граница солнечной системы
27. Происхождение Солнечной системы
28. Современные представления об образовании Солнечной системы
31. Сообщения о Солнечной системе
32. Солнечный ветер, особенности межпланетного пространства (Солнце – Планеты)
33. Разработка информационно-справочной системы "Картотека ГАИ" /Prolog/
34. Солнечный ветер, особенности межпланетного пространства (Солнце – Планеты)
35. Электронные системы расчетов: розничные банковские услуги
36. Система электронных расчетов. Учет операций по электронным платежам
37. Системы обработки и хранения корпоративной электронной почты
42. "Дело" - система автоматизации делопроизводства и электронного документооборота
43. Методы и средства цифровой коррекции изображения в оптико-электронных системах визуализации
44. Энергетический расчет оптико-электронной системы сканирующего пеленгатора
45. Система электронных логистических стандартов
46. Информационные системы электронного маркетинга в Интернете
47. Денежные системы и их развитие в процессе формирования электронной финансовой системы РК
48. Системы электронных платежей PayCash, Яндекс.Деньги, MoneyMail
50. Планета Венера
52. Планеты-гиганты
53. Планеты гиганты
57. Планета Земля
58. Солнечный ветер
59. Планета Сатурн
60. Плутон-планета или астероид?
62. Спуск и посадка космических аппаратов на планете без атмосферы
63. Тросовые системы в космосе
65. Анализ устойчивости и поддержание орбитальной структуры космической системы связи
66. Пространственная ориентация живых организмов посредством зрительной сенсорной системы
67. Система HLA и инфекционные заболевания
68. Анатомия и физиология пищеварительной системы человека
69. Бактериальная система секреции белков первого типа
73. Транспортная система Украины
74. Геодезические опорные сети. Упрощенное уравнивание центральной системы
75. Расчет показателей разработки элемента трехрядной системы
76. Банковская система Франции
77. Изменения, произошедшие в финансовой системе России, в переходе к рыночной экономике
81. Налоговая система РФ на современном этапе
82. Необходимость государственного регулирования экономики в рыночных системах
83. Проблемы и перспективы развития денежной системы России
84. Система неналоговых платежей и сборов в Украине
85. Планирование в системе государственного управления
89. Доходы бюджетной системы Российской Федерации
90. Задачи, основные функции и система ОВД
91. Становление системы социальной защиты государственных служащих в Российской Федерации
92. Природа и система административного права
93. Место обязательственного права в системе гражданского права
94. Система юридических лиц в гражданских правоотношениях
95. Письменные доказательства в системе доказательств гражданского процесса
96. Правовые системы современности. Мусульманское право
97. Возникновение и система развития права Канады
98. Развитие общего понятия и системы преступлений от Русской Правды к Судебнику 1497 г. (Контрольная)
99. Изменение системы государственного управления народным хозяйством в 1957г.