Алгоритм
При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 1 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество.
void five(student student1[100])
{
cout<<"\n budzhetniki:"<<endl;
int budzhet=0;
for (i=0;i<kolvo_student;i++)
{
if(student1[i].budzhet_ili_contract==1)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
budzhet++;}
}
cout<<"\n colichestvo budzhetnicow:"<<budzhet;
}
Рисунок 5-работа 5 пункта меню
4.1.6 Вывод количества контрактников
Алгоритм
При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 0 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество.
void six(student student1[100])
{
cout<<"\n kontraktnici:"<<endl;
int contract=0;
for (i=0;i<kolvo_student;i++)
{
if(student1[i].budzhet_ili_contract==0)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
contract++;
}
}
cout<<"\n colichestvo kontraktnikow:"<<contract;
}
Рисунок 6-работа 6 пункта меню
4.1.7 Вывод студентов одного года рождения
Алгоритм
Программа в данном пункте меню сравнивает поле int god_rozhdenia ; каждого элемента массива student с таким же полем следующего элемента меню. Если они равны, то выводится их фамилии имена и отчества.
void seven(student student1[100])
{
cout<<"\n spisok studentov odnogo goda rozhdenia:";
for (i=0;i<kolvo_student;i++)
{
if (student1[i].god_rozhdenia==student1[i+1].god_rozhdenia)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
cout<<student1[i+1].familia<<" "<<student1[i+1].imya<<" "<<student1[i+1].otchestvo;
cout<<endl;
}
}
}
Рисунок 7-работа 7 пункта меню
4.1.8 Поиск студента в базе и вывод полной информации о нем.
Алгоритм
Для работы данного пункта необходимо ввести фамилию, имя, отчество искомого студента. Для этого предназначены строки
char familia1[30];
char imya1[30];
char otchestvo1[30];
Далее программа сравнивает эти строки с помощью функции strcmp с элементами массива student . Если во всех трех случаях функция возвращает 0, то выводится полностью элемент массива, которым является структура с данными об одном студенте.
Иначе программа выводит сообщение об отсутствии такого студента.
void eight(student student1[100],predmety predmety1[100])
{
char familia1[30];
char imya1[30];
char otchestvo1[30];
cout<<"\n vvedite familiy stydenta :";
cin>>familia1;
cout<<"\n vvedite imya studenta:";
cin>>imya1;
cout<<"\n vvedite otchestvo studenta:";
cin>>otchestvo1;
for (i=0;i<kolvo_student;i++)
{
if ((strcmp(familia1,student1[i].familia)==0)&&(strcmp(imya1,student1[i].imya)==0)&&(strcmp(otchestvo1,student1[i].otchestvo)==0))
{
cout<<"\n familia: ";
cout<<student1[i].familia;
cout<<"\n imya:";
cout<<student1[i].imya;
cout<<"\n otchestvo:";
cout<<student1[i].otchestvo;
cout<<"\n god_rozhdenia:";
cout<<student1[i].god_rozhdenia;
cout<<"\n mesyac_rozhdenia:";
cout<<student1[i].mesyac_rozhdenia;
cout<<"\n den_roshdenia:";
cout<<student1[i].den_roshdenia;
cout<<"\n budzhet_ili_contract:";
if (student1[i].budzhet_ili_contract==1)
{ cout<<"\n budzhetnic";
}
else if (student1[i].budzhet_ili_contract==0)
{cout<<"\n contractnic";
}
cout<<"\n nomer_telefona:";
cout<<student1[i].nomer_telefona;
cout<<"\n strana:";
cout<<student1[i].strana;
cout<<"\n gorod:";
cout<<student1[i].gorod;
cout<<"\n ylica:";
cout<<student1[i].ylica;
cout<<"\n dom(chislom):";
cout<<student1[i].dom;
cout<<"\n nomer_kvartiry:";
cout<<student1[i].nomer_kvartiry;
cout<<"\n Ocenki studenta:"<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo;
cout<<endl;
for (j=0;j<kolvo_predmetov;j++)
for (k=0;k<kolvo_predmetov;k++)
{
cout<<predmety1[j].nazvanie_predmeta;
cout<<" ocenka:"<<student1[i].ball[k];
cout<<endl;
j++;
}
}
else
{
cout<<endl<<"\n takogo stydenta net v baze";
}}
}
Рисунок 8-работа 8 пункта меню
5 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ
Данная программа предназначена для создания базы данных с информацией о студентах. Программа состоит из одного файла с названием base.exe. Требования к ресурсам :
CPU 1.00 GHz
Оперативная память: 256 МБ
Операционная система: Windows 95 выше
Вывод
Программа полностью выполняет все пункты меню
Рисунок 1 –работа программы
СПИСОК ИССПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ
1. Страуструп Б. Язык программирования С++. Часть 1. — Киев: "ДиаСофт", 1993. — 264 с.
2. Страуструп Б. Язык программирования С++. Часть 2. — Киев: "ДиаСофт", 1993. — 296 с.
3. Х.М.Дейтел, П.Дж. Дейтел Как программировать на С++.- М.:ЗАО «Издательство БИНОМ», 2000 г. — 1024 с.
4. Глушаков С.В. и др. Язык программирования С++. —Харьков: Фолио, 2002. — 500 с.
ПРИЛОЖЕНИЕ А ТЕКСТ ПРОГРАММЫ
#include <iostream.h>
#include <conio.h>
#include <string.h>
int punkt;
int i,j,k;
int budzhet=0;
int contract=0;
int kolvo_predmetov;
int kolvo_student;
struct predmety
{
char nazvanie_predmeta[50];
};
struct student {
char familia [30];
char imya [30];
char otchestvo [30];
int god_rozhdenia ;
int mesyac_rozhdenia ;
int den_roshdenia;
int budzhet_ili_contract;
int nomer_telefona;
char strana[40];
char gorod[30];
char ylica[40];
int ball[100];
int dom;
int nomer_kvartiry;
int srednyi_ball;
};
student base[100];
student *student1=base;
predmety ocenki[100];
predmety *predmety1=ocenki;
float sortirovka(int ball[100], int kolvo_predmetov)
{ float sum=0;
for (int i=0;i<kolvo_predmetov;i++)
{
sum+=ball[i];
}
return sum/kolvo_predmetov;
}
void one (student student1[100])
{
for (i=0;i<kolvo_student;i++)
{
if ((base[i].srednyi_ball>=0)&&(base[i].srednyi_ball<=60))
{
cout<<"\n ---------------------------------------------------------------";
cout<<"\n studenty imeyshie sredniy ball nizhe 60:";
cout<<"\n ---------------------------------------------------------------";
cout<<endl;
cout<<student1[i].familia<<" ";
cout<<student1[i].imya<<" ";
cout<<student1[i].otchestvo<<" ";
cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl;
cout<<"\n ---------------------------------------------------------------";
}
if ((base[i].srednyi_ball>=60)&&(base[i].srednyi_ball<=75))
{
cout<<"\n ---------------------------------------------------------------";
cout<<"\n studenty imeyshie sredniy ball bolshe 60 i nizhe 75:";
cout<<"\n ---------------------------------------------------------------";
cout<<endl;
cout<<student1[i].familia<<endl;
cout<<student1[i].imya<<endl;
cout<<student1[i].otchestvo<<endl;
cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl;
cout<<"\n ---------------------------------------------------------------";
}
if ((base[i].srednyi_ball>=75)&&(base[i].srednyi_ball<=90))
{
cout<<"\n ---------------------------------------------------------------";
cout<<"\n studenty imeyshie sredniy ball bolshe 75 i nizhe 90:";
cout<<"\n ---------------------------------------------------------------";
cout<<endl;
cout<<student1[i].familia<<endl;
cout<<student1[i].imya<<endl;
cout<<student1[i].otchestvo<<endl;
cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl;
cout<<"\n ---------------------------------------------------------------";
}
if ((base[i].srednyi_ball>=90)&&(base[i].srednyi_ball<=100))
{
cout<<"\n ---------------------------------------------------------------";
cout<<"\n studenty imeyshie sredniy ball bolshe 90 nizhe 100:";
cout<<"\n ---------------------------------------------------------------";
cout<<endl;
cout<<student1[i].familia<<endl;
cout<<student1[i].imya<<endl;
cout<<student1[i].otchestvo<<endl;
cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl;
cout<<"\n ---------------------------------------------------------------";
} } k++;
}
void two(student student1[100],predmety predmety1[100])
{
char familia[30];
char imya[30];
char otchestvo[30];
cout<<"\n vvedite familiy stydenta :";
cin>>familia;
cout<<"\n vvedite imya studenta:";
cin>>imya;
cout<<"\n vvedite otchestvo studenta:";
cin>>otchestvo;
for (i=0;i<kolvo_student;i++)
{
if ((strcmp(familia,student1[i].familia)==NULL)&&(strcmp(imya,student1[i].imya)==NULL)&&(strcmp(otchestvo,student1[i].otchestvo)==NULL))
{
cout<<"\n Ocenki studenta:"<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo;
cout<<endl;
for (j=0;j<kolvo_predmetov;j++)
for (k=0;k<kolvo_predmetov;k++)
{
cout<<predmety1[j].nazvanie_predmeta;
cout<<" ocenka:"<<student1[i].ball[k];
cout<<endl;
j++;
}
}
}
}
void three(student student1[100])
{
int inogorodnie=0;
char gorod[20];
cout<<"\n vvedite nazvani goroda gde naxoditsya instityt:";
cin>>gorod;
cout<<"\n inogorodnie studenty:";
for (i=0;i<kolvo_student;i++)
{
if (strcmp(gorod,student1[i].gorod)!=0)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
inogorodnie++;
}
}
cout<<"\n colichestvo inogorodnyx stydentov:"<<inogorodnie;
}
void four(student student1[100])
{
int gorodskie=0;
char gorod[20];
cout<<"\n vvedite nazvani goroda gde naxoditsya instityt:";
cin>>gorod;
cout<<"\n inogorodnie studenty:";
for (i=0;i<kolvo_student;i++)
{
if (strcmp(gorod,student1[i].gorod)==0)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
gorodskie++;
}
}
cout<<"\n colichestvo gorodskix stydentov:"<<gorodskie;
}
void five(student student1[100])
{
cout<<"\n budzhetniki:"<<endl;
int budzhet=0;
for (i=0;i<kolvo_student;i++)
{
if(student1[i].budzhet_ili_contract==1)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
budzhet++;}
}
cout<<"\n colichestvo budzhetnicow:"<<budzhet;
}
void six(student student1[100])
{
cout<<"\n kontraktnici:"<<endl;
int contract=0;
for (i=0;i<kolvo_student;i++)
{
if(student1[i].budzhet_ili_contract==0)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
contract++;
}
}
cout<<"\n colichestvo kontraktnikow:"<<contract;
}
void seven(student student1[100])
{
cout<<"\n spisok studentov odnogo goda rozhdenia:";
for (i=0;i<kolvo_student;i++)
{
if (student1[i].god_rozhdenia==student1[i+1].god_rozhdenia)
{
cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl;
cout<<student1[i+1].familia<<" "<<student1[i+1].imya<<" "<<student1[i+1].otchestvo;
cout<<endl;
}
}
}
void eight(student student1[100],predmety predmety1[100])
{
char familia1[30];
char imya1[30];
char otchestvo1[30];
cout<<"\n vvedite familiy stydenta :";
cin>>familia1;
cout<<"\n vvedite imya studenta:";
cin>>imya1;
cout<<"\n vvedite otchestvo studenta:";
cin>>otchestvo1;
for (i=0;i<kolvo_student;i++)
{
if ((strcmp(familia1,student1[i].familia)==0)&&(strcmp(imya1,student1[i].imya)==0)&&(strcmp(otchestvo1,student1[i].otchestvo)==0))