Автор работы: Пользователь скрыл имя, 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
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<<"введите количество
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. вывести имя самой
молодой девушки, чей рост
cout<<"**7. выход из программы**"<<endl;
cout<<"Введите номер операции"
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.
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.
s=s+1;cout<<"ещеоперации"<<
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.
}
if (e==0) cout<<"мужчин нет в списке"<<
s=s+1;cout<<"ещеоперации"<<
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.
}
if (e==0) cout<<"женщин нет в списке"<<
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<<"
else cout<<"средний рост мужчины "<<higt<<endl;
s=s+1;cout<<"ещеоперации"<<
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].
else cout<<"таких женщин нет"<<
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*
else return 0;
}