Смекни!
smekni.com

Разработка сервисных программ для обслуживания администрации деканата учебной части вуза коменданта (стр. 4 из 5)

Алгоритм

При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 1 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество.

void five(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n colichestvo budzhetnicow:"<<budzhet;

}

Рисунок 5-работа 5 пункта меню

4.1.6 Вывод количества контрактников

Алгоритм

При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 0 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество.

void six(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n colichestvo kontraktnikow:"<<contract;

}

Рисунок 6-работа 6 пункта меню

4.1.7 Вывод студентов одного года рождения

Алгоритм

Программа в данном пункте меню сравнивает поле int god_rozhdenia ; каждого элемента массива student с таким же полем следующего элемента меню. Если они равны, то выводится их фамилии имена и отчества.

void seven(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n vvedite familiy stydenta :";

cin>>familia1;

cout<<"&bsol;n vvedite imya studenta:";

cin>>imya1;

cout<<"&bsol;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<<"&bsol;n familia: ";

cout<<student1[i].familia;

cout<<"&bsol;n imya:";

cout<<student1[i].imya;

cout<<"&bsol;n otchestvo:";

cout<<student1[i].otchestvo;

cout<<"&bsol;n god_rozhdenia:";

cout<<student1[i].god_rozhdenia;

cout<<"&bsol;n mesyac_rozhdenia:";

cout<<student1[i].mesyac_rozhdenia;

cout<<"&bsol;n den_roshdenia:";

cout<<student1[i].den_roshdenia;

cout<<"&bsol;n budzhet_ili_contract:";

if (student1[i].budzhet_ili_contract==1)

{ cout<<"&bsol;n budzhetnic";

}

else if (student1[i].budzhet_ili_contract==0)

{cout<<"&bsol;n contractnic";

}

cout<<"&bsol;n nomer_telefona:";

cout<<student1[i].nomer_telefona;

cout<<"&bsol;n strana:";

cout<<student1[i].strana;

cout<<"&bsol;n gorod:";

cout<<student1[i].gorod;

cout<<"&bsol;n ylica:";

cout<<student1[i].ylica;

cout<<"&bsol;n dom(chislom):";

cout<<student1[i].dom;

cout<<"&bsol;n nomer_kvartiry:";

cout<<student1[i].nomer_kvartiry;

cout<<"&bsol;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<<"&bsol;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<<"&bsol;n ---------------------------------------------------------------";

cout<<"&bsol;n studenty imeyshie sredniy ball nizhe 60:";

cout<<"&bsol;n ---------------------------------------------------------------";

cout<<endl;

cout<<student1[i].familia<<" ";

cout<<student1[i].imya<<" ";

cout<<student1[i].otchestvo<<" ";

cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl;

cout<<"&bsol;n ---------------------------------------------------------------";

}

if ((base[i].srednyi_ball>=60)&&(base[i].srednyi_ball<=75))

{

cout<<"&bsol;n ---------------------------------------------------------------";

cout<<"&bsol;n studenty imeyshie sredniy ball bolshe 60 i nizhe 75:";

cout<<"&bsol;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<<"&bsol;n ---------------------------------------------------------------";

}

if ((base[i].srednyi_ball>=75)&&(base[i].srednyi_ball<=90))

{

cout<<"&bsol;n ---------------------------------------------------------------";

cout<<"&bsol;n studenty imeyshie sredniy ball bolshe 75 i nizhe 90:";

cout<<"&bsol;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<<"&bsol;n ---------------------------------------------------------------";

}

if ((base[i].srednyi_ball>=90)&&(base[i].srednyi_ball<=100))

{

cout<<"&bsol;n ---------------------------------------------------------------";

cout<<"&bsol;n studenty imeyshie sredniy ball bolshe 90 nizhe 100:";

cout<<"&bsol;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<<"&bsol;n ---------------------------------------------------------------";

} } k++;

}

void two(student student1[100],predmety predmety1[100])

{

char familia[30];

char imya[30];

char otchestvo[30];

cout<<"&bsol;n vvedite familiy stydenta :";

cin>>familia;

cout<<"&bsol;n vvedite imya studenta:";

cin>>imya;

cout<<"&bsol;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<<"&bsol;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<<"&bsol;n vvedite nazvani goroda gde naxoditsya instityt:";

cin>>gorod;

cout<<"&bsol;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<<"&bsol;n colichestvo inogorodnyx stydentov:"<<inogorodnie;

}

void four(student student1[100])

{

int gorodskie=0;

char gorod[20];

cout<<"&bsol;n vvedite nazvani goroda gde naxoditsya instityt:";

cin>>gorod;

cout<<"&bsol;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<<"&bsol;n colichestvo gorodskix stydentov:"<<gorodskie;

}

void five(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n colichestvo budzhetnicow:"<<budzhet;

}

void six(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n colichestvo kontraktnikow:"<<contract;

}

void seven(student student1[100])

{

cout<<"&bsol;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<<"&bsol;n vvedite familiy stydenta :";

cin>>familia1;

cout<<"&bsol;n vvedite imya studenta:";

cin>>imya1;

cout<<"&bsol;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))