Структурный шаблон, динамический массив

Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 05:37, курсовая работа

Краткое описание

C++–компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков.
В сравнении с его предшественником – языком C, – наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ – как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

Содержание

Введение

5
1 Теоретические основы

8
2 Описание алгоритма программы

14
3 Описание основных функций и переменных программы

19
4 Тестирование программы

20
5 Руководство пользователя

23
Заключение

24
Библиографический список

25

Прикрепленные файлы: 1 файл

пояснительная записка норм исправ дуб 2 33.docx

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

2   Павловская, Т.А.  Программирование на языке высокого уровня – СПб.: Питер, 2006. – 461 с.: ил.

3 М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями. : пер. с англ. - Москва: Мир, 2007.  – 450 с.

4 Форум программистов и сисадминов CyberForum.ru: [Электронный ресурс]. – Режим доступа : http://www.cyberforum.ru/cpp/. – 16.12.2010.

 

Приложение А. Листинг программы

#include<iostream.h>

#include<stdlib.h>

#include<windows.h>

#include<stdio.h>

#include<string.h>

#include<algorithm>

 

using namespace std;

 

////////////////////////////////////////////////////////////////////////////////

#definecsystem("cls") //чистимэкранприпомощи "c"

 

struct birth_date //структура даты рождения

{int d, m, y;};

 

struct men //структура всех данных

{

       char surname[30];

       char name[25];

       birth_date dat;

       char sex[1];

       float hight;

};

bool comp(men, men);

int minidata(birth_date, birth_date);

 

////////////////////////////////////////////////////////////////////////////////

int main()

{

SetConsoleOutputCP(1251);

SetConsoleCP(1251);

////////////////////////////////////////////////////////////////////////////////

int youngest_woman_no;

int t=0,l=120,s=0,e=0,d=0,N,q,k,i;

 

float higt,symm=0;

int min;

float data=0,mdata=0;

int r[99];

 

////////////////////////////////////////////////////////////////////////////////

cout<<"введите количество человек"<<endl;

cin>>N;

c;

////////////////////////////////////////////////////////////////////////////////

 

birth_date mini;

men* people = new men[N];

////////////////////////////////////////////////////////////////////////////////

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

{

  printf("Введитефамилию: \n");                                                     

      scanf("%s", people[i].surname);

  printf("Введитеимя: \n");                                                     

      scanf("%s", people[i].name);

 

printf("Введите день  рождения : \n");

 

for(q=0;q<100;q++)

        {scanf("%d", &people[i].dat.d);

if(people[i].dat.d>30)  printf("неверно введен  день, введите снова \n");

          else break;}

      printf("Введите месяц  рождения : \n");

 

for(q=0;q<100;q++)

         {scanf("%d", &people[i].dat.m);

           if (people[i].dat.m>12)  printf("неверновведенмесяц, введитеснова \n");

else break;}

 

      printf("Введите год  рождения : \n");

 

for(q=0;q<100;q++)

         {scanf("%d", &people[i].dat.y);

           if (people[i].dat.y<1930 || people[i].dat.y>2012 ) printf("неверновведенгод, введитеснова \n");

            else break;}

 

      printf("рост: \n");

 

        for(q=0;q<100;q++)

         {scanf("%f", &people[i].hight);

if(people[i].hight>250) printf("слишком большой  рост, введите снова \n");

else if(people[i].hight<50) printf("слишкоммаленькийрост, введитеснова \n");

             else break;}

printf("пол м или ж: \n");

 

scanf("%s", people[i].sex);

 

c; //отчистка экрана

 

      }

////////////////////////////////////////////////////////////////////////////////

cout<<"**1. Вывести перечень**"<<endl;

cout<<"**2. Отсортировать фамилии  по алфавиту**"<<endl;

cout<<"**3. Вывести данные о  мужчинах**"<<endl;

cout<<"**4. Вывести данные о  женщинах**"<<endl;

cout<<"**5. вывести средний рост  мужчины**"<<endl;

cout<<"**6. вывести имя самой  молодой девушки, чей рост выше  среднего роста мужчины**"<<endl;

cout<<"**7. выход из программы**"<<endl;

cout<<"Введите номер операции"<<endl;

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

          {cin>>k;

if (k>8) cout<<"неверно введена  операция "<<endl;

else break;

           }

cout<<endl;

while(s<100)

{if (k<8){

           switch(k){

          //////////////////////////////////////////////////////////////////////

         case 1:

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

         {cout<<people[i].surname<<" "<<people[i].name<<" рост  "<<people[i].hight<<"  Датарождения:"<<people[i].dat.y<<"."<<people[i].dat.m<<"."<<people[i].dat.d<<". пол "<<people[i].sex<<" "<<endl;};              

          s=s+1;

          cout<<"ещеоперации"<<endl;

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

{

cin>>k;

          if (k>8) cout<<"неверно введена операция "<<endl;

else break;

          }

             break;

          //////////////////////////////////////////////////////////////////////   

         case 2:

              std::sort(people, people+N,comp);

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

         {

         cout<<people[i].surname<<" "<<people[i].name<<" рост  "<<people[i].hight<<"  Датарождения:"<<people[i].dat.y<<"."<<people[i].dat.m<<"."<<people[i].dat.d<<". пол "<<people[i].sex<<" "<<endl;};    

 

         s=s+1;cout<<"ещеоперации"<<endl;

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

{cin>>k;

          if (k>8) cout<<"неверно введена операция "<<endl;

else break;}

              break;

          //////////////////////////////////////////////////////////////////////   

         case 3:

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

 

             {if (people[i].sex[0]=='м')

             {

             cout<<people[i].surname<<" "<<people[i].name<<" рост  "<<people[i].hight<<"  Датарождения:"<<people[i].dat.y<<"."<<people[i].dat.m<<"."<<people[i].dat.d<<". пол "<<people[i].sex<<" "<<endl;e++;}

}

              if (e==0) cout<<"мужчин нет в списке"<<endl;

s=s+1;cout<<"ещеоперации"<<endl;

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

{

          cin>>k;

           if (k>8) cout<<"неверно введена операция "<<endl;

else break;

          }

              break;

          //////////////////////////////////////////////////////////////////////   

         case 4:

              e=0;

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

              {

                  if (people[i].sex[0]=='ж') {cout<<people[i].surname<<" "<<people[i].name<<" рост  "<<people[i].hight<<"  Датарождения:"<<people[i].dat.y<<"."<<people[i].dat.m<<"."<<people[i].dat.d<<". пол "<<people[i].sex<<" "<<endl;e++;}

 

}

              if (e==0) cout<<"женщин нет в списке"<<endl;  

s=s+1;

              cout<<"ещеоперации"<<endl;

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

{

cin>>k;

             if (k>8) cout<<"неверно введена операция "<<endl;

else break;

              }

              break; 

           /////////////////////////////////////////////////////////////////////

         case 5:

              t=0;

              higt=0;

              symm=0;

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

               {if (people[i].sex[0]=='м') {symm+=people[i].hight;t++;}

                }

               higt=symm/t;

               if(t==0)cout<<"мзжчиннетвсписке"<<endl;

else cout<<"средний рост мужчины  "<<higt<<endl;

s=s+1;cout<<"ещеоперации"<<endl;

         higt=0;

         symm=0;

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

{cin>>k;

if (k>8) cout<<"неверно введена  операция "<<endl;

else break;}

         break;

          //////////////////////////////////////////////////////////////////////

          case 6:

                t=0;

                higt=0;

                symm=0;

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

               {if (people[i].sex[0]=='м') {symm+=people[i].hight;t++;} }

               higt=symm/t;

               t=0;

   for(i=0;i<N;i++) {

     if (people[i].sex[0] == 'ж') {

     youngest_woman_no = i;

     break;

   }

}

 

for (i=youngest_woman_no+1; i<N; i++) {

  if (

       people[i].sex[0]=='ж'

&& people[i].hight>higt

&& minidata(people[i].dat, people[youngest_woman_no].dat)

       )

       {

    youngest_woman_no = i;

     d++;

       }

}

   if (d>0){cout <<people[youngest_woman_no].name<<" "<<people[youngest_woman_no].surname<<endl;}

else cout<<"таких женщин нет"<<endl;

 

s=s+1;

         cout<<"ещеоперации"<<endl;

higt=0;

symm=0;

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

{cin>>k;

          if (k>8) cout<<"неверно введена операция "<<endl;

else break;}

         break;

           /////////////////////////////////////////////////////////////////////

          case 7:return(0)  ; 

         }

 

         } 

}

 

system("pause");

}

bool comp(men a, men b)

     if (strcmp(a.surname, b.surname)>=0) return 0;

           else return 1;

}

int minidata(birth_date a, birth_date b)

{if(a.y*10000+a.m*100+a.d>b.y*10000+b.m*100+b.d)return 1;

else return 0;

}

 


Информация о работе Структурный шаблон, динамический массив