РефератыИнформатика, программированиеЭлЭлектронная картотека планет солнечной системы

Электронная картотека планет солнечной системы

Текст программы:


 


#include<alloc.h>


#include<conio.h>


#include<dos.h>


#include <stdio.h>


#include <string.h>


 


struct PL                     //Задание структурных
переменных


       {


        char namepl[18];


        int year;


        char people[15];


        unsigned int sputnik;


        PL *prev;


        PL *next;


       };


 


void
menu1()
                    //Функция главного меню


{


 clrscr();


 printf("nt╓────────────────────────────────────────────────────────────╖n");


 printf( 
"t║                                                           
║  ");


 puts(  "nt║     К А Р Т О Т Е К А   П Л
А Н Е Т                        ║n");


        " t ║tt               С О Л Н Е
Ч Н О Й   С И С Т Е М Ы        ║  ");


 puts(   
"t╙────────────────────────────────────────────────────────────╜
  ");


 puts("ntt          Главное меню :n");


 puts("tt  1- Рекомендации
пользователю.");


 puts("tt  2- Ввод данных.");


 puts("tt  3- Вывод всех данных.");


 puts("tt  4- Просмотр, удаление,
добавление.");


 puts("tt  5- Вывод данных по определенному
признаку.");


 puts("tt  6- Сортировка.");


 puts("tt  7- Выход.");


}


 


void
menu2()
               //Меню поиска элементов


{


 puts("nnnnttt         Меню
поиска:n");


 puts("ttt 1- Вывод по названию
планеты.");


 puts("ttt 2- Вывод по году  открытия.");


 puts("nnnnnnnnnnnnnnnt      Для
выхода в главное меню нажмите любую клавишу.");


}

void sovet(char *s)        
//
Функция подсказки


{


 window(1,25,79,25);


 textcolor(GREEN+BLUE);


 textbackground(WHITE+YELLOW);



 clrscr();


 cprintf(" %s",s);


 textcolor(10);


 window(1,1,79,25);


 textbackground(0);


}


 


void
vvod(PL *pla)
             //Функция ввода структуры


{


 do


   {


    clrscr();


    puts("Введите имя планеты :");


    fflush(stdin);


    gets(pla->namepl);


   }


 while(strlen(pla->namepl)>18);


    do


      {


       puts("Год открытия планеты :");


       scanf("%d",&(pla->year));


      }


    while((pla->year)<-30000 ||
(pla->year)>30000);


    do


      {


       puts("Кто открыл планету :");


       fflush(stdin);


       gets(pla->people);


      }


    while(strlen(pla->people)>15);


    do


      {


       puts("Сколько спутников ?");


       scanf("%d",&(pla->sputnik));


      }


    while(((pla->sputnik)<0) ||
((pla->sputnik)>999));


}


 


PL*
vvodall()
              //Функция ввода структур


{


 PL *playn, *pla;


 clrscr();


 sovet("Введите параметры планеты");


 pla=(PL*)malloc(sizeof(PL));


 vvod(pla);


 playn=pla;


 pla->next=NULL;


 sovet("Для
дальнейщего ввода нажми y, иначе любую клавишу.");



 while (getch()=='y')


   {


    clrscr();


    sovet("Введите параметры планеты");


    pla=(PL*)malloc(sizeof(PL));


    vvod(pla);


    playn->prev=pla;


    pla->next=playn;


    playn=pla;


    sovet("Для дальнейщего ввода нажми y, иначе
любую клавишу.");


   }


 pla->prev=NULL;


 while (pla->next)


 pla=pla->next;


 return(pla);


 }

void
vivodall(PL *pla)
         //Функция вывода на экран всех
структур


{


 int i=1;


 puts("nttt  В С Я    К А Р Т О Т Е К
Аn");


 printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


printf("│ Номер│   Название     
│  Когда     │  Кто  открыл  │  Кол-во   │n");


printf("│ стр. |       планеты   │   
открыли │   планету     │ спутников │n");


printf("└──────┴─────────────────┴────────────┴───────────────┴───────────┘n");


printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


 while (pla->prev)


   {


    printf("│ %5d │
%18s │ %12u │ %15s │ %11u │   ",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


    pla=pla->prev;  i++;


   }


 printf("│ %5d │
%18s │ %12u │ %15s │ %11u │   ",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


 printf("└──────┴─────────────────┴────────────┴───────────────┴───────────┘");


 gotoxy(22,24);


 puts("Вывод
закончен, нажмите любую
клавишу.");


 getch();


}


 


void
spisok(PL* pla)
           //Функция для работы со списком


{


 clrscr();


 window(17,2,62,15);


 textbackground(4);


 textcolor(15);


 clrscr();


 if (pla!=NULL)


   {


    cprintf("n");


    cprintf("%30s","ПАРАМЕТРЫ
ПЛАНЕТnn");


    gotoxy(1,wherey()+2);


    cprintf("   Название:             %s",pla->namepl);


    gotoxy(1,wherey()+2);


    cprintf("   Год
открытия:         %d",pla->year);


    gotoxy(1,wherey()+2);


    cprintf("   Кто
открыл:           %s",pla->people);


    gotoxy(1,wherey()+2);


    cprintf("   Сколько
спутников:    %d",pla->sputnik);


   }


 textbackground(2);


 sovet("Cледующая/Предыдущая планета(PgDn/PgUp)"


                  "Удаление(Del)""Добавление(Ins)""Выход(Esc)");


}


 


PL*
vvodspisok(PL* pla)   
//Функция ввода элементов списка


{


 PL* plr=pla;


 char c;


 sovet("Добавить элемент до / после
текущего(Home/End)"


                                     "Отмена(Esc)");


 do


   {


    c=getch();


/*Esc*/ if (c==27) return(pla);


      if (c==71||c==79)


        {


         clrscr();


         sovet("Введите параметры планеты");


         plr=(PL*)malloc(sizeof(PL));


         vvod(plr);


         if (pla==NULL)


           {


            plr->next=NULL;


            plr->prev=NULL;


            return(plr);


           }


/*End*/ if (c==79)


        {


         plr->next=pla->next;


         plr->prev=pla;


         pla->next=plr;


         (plr->next)->prev=plr;


        }


/*Home*/if (c==71)


        {


         plr->next=pla;


         plr->prev=pla->prev;


         pla->prev=plr;


         (plr->prev)->next=plr;


        }


      return(plr);


       }


   }


 while(1);


}


 


PL*
vozvr(PL* pla)
    //Возвращает указатель


{                          //на начало списка pla


 if (pla==NULL)


   return(pla);


 while(pla->next!=NULL)


 pla=pla->next;


 return(pla);


}


 


PL*
korrekt(PL *pla)
      //Управляющие клавиши при работе со
списком


{


 spisok(pla);


 PL* delit(PL*);


   do


     {


      switch(getch())


      {


/*PgUp*/ case 73:if(pla!=NULL)


         {


         
if(pla->prev!=NULL)pla=pla->prev;spisok(pla);


         }


         break;


/*PgDn*/ case 81:if(pla!=NULL)


         {


         
if(pla->next!=NULL)pla=pla->next;spisok(pla);


         }


         break;


 /*Del*/ case 83:if(pla!=NULL)


         {


          pla=delit(pla);


          spisok(pla);


         }


         break;


 /*Ins*/ case 82:pla=vvodspisok(pla);
spisok(pla); break;


 /*Esc*/ case 27:pla=vozvr(pla);
return(pla);


      }


   }



 while(1);


}


 


PL*
delit(PL* pla)
    //Функция удаления элементов из списка


{


 PL* plr=NULL;


 if(pla->prev!=NULL)


   {


   
(pla->prev)->next=pla->next;


    plr=pla->prev;


   }


 if(pla->next!=NULL)



   {


   
(pla->next)->prev=pla->prev;


    plr=pla->next;


   }


 free(pla);


 return(plr);


}


 


void
poisk1(PL *pla)
         //Функция поиска по названиям планет


{


 char s[15],ch;


 do


   {


    int i=1,l=0;


    clrscr();


    fflush(stdin);


    puts("Введите
интерессующее вас название планеты :");


    gets(s);


    printf("nn Планеты
с названием %s :n",s);


   
printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


printf("│Номер │  Название      
│ 
Когда     │  Кто  открыл  │  Кол-во   │n");


printf("│ стр. │       планеты  
│   
открыли │   планету     │ спутников
│n");


printf("└──────┴─────────────────┴────────────┴───────────────┴───────────┘n");


printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


    while (pla->prev)


      {


      
if(strcmpi(pla->namepl,s)==0)


       {


        printf("│ %5d
│ %18s │ %12u │ %15s │ %11u │  
",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


        l++;i++;


       }


       pla=pla->prev;


      }


    if (strcmpi(pla->namepl,s)==0)


      {


       printf("│ %5d
│ %18s │ %12u │ %15s │ %11u │  
",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


       l++;i++;      }


puts("└──────┴─────────────────┴────────────┴─────────────────┴─────────────┘");


    printf("n
Найдено %d планет.n",l);


    puts(" Поиск по названиям планет завершен.
Продолжить?(y- да)");


    fflush(stdin);


    ch=getch();


   }


 while(ch=='y');


}


 


void
poisk2(PL *pla)
      //Функция поиска по годам открытия


{


 char ch;


 do


   {


    int i=1,l=0,a,b;


    clrscr();


    fflush(stdin);


    puts("Введите
интерессующее вас границы поиска (от чего- то до чего- то) :");


    while(scanf("%d%d",&a,&b)!=2)


      {


       while (getchar()!='n');


       printf("Все-
таки стоит здесь что- нибудь ввестиn(от a до b)n");


      }



    printf("nn Планеты открытые в таком
диапозоне(с %d до %d года):n",a,b);


printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


printf("│Номер │  Название      
│ Когда      │  Кто  открыл  │  Кол-во   │n");


printf("│ стр. │       планеты  
│    открыли │    планету    │ спутников │n");


printf("└──────┴─────────────────┴────────────┴───────────────┴───────────┘n");


printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐n");


    while(pla->prev)



      {


      
if((a<=pla->year)&&(b>=pla->year))


       {


        printf("│ %5d
│ %18s │ %12u │ %15s │ %11u │   ",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


        l++;i++;


       }


       pla=pla->prev;


      }


   
if((a<=pla->year)&&(b>=pla->year))


      {


       printf("│ %5d
│ %18s │ %12u │ %15s │ %11u │  
",i,pla->namepl,


             pla->year,pla->people,pla->sputnik);


       l++;i++;


      }


   
puts("└──────┴─────────────────┴────────────┴───────────────┴───────────┘");


    printf("n
Найдено %d планет.n",l);


    puts(" Поиск по годам открытия планет
завершен. Продолжить?(y- да)");


    fflush(stdin);


    ch=getch();


   }


 while(ch=='y');


}


 


void klear(PL* pla)    //Функция
очистки памяти


{


 PL *plr;


 if (pla)


   {


    if (pla->prev)


      {


       plr=pla->prev;


       while (plr->prev)


       {


        free(plr->next);


        plr=plr->prev;


       }


      }


      else


      plr=pla;


    free(plr);


   }


}


 


char * fname()          
//
Функция ввода имени файла


{


 char *t;


 t=(char *)malloc(80*sizeof(char));


 <

b>cprintf("Введите
имя файла: n");


 fflush(stdin);


 scanf("%79s",t);


 return t;


 }


 


int save1(PL *pla,char *filename)  //Функция, сохраняющая
данные


{


 FILE *fp;


 if((fp=fopen(filename,"w"))==NULL)
return 0;


 while(pla)



   {


    fprintf(fp,"%s %d %s %d
|",


             pla->namepl,pla->year,pla->people,pla->sputnik);


    pla=pla->prev;


   }


 fclose(fp);


 return 1;


}


 


int
save(PL *pla)
          //Функция для сохранения данных


{


 char * name;


 window(1,1,79,25);


 clrscr();


 name=fname();


 if (save1(pla,name)==1) return 1;


 cprintf("nНевозможно
произвести запись!!!");


 sovet("Ошибка!!!  Нажмите любую кнопку");


 getch();


 return 0;


}


 


PL
*load(PL *pla)
         //Функция загрузки данных из файла


{


 char c,*name;


 int i;



 PL *plan=NULL,*plane=NULL;


 FILE *fp;


 window(1,1,79,25);


 clrscr();


 name=fname();


 cprintf("Осуществлять
чтение?  (y-Да , n-Нет)n");


 do


   c=getch();


 while((c!='y')&&(c!='n'));


 if (c=='n') return (pla);


 if((fp=fopen(name,"rt"))==NULL)


   {


    klear(pla);


    cprintf("nОшибка
при открытии файла!!!");


    sovet("Ошибка!!! 
Нажмите любую кнопку");


    getch();


    return (NULL);


   }


 plane=(PL*)malloc(sizeof(PL));


 while (fscanf(fp,"%s %d %s %d
|",


       
plane->namepl,&(plane->year),plane->people,&(plane->sputnik))==4)


   {


    plane->prev=NULL;


    plane->next=plan;


    if (plan!=NULL)
plan->prev=plane;


    plan=plane;


    plane=(PL*)malloc(sizeof(PL));


   }


 free(plane);


 if (plan!=NULL)


   {


    while(plan->next)


      plan=plan->next;


   }


 fclose(fp);


 klear(pla);


 return (plan);


}


 


  /*Функция сортировки по алфавиту*/


  PL *sort(PL *pla)


   {


    PL *point,*tmp=NULL,*f,*s;


    int i,j,srav;


 


    //Указатель на
начало


    f=pla;


    point=pla;


 


    while(f!=NULL)


     {


      s=f->next;


      while(s!=NULL)


      {


       if((strcmp(f->namepl,s->namepl)>0))


       { tmp=(PL*)malloc(sizeof(PL));


       strcpy(tmp->namepl,f->namepl);


       tmp->year=f->year;


       strcpy(tmp->people,f->people);


       tmp->sputnik,f->sputnik;


       //


       strcpy(f->namepl,s->namepl);


       f->year=s->year;


       strcpy(f->people,s->people);


       f->sputnik=s->sputnik;


       //


       strcpy(s->namepl,tmp->namepl);


       s->year=tmp->year;


       strcpy(s->people,tmp->people);


       s->sputnik=tmp->sputnik;


      free(tmp);


       }


      s=s->next;


       }


    
strcpy(point->namepl,f->namepl);


     point->year=f->year;


    
strcpy(point->people,f->people);


     point->sputnik=f->sputnik;


     point=point->next;


     f=f->next;


     }


  point=pla;


  return(point);


 }

void main()


{


 char ccc,hhh,ch;


 int i;


 PL* planet=NULL;


 planet->prev=planet->next=NULL;


 _setcursortype(_NOCURSOR);


 textcolor(10);


 menu1();


 do


   {


    do


      {


       fflush(stdin);


       switch(ccc=getch())


       {


        case '1':


             {


              clrscr();


              printf("ttt 
Рекомендации пользователю :nn"


              "Эта
программа- это подобие электронной базы данных. Программа работает, "


"nиспользуя массивы
в памяти ЭВМ для хранения информации введенной пользователем."


"nДанные могут
вводиться с клавиатуры или загружаться из файла."


"Также можно
вывестина экран всю картотеку или же просматривать картотеку по
карточкам,"


" с  возмож-   ностью
добавления или удаления некоторых карточек по выбору."


" Программа  имеет 
хороший  интерфейс и показывает устойчивую работу."


" В программе 
имеется  поиск  элементов  по  заданным  условиям,  а  также сортировка планет
по названиям."


" В  программе есть
главное меню и подменю для поиска планет по некоторым признакам."


" Желательно, чтобы
данные были точные, корректно записанные и касающиеся"


"n             
непосредственно темы данной лабораторной работы.");


puts("nnnnnttДля
перехода в главное меню нажмите любую клавишу...");


              getch();



              menu1();


              break;


             }


        case '2':


             {


              free(planet);


              planet=NULL;


             
planet->prev=planet->next=NULL;


              clrscr();


              puts("Это новая база данных?(да-y/
нет-n) ");


              do


               {


                fflush(stdin);scanf
("%c", &ch);



printf
("tВведите символ(да- y / нет- n) ");


               }


              while (ch!='n'
&& ch!='y'&& ch!='Y'&& ch!='N');


              if (ch=='y'|| ch=='Y')


                {


                 clrscr();


                 planet=vvodall();


                 clrscr();


                 puts("nnЗаписать в файл
(да-y/нет-n)?");


                 do


                   {


                  fflush(stdin);


                  scanf
("%c", &ch);


                  printf
("Введите символ(да- y / нет- n)n ");


                   }


                 while (ch!='n'
&& ch!='y'&& ch!='Y'&& ch!='N');


                 if (ch=='Y'||
ch=='y')


                   {


                  save(planet);


                  puts("nnnnntt Запись данных закончена! Нажмите любую
клавишу.");


                  getch();


                   }


                }


             else


                 planet=load(planet);


                 menu1();


                 continue;


             }


        case '3':


             {


              if(planet!=NULL)


                {


                 clrscr();


                 vivodall(planet);


                 menu1();


                 continue;


                }


              break;


             }


        case '4':


             {


              free(planet);


              planet=korrekt(planet);


              menu1();


              break;


             }


        case '5':


             {


              if(planet!=NULL)


                {


                 clrscr();


                 menu2();


                 switch(hhh=getch())


                   {


                  case '1':


                       {


                       
poisk1(planet);


                        menu1();


                        continue;


                       }


                  case '2':


                       {


                       
poisk2(planet);


                        menu1();


                        continue;


                       }


                  default :  menu1();


                   }


                 menu1();


                 continue;


                }


              break;


             }


        case '6':


             {


              if(planet!=NULL)


                {


                 clrscr();


                 i=5;


                 puts("nnnntt  Идет
сортировка по названию планеты.");


                 while(i<70)


                   {


                  gotoxy(i,10);


                  puts("*");


                  delay(60);


                  i++;


                   }


                 planet=sort(planet);


                 puts("Сортировка
по названиям планет прошла успешно!
");


                 delay(2000);


                 clrscr();


                 vivodall(planet);


                 menu1();


                 continue;


                }


              break;


             }


        case '7':


             {


              free(planet);


              break;


             }


        default : ccc=0;


       }


      }


    while(!ccc);


   }


 while(ccc!='7');}

Министерство
образования РФ


Санкт-
Петербургский государственный электротехнический университет


Кафедра ВТ

Пояснительная записка


К курсовой работе по дисциплине


«Основы алгоритмизации и программирование»


 


II семестр


 


Тема : «Электронная картотека»

Выполнил :
Урывский Ю.В.


   Факультет :
КТИ


Группа :9371


Проверила
:Сискович Т.И.                       


         

Санкт-
Петербург


2000


Задание :


    


 


Создание электронной картотеки, хранящейся на диске, и программы, обеспечивающей
взаимодействие с ней.


Программа должна выполнять следующие действия:


- занесение данных в электронную картотеку;


- внесение изменений (добавление, исключение);


-     
поиск данных по признаку, вывод
их на экран.


 


Выбор подлежащих выполнению действий должен быть реализован с помощью
меню и подменю.


Задача должна быть структурирована и отдельные части должны быть
оформлены как функции.


Исходные данные должны вводиться с клавиатуры.


В процессе обработки картотека должна храниться в памяти ЭВМ в виде
связанного списка.


Необходимо предусмотреть возможность сохранения выбранных записей в
файле, задаваемом пользователем.


Программа должна иметь дружественный интерфейс и обеспечивать
устойчивую работу при случайном нажатии на клавишу.


Все детали выполнения работы должны быть согласованы с преподавателем.

Контрольные примеры:

При запуске программы
перед нами появляется меню, состоящее из 7 пунктов.


 


1.
Рекомендации пользователю.


2.
Ввод данных.


3.
Вывод всех данных.


4.
Просмотр, удаление,
добавление.


5.
Поиск данных по определенному
признаку.


6.
Сортировка.


7.
Выход.


 


Чтобы познакомиться с программой нужно зайти в пункт №1. Здесь имеется
краткое описание того, что программа умеет делать.


Пока мы не введем данные через пункт №2, все остальные пункты, кроме 1
и 7, будут не активными. Поэтому заходим в пункт №2.


  Здесь сразу же появляется запрос: «Это будет новая картотека?» Если
да, то создается новая картотека, или можно загрузить ее из файла.


  Наконец данные введены и можно переходить к другим пунктам.


  Чтобы просмотреть все, что было введено воспользуемся пунктом №3. Для
выхода в главное меню нужно нажать любую клавишу.


   С помощью пункта №4 мы
можем пролистать всю нашу картотеку. Плюс к этому мы можем добавлять или
удалять элементы из списка. А делать это довольно просто, если следовать
подсказкам, появляющимся в нижней части экрана.


   Щелкнув цифру 5,
открываем подменю поиска элементов.


1.  Поиск по названию
планеты.


2.  Поиск по годам
открытия.


 


Если хотим найти например
планету Венера, то выбираем пункт №1, вводим слово Венера и либо получаем
информация о такой планете (если такая планета есть в базе данных), либо не
получаем информации о такой планете (если такая планета не занесена в базу
данных).


В пункте №6 мы можем
отсортировать картотеку по названиям планет.


Выход из программы осуществляется
через пункт №7.

Описание структур данных:


 


 struct PL                    
//структура PL


      {


       char namepl[18];             //Названия планет


       int year;                    //Когда была открыта  


       char people[15];             //Кем была открыта 


       unsigned int sputnik;       
//Сколько спутников имеет


  PL *prev;                   
//Указатель на предыдущий  элемент списка


PL *next;                    //Указатель на последующий
элемент списка


      };

Спецификация функций:


 


-     
Void menu1(); - функция главного меню


 


    
Menu1();

-     
Void menu2(); - функция подменю поиска


         Menu2();

-     
void
sovet(char *s)

-     
void
vvod(PL *pla)


 


 


 


 


 


 


 


-     
PL*
vvodall()


 


 


 


 


 


 


 


-     
void
vivodall(PL *pla)


 


 


 


 


 


 


 


 


-     
void
spisok(PL* pla)


 


 


 


 


 


-     
PL*
vvodspisok(PL* pla)


 


 


 


 


 


 


 


-     
PL*
vozvr(PL* pla)


 


 


 


 


 


 


 


 


-     
PL*
korrekt(PL *pla)


 


 


 


 


 


 


 


-     
PL*
delit(PL* pla)


 


 


 


 


 


 


 


-     
void
poisk1(PL *pla)


 


 


 


 


 


 


 


-     
void
poisk2(PL *pla)


 


 


 


 


 


 


 


-     
void
klear(PL* pla)


 


 


-     
char
* fname()


 


 


 


 


 


 


 


-     
int
save1(PL *pla,char *filename)


 


 


 


 


 


 


 


 


-     
int
save(PL *pla)


 


 


 


 


 


 


 


-     
PL
*load(PL *pla)


 


 


 


 


 


 


 


 


-     
PL
*sort(PL *pla)

Инструкция пользователю:


 


Запускаете программу. Появляется меню перед вами. Если хотите немножко
ознакомиться с программой, то почитайте рекомендации (пункт №1). Вводите данные
через пункт №2. Здесь вы можете ввести данные либо с клавиатуры, либо загрузить
их из файла. Чтобы просмотреть все что вы ввели или загрузили воспользуйтесь
пунктом №3 главного меню. А если вы хотите просмотреть все карточки по-
порядку, то вам непременно нужно будет зайти в пункт №4. Здесь вы сможете
просмотреть все карточки, удалить какую- либо из них (или все), а также
добавить карточки, воспользовавшись вспомогательными клавишами и следуя
указаниям, появляющимся в нижней части экрана.


Найти какую- нибудь карточку вам поможет пункт №5. В нем имеется два
вида поиска: по названиям планет, или по году открытия той или иной планеты.


В пункте №6 происходит сортировка карточек по названиям планет.


Выход из программы осуществляется через пункт №7.   

Заключение:


 


В ходе проделанной работы мной были освоены структурные типы данных. Я
научился работать с файлами, т.е. делать такме вещи как открытие, закрытие
файла, запись в файл данных. Также была освоена работа со списками. Это такие
операции как ввод элементов, удаление какого- нибудь элемента из списка или
добавление элементов в связанный список.

Содержание:

 


 


 


 


 


 


 


 


 


 

 


 


 


 


 


 


 


 


 


 


 


 


 

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Электронная картотека планет солнечной системы

Слов:2811
Символов:51798
Размер:101.17 Кб.