Разработка и реализация программы на языке С++ с использованием класса статистических массивов структур и текстовой базы данных «METRO»

Автор работы: Пользователь скрыл имя, 07 Июля 2011 в 10:18, курсовая работа

Описание

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

Содержание

1) Цель работы и постановка задачи……………………………………….4
2) Руководство программиста 5
3) Блок-схемы алгоритма 6-10
5) Тестирование программы 11-15
6) Заключение 16
7) Список используемой литературы 17
8) Приложение: Листинг программы……………………………….….18-22

Работа состоит из  1 файл

кр отчет.doc

— 264.50 Кб (Скачать документ)

void mosk_metro:: sort_kol()

{int i,fl,nn;

metro t;

nn=n;

do{fl=0;nn--;

  for(i=0;i<nn;i++)

   if(x[i].kol>x[i+1].kol)

       {t=x[i];

        x[i]=x[i+1];

        x[i+1]=t;

        fl=1;}

    }while(fl==1);

} 
 

void mosk_metro:: sort_naim()

{int i,fl,nn;

metro t;

nn=n;

do {fl=0; nn--;

    for(i=0;i<nn;i++)

    if(strcmp(x[i].naim,x[i+1].naim)>0)

      {t=x[i];

      x[i]=x[i+1];

      x[i+1]=t;

      fl=1;}

   }while(fl==1);

} 
 

void mosk_metro:: poisk_naim()

{int i;

char naim[l];

cout<<"Vvedite naimenovanie stancii:"; cin>>naim;

int f=0;

  for(i=0;i<n;i++)

   if(strcmp(x[i].naim,naim)==0)

    {cout<<setw(3)<<i+1

         <<setw(16)<<setiosflags(ios::left)<<x[i].naim

         <<setw(15)<<setiosflags(ios::left)<<x[i].rl

         <<setw(13)<<setiosflags(ios::left)<<x[i].year

         <<setw(16)<<setiosflags(ios::left)<<x[i].pr

         <<setw(15)<<setiosflags(ios::left)<<x[i].kol<<endl;

          f++;

    }getch();

  if(f==0) {cout<<"Net takoi zapisi\n"; getch();}

} 

void mosk_metro:: poisk_ng()

{int i, year;

char naim[l];

cout<<"Naimenovanie: "; cin>>naim;

cout<<"God puska: "; cin>>year;

int f=0;

for (i=0;i<n;i++)

    if(strcmp(x[i].naim,naim)==0&&x[i].year==year)   

      {

       cout<<setw(3)<<i+1

          <<setw(16)<<setiosflags(ios::left)<<x[i].naim

         <<setw(15)<<setiosflags(ios::left)<<x[i].rl

         <<setw(13)<<setiosflags(ios::left)<<x[i].year

         <<setw(16)<<setiosflags(ios::left)<<x[i].pr

         <<setw(15)<<setiosflags(ios::left)<<x[i].kol<<endl;

         f++;

       } getch();

    if(f==0) {cout<<"Net takoi zapisi\n";getch();}

}      

int main()

{ mosk_metro a;

  int j;

  while(1)

   { cout<<"1. Vvod iz faila.\n";

     cout<<"2. Vivod na ekran.\n";

     cout<<"3. Sohranenie tablici metro v file.\n";

     cout<<"4. Dobavlenie zapisi.\n";

     cout<<"5. Udalenie zapisi.\n";

     cout<<"6. Sort po naimenovaniu.\n";

     cout<<"7. Sort po kolichestvu.\n";

     cout<<"8. Poisk po naimenovaniu.\n";

     cout<<"9. Poisk po naimenovaniu i godu puska.\n";

     cout<<"10. Vihod.\n\n";

     cout<<"Vash vibor (1%10):";

   cin>>j;

   switch(j)

    { case 1: a.inputfile(); break;

      case 2: a.output(); break;

      case 3: a.outputfile();break;

      case 4: a.addmetro(); break;

      case 5: a.deletemetro(); break;

      case 6: a.sort_naim();break;

      case 7: a.sort_kol();break;

      case 8: a.poisk_naim();break;

      case 9: a.poisk_ng();break;

      case 10: cout<<"Konec programmi"; getch(); exit(0);

   default:cout<<"net punkta"; getch(); break;

              }

              }

} 

     

Информация о работе Разработка и реализация программы на языке С++ с использованием класса статистических массивов структур и текстовой базы данных «METRO»