Разработанная программа с комментариями. — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Разработанная программа с комментариями.

2020-04-01 94
Разработанная программа с комментариями. 0.00 из 5.00 0 оценок
Заказать работу

# include <iostream.h> //Поток ввода вывода

# include <math.h>     //Математический файл

# include <conio.h>    //Команды управления вывода на экран

# include <stdlib.h>   //Стандартная библиотека функции

# include <iomanip.h>  //Манипуляторы ввода вывода

# include <fstream.h>  //Файловый входной поток

# include <string.h>   //Файл строки

 

 struct colizb{char fam[20]; char adres[20]; char datro[10]; char pasport[15];

 char kolgol[15];};              //Структура

 

const n=20;                        // Максимальное количество записей

colizb gr[n];                    //Массив для хранения записей

colizb buf[n];                   //Буфер для хранения массива gr

colizb pust;

char name[]="D:/TC/USER/kandid.bin"; //Имя создаваемого файла

int nzap;                      //Номер записи

int ost;                       //Количество оставшихся записей

int nzapdop;                   //Номер дополнительной записи

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

void titlist()                 //Функция титульный лист

{

textbackground(1);         //Цвет фона

textcolor(14);               //Цвет шрифта

clrscr();                   //Очистка экрана

gotoxy(17,2);             //Установка курсора на заданную позицию

cout<<"Министерство образования Российской Федерации";

gotoxy(18,3);

cout<<"Южно-Уральский Государственный Университет";

gotoxy(30,4);

cout<<"Филиал ЮУрГУ в г. Аше";

gotoxy(32,8);

cout<<"КУРСОВАЯ РАБОТА";

gotoxy(29,9);

cout<<"по информатике на тему:";

gotoxy(26,10);

cout<<"Выборы главы Ашинского района";

gotoxy(41,14);

cout<<"Выполнил: студент гр.ПС180 Стяжкин C.А.";

gotoxy(41,15);

cout<<"Консультант: доцент Рафиков К.М.";

gotoxy(35,19);

cout<<"Аша-2006г";

gotoxy(2,21);

cout<<"Нажмите любую клавишу";

getch();

}                              //Конец функции

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

void menu()                    //Функция меню

{

clrscr();                  //Очистка экрана

gotoxy(32,2);             //Установка курсора на заданную позицию

cout<<"Главное меню";

gotoxy(32,5);

cout<<"1-Создание";

gotoxy(32,6);

cout<<"2-Дополнение";

gotoxy(32,7);

cout<<"3-Удаление";

gotoxy(32,8);

cout<<"4-Просмотр";

gotoxy(32,9);

cout<<"5-Изменение";

gotoxy(32,10);

cout<<"6-Сортировка";

gotoxy(32,11);

cout<<"7-Поиск";

gotoxy(32,12);

  cout<<"8-Помощь";

gotoxy(32,13);

cout<<"0-Выход";

gotoxy(2,24);

cout<<"Введите номер команды-";

}                              //Конец функции

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

void sclavi()                  //Функция ввода с клавиатуры

{

for(int j=0;j<nzap;j++)    //Цикл for (счётчик)

{

 gotoxy(2,4);

 cout<<"Введите фамилию избирателя:"<<endl;

if (cin.peek()=='\n')cin.get();

cin.getline(gr[j].fam,sizeof(gr[j].fam));

            //Ввод фамилии кандидата

 gotoxy(2,6);

 cout<<"Введите адрес:"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[j].adres,sizeof(gr[j].adres));

            //Ввод адреса избирателя

 gotoxy(2,8);

 cout<<"Введите дату рождения:"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[j].datro,sizeof(gr[j].datro));

            //Ввод даты рождения

 gotoxy(2,10);

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

if (cin.peek()=='\n') cin.get();

cin.getline(gr[j].pasport,sizeof(gr[j].pasport));

            //Ввод номера паспорта

 gotoxy(2,12);

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

if (cin.peek()=='\n') cin.get();

cin.getline(gr[j].kolgol,sizeof(gr[j].kolgol));

            //Ввод количества голосов

}

}

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

int tofile()                       //Функция записи в файл

{

  ofstream outf;          //Выходной поток

  outf.open(name, ios::binary);

  if (outf.fail())        //Ветвление(если поток не исправен)

{

clrscr();        //Очистка экрана

  gotoxy(28,14);  //Установка курсора на заданную позицию

cout<<"Файл не открылся";

getch();

return 1;        //Выход

}                    //Конец ветвления

  for (int i=0; i<nzap; i++) //Цикл for

  outf.write((char *)&gr[i],sizeof(gr[i]));

  outf.close();

  clrscr();               //Очистка экрана

gotoxy(28,14);         //Установка курсора на заданную позицию

  cout<<"Файл создан";

gotoxy(1,24);

  cout<<"Нажмите любую клавишу ";

  return 0;               //Выход

}                              //Конец функции

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

void toscreen()                //Функция вывода на экран

{

clrscr();                   //Очистка экрана

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

for (int i=0;i<nzap;i++)    //Цикл for

{

  cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

  <<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)

  <<gr[i].datro<<"¦"<<setw(15)<<gr[i].pasport<<"¦"<<setw(6)

  <<gr[i].kolgol<<"¦"<<endl;

}                        //Конец цикла for

cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

}                                 //Конец функции

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

int izfile()                   //Функция чтения из файла

{

for (int i=0; i<n; i++)    //Счетчик

gr[i]=pust;                //Опустошение массива

ifstream inf;

inf.open(name, ios::binary);

if(inf.fail())             //Ветвление

  {

clrscr();            //Очистка экрана

gotoxy(28,14);      //Установка курсора на заданную позицию

cout<<"Файл не открылся";

getch();

return 1;            //Выход

  }                       //Конец ветвления

nzap=0;                    //Присвоение номера записи к нулю

char ch=inf.peek();        //Смотрит первый символ файла в потоке

while(ch!=EOF)             //Цикл с предусловием

  {

inf.read((char *)&gr[nzap],sizeof(gr[nzap]));

++nzap;              //Увеличение на один шаг

ch=inf.peek();

  }                       //Конец цикла с предусловием

inf.close();

return 0;                  //Выход

}                              //Конец функции

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

void sozdanie()                //Функция создания

{

char r;                    //Номер команды

clrscr();                  //Очистка экрана

gotoxy(28,2);             //Установка курсора на заданную позицию

cout<<"Создание";

gotoxy(25,5);

cout<<"1-Создание нового файла: "<<name;;

gotoxy(25,6);

cout<<"2-Сменить адрес файла";

gotoxy(25,7);

cout<<"3-Автоматическое создание файла";

gotoxy(25,8);

cout<<"4-Отмена";

gotoxy(2,24);

cout<<"Введите номер команды:";

cin>>r;                    //Ввод номера команды

switch(r)                  //Переключатель для r

{

 case '1':

 {

clrscr();            //Очистка экрана

gotoxy(2,2);

cout<<"Введите число записей (от 1 до "<<n<<") "<<endl;

cin>>nzap;           //Ввод количества записей

sclavi();            //Функция ввода с клавиатуры

tofile();            //Запись файла

getch();

break;               //Досрочное завершение switch(r)

 }

 case '2':

 {

clrscr();            //Очистка экрана

cout<<"Введите новый адрес: "<<endl;

cin>>name;           //Ввод нового адреса

cout<<"Создайте этот файл "<<endl;

gotoxy(2,24);

cout<<"Нажмите любую клавишу ";

getch();

break;               //Досрочное завершение switch(r)

 }

 case '3':

 {

clrscr();            //Очистка экрана

nzap=9;              //Количество записи

strcpy(gr[0].fam,"Улов М.И");//Копирование записи

strcpy(gr[0].adres,"Ленина 7/23");

strcpy(gr[0].datro,"26.07.68");

strcpy(gr[0].pasport,"75 02 319419");

strcpy(gr[0].kolgol,"2,5%");

 

 

strcpy(gr[1].fam,"Царихин П.Г");

strcpy(gr[1].adres,"Озимина 34/12");

strcpy(gr[1].datro,"11.12.65");

strcpy(gr[1].pasport,"75 00 345872");

strcpy(gr[1].kolgol,"20%");

 

strcpy(gr[2].fam,"Гартунк В.Т");

strcpy(gr[2].adres,"Мира 9");

strcpy(gr[2].datro,"25.08.63");

strcpy(gr[2].pasport,"75 01 322278");

strcpy(gr[2].kolgol,"16%");

 

strcpy(gr[3].fam,"Решетников А.Т");

  strcpy(gr[3].adres,"Озимина 34/26");

strcpy(gr[3].datro,"12.04.65");

strcpy(gr[3].pasport,"75 00 651651");

strcpy(gr[3].kolgol,"30%");

 

strcpy(gr[4].fam,"Батталов З.К");

strcpy(gr[4].adres,"Пермская 6");

strcpy(gr[4].datro,"15.10.66");

strcpy(gr[4].pasport,"75 02 567987");

strcpy(gr[4].kolgol,"35%");

 

strcpy(gr[5].fam,"Чернов К.В");

strcpy(gr[5].adres,"Пушкина23/2");

strcpy(gr[5].datro,"30.08.64");

strcpy(gr[5].pasport,"75 01 626265");

strcpy(gr[5].kolgol,"47%");

 

strcpy(gr[6].fam,"Фоминов А.А");

strcpy(gr[6].adres,"Береговая 1/6");

strcpy(gr[6].datro,"23.06.60");

strcpy(gr[6].pasport,"75 00 321936");

strcpy(gr[6].kolgol,"15%");

 

 

strcpy(gr[7].fam,"Садыков В.Г");

strcpy(gr[7].adres,"Ленина 56/90");

strcpy(gr[7].datro,"14.03.54");

strcpy(gr[7].pasport,"75 01 657453");

strcpy(gr[7].kolgol,"21%");

 

strcpy(gr[8].fam,"Сафин Н.П");

strcpy(gr[8].adres,"Ленина 34/89");

strcpy(gr[8].datro,"23.05.51");

strcpy(gr[8].pasport,"75 00 128887");

strcpy(gr[8].kolgol,"33%");

 

tofile();            //Запись в файл

gotoxy(1,24);

cout<<"Нажмите любую клавишу ";

getch();

break;               //Досрочное завершение switch(r)

 }

 case '4':

 break;                //Досрочное завершение switch(r)

 default:              //По умолчанию

 {

clrscr();            //Очистка экрана

gotoxy(28,14);

cout<<"Неверная команда";gotoxy(1,24);

cout<<"Нажмите любую клавишу";getch();

 }                     //Конец default

}                          //Конец switch(r)

}                              // Конец функции

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

 int tofiledop()               //Функция записи в файл

{

ofstream outf;              //Выходной поток

outf.open(name, ios::binary);

if (outf.fail())          //Ветвление(если поток не исправен)

{

clrscr();            //Очистка экрана

gotoxy(28,14);       //Установка курсора на заданную позицию

cout<<"Файл не открылся!";

getch();

return 1;            //Выход

}                      //Конец ветвления

for (int i=0; i<nzapdop; i++) //Цикл for

outf.write((char *)&gr[i],sizeof(gr[i]));

outf.close();

return 0;                 //Выход

}                              //Конец функции

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

void dopolnenie()           //Функция дополнение

{

int dop;

clrscr();                    //Очистка экрана

izfile ();                   //Чтение из файла

int ost=n-nzap;              //Количество оставшихся записей

cout<<"Введите количество записей, которые хотите добавить в список(от 1 дo "

<<ost<<"): ";

cin>>dop;                    //Ввод дополнительных записей

nzapdop=dop+nzap;            //Присвоение существующих и дополнительных записей

for (int i=nzap;i<nzapdop;i++)    //Цикл for(счётчик)

{

 cout<<"Введите фамилию избирателя:"<<endl;

 cin>>gr[i].fam;     //Ввод фамилии

 cout<<"Введите адрес:"<<endl;

 cin>>gr[i].adres;     //Ввод фдреса

 cout<<"Введите дату рождения:"<<endl;

 cin>>gr[i].datro;       //Ввод даты рождения

 cout<<"Введите № паспорта:"<<endl;

 cin>>gr[i].pasport;  //Ввод номера паспорта

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

 cin>>gr[i].kolgol;      //Ввод количества голосов

}                        //Конец цикла for

tofiledop ();               //Запись в файл дополнительных записей

clrscr();

gotoxy(35,14);              //Установка курсора на заданную позицию

cout<<"Файл дополнен";

gotoxy(20,15);

cout<<" Нажмите любую клавишу для выхода в главное меню";

getch();

}                              //Конец функции

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

void udalenie()                //Функция удаления

{

clrscr();                   //Очистка экрана

izfile ();                  //Чтение из файла

toscreen();                 //Функция вывода на экран

int ud;                     //Номер записи для удаления

cout<<"Введите номер записи, которую вы хотите удалить (от 0 до "<<nzap-1<<")";

cin>>ud;                    //Ввод номера записи для удаления

int udd=ud+1;               //Увеличение на 1

for(udd;udd<=nzap;udd++)    //Цикл for

{

gr[ud]=gr[udd];          //Присвоение записи

ud++;                    //Увеличение на один шаг

}                           //Конец цикла for

nzap=nzap-1;                //Уменьшение номера записей

tofile();                   //Запись в файл

izfile();                   //Чтение из файла

toscreen();                 //Функция вывода на экран

getch();

}                              //Конец функции

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

void prosmotr()                //Просмотр

{

clrscr();                   //Очистка экрана

izfile();                   //Чтение из файла

toscreen();                 //Функция вывода на экран

gotoxy(1,24);              //Установка курсора на заданную позицию

cout<<"Нажмите любую клавишу";

getch();

}                              //Конец функции

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

 void izmenenie()              //Изменение

{

int izm;                    //Номер изменяемой записи

char b;                     //Номер команды

clrscr();                   //Очистка экрана

izfile();                   //Чтение из файла

toscreen();                 //Функция вывода на экран

cout<<"Введите номер записи, которую вы хотите изменить (от 0 до"

<<nzap-1<<")-";

cin>>izm;                   //Ввод номера записи для удаления

clrscr();                   //Очистка экрана

gotoxy(32,1);              //Установка курсора на заданную позицию

cout<<"Изменение";

gotoxy(28,3);

cout<<"1-Ф.И.О";

gotoxy(28,4);

cout<<"2-Адрес";

gotoxy(28,5);

cout<<"3-Дата рождения";

gotoxy(28,6);

cout<<"4-№ паспорта";

gotoxy(28,7);

cout<<"5-Кол-во голосов";

gotoxy(28,8);

cout<<"6-Отмена";

gotoxy(1,24);

cout<<"Введите номер команды-";

cin>>b;                     //Ввод номера команды

switch(b)                   //Переключатель для b

{

case '1':clrscr();        //Очистка экрана

cout<<"Введите Ф.И.О"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[izm].fam,sizeof(gr[izm].fam));

tofile();        //Запись в файл

clrscr();        //Очистка экрана

  gotoxy(28,14);  //Установка курсора на заданную позицию

cout<<"Фамилия изменена";getch();

break;           //Досрочное завершение switch(b)

 

case '2':clrscr();        //Очистка экрана

cout<<"Введите новый адрес"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[izm].adres,sizeof(gr[izm].adres));

tofile();

clrscr();

  gotoxy(28,14);

cout<<"адрес изменен";getch();

break;

 

case '3':clrscr();

cout<<"Введите новую дату рождения"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[izm].datro,sizeof(gr[izm].datro));

tofile();

clrscr();

  gotoxy(28,14);

cout<<"Дата рождения изменена";getch();

break;

 

case '4':clrscr();

cout<<"Введите новый № паспорта"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[izm].pasport,sizeof(gr[izm].pasport));

tofile();

clrscr();

  gotoxy(28,14);

cout<<"№ паспорта изменен";getch();break;

 

case '5':clrscr();

cout<<"Введите новое кол-во голосов"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(gr[izm].kolgol,sizeof(gr[izm].kolgol));

tofile();

clrscr();

  gotoxy(28,14);

cout<<"Кол-во изменено";getch();break;

 

case '6':

break;

default:                  //По умолчанию

{

clrscr();

gotoxy(28,14);

cout<<"Неверная команда";getch();

}                        //Конец default

}                          //Конец switch(b)

}                              //Конец функции

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

void sortirovka()              //Сортировка

{

char s;

int comp;                   //Сортировка записей

clrscr();                    //Очистка экрана

gotoxy(32,1);              //Установка курсора на заданную позицию

cout<<"Сортировка";

gotoxy(25,4);

cout<<"1-Сортировка по фамилии";

gotoxy(25,5);

cout<<"2-Сортировка по адресу";

gotoxy(25,6);

cout<<"3-Сортировка по дате рождения";

gotoxy(25,7);

cout<<"4-Отмена";

gotoxy(1,24);

cout<<"Введите номер команды-";

cin>>s;                     //Ввод номера команды

switch(s)                   //Преключатель для s

  {

 case '1':

{

clrscr();

izfile();        //Чтение из файла

for(int j=0;j<nzap;j++)//Цикл for

for(int i=0;i<nzap-1;i++)//Цикл for

     {

    comp=strcmp(gr[i].fam,gr[i+1].fam);

    if (comp>0) //Ветвление

        {

      buf[1]=gr[i];

      gr[i]=gr[i+1];

      gr[i+1]=buf[1];

      }       //Конец ветвления

     }             //Конец цикла for

tofile();        //Запись в файл

izfile();        //Чтение из файла

 toscreen();      //Функция вывода на экран

gotoxy(1,24);    //Установка курсора на заданную позицию

cout<<"Сортировка по фамилии в файле "<<name

<<" произведена";

getch();

break;           //Досрочное завершение switch(s)

}

 case '2':

{

clrscr();        //Очистка экрана

izfile();        //Чтение из файла

for(int j=0;j<nzap;j++)//Цикл for

for(int i=0;i<nzap-1;i++)//Цикл for

     {

    comp=strcmp(gr[i].adres,gr[i+1].adres);

    if (comp>0) //Ветвление

    {

    buf[1]=gr[i];

    gr[i]=gr[i+1];

    gr[i+1]=buf[1];

    }         //Конец ветвления

     }

tofile();

izfile();

toscreen();

gotoxy(1,24);

cout<<"Сортировка по адресу в файле "<<name

<<" произведена";

getch();

break;           //Досрочное завершение switch(s)

}

 case '3':

{

clrscr();

izfile();

for(int j=0;j<nzap;j++)//Цикл for

for(int i=0;i<nzap-1;i++)//Цикл for

     {

    comp=strcmp(gr[i].datro,gr[i+1].datro);

    if (comp>0)

      {

      buf[1]=gr[i];

      gr[i]=gr[i+1];

      gr[i+1]=buf[1];

      }       //Конец ветвления

     }             //Конец цикла for

tofile();

izfile();

toscreen();

gotoxy(1,24);

cout<<"Сортировка по дате рождения в файле "<<name

<<" произведена";getch();

break;

}

 

 case '4':

 break;

 default:

{

clrscr();

gotoxy(28,14);

cout<<"Неверная команда";getch();

}

}

}                              //Конец функции

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

void poisk()                   //Поиск

{

izfile();                   //Чтение из файла

char poisk;

clrscr();                   //Очистка экрана

gotoxy(32,1);              //Установка курсора на заданную позицию

cout<<"Поиск";

gotoxy(28,3);

cout<<"1-Ф.И.О";

gotoxy(28,5);

cout<<"2-Адрес";

gotoxy(28,7);

cout<<"3-Дата рождения";

gotoxy(28,9);

cout<<"4-№ паспорта";

gotoxy(28,11);

cout<<"5-кол-во голосов";

gotoxy(28,13);

cout<<"6-Отмена";

gotoxy(1,24);

cout<<"Введите номер команды-";

cin>>poisk;                 //Ввод номера для поиска

char sr[20];

int comp;                   //Объявление comp целой переменной

switch(poisk)               //Переключатель для poisk

{

case '1':

{

clrscr(); cout<<"Введите фамилию"<<endl;

if (cin.peek()=='\n')cin.get();

cin.getline(sr,sizeof sr);

clrscr();              //Очистить экран

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

for (int i=0;i<nzap;i++) //Цикл for

 {

comp=strcmp(gr[i].fam,sr);

if (comp==0)        //Ветвление

{

cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

<<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)<<gr[i].datro

<<"¦"<<setw(15)<<gr[i].pasport<<"¦"

<<setw(6)<<gr[i].kolgol<<"¦"<<endl;

}                  //Конец ветвление

 }                     //Конец цикла for

 cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

 

getch();

break;                 //Досрочное завершение switch(r)

}

case '2':

{

clrscr(); cout<<"Введите адрес"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(sr,sizeof sr);

clrscr();

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

for (int i=0;i<nzap;i++)

 {

comp=strcmp(gr[i].adres,sr);

if (comp==0)

{

cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

<<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)<<gr[i].datro

<<"¦"<<setw(15)<<gr[i].pasport<<"¦"

<<setw(6)<<gr[i].kolgol<<"¦"<<endl;

}

 }

 cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

 

getch();

break;

}

case '3':

{

clrscr(); cout<<"Введите дату рождения"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(sr,sizeof (sr));

clrscr();

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

 

 

for (int i=0;i<nzap;i++)

 {

comp=strcmp(gr[i].datro,sr);

if (comp==0)

{

cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

<<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)<<gr[i].datro

<<"¦"<<setw(15)<<gr[i].pasport<<"¦"

<<setw(6)<<gr[i].kolgol<<"¦"<<endl;

}

 }

 cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

 

getch();

break;

}

case '4':

{

clrscr(); cout<<"Введите № паспорта"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(sr,sizeof (sr));

clrscr();

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

for (int i=0;i<nzap;i++)

 {

comp=strcmp(gr[i].pasport,sr);

if (comp==0)

{

cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

<<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)<<gr[i].datro

<<"¦"<<setw(15)<<gr[i].pasport<<"¦"

<<setw(6)<<gr[i].kolgol<<"¦"<<endl;

}

 }

 cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

 

getch();

break;

}

case '5':

{

clrscr();

cout<<"Введите кол-во голосов"<<endl;

if (cin.peek()=='\n') cin.get();

cin.getline(sr,sizeof (sr));

clrscr();

cout<<"----T---------------T---------------T---------------T---------------T------"<<endl;

cout<<"¦ № ¦ Ф.И.О ¦ Адрес ¦ дата рожд ¦ № паспорта ¦голоса¦"<<endl;

cout<<"+---+---------------+---------------+---------------+---------------+------+"<<endl;

 

for (int i=0;i<nzap;i++)

 {

comp=strcmp(gr[i].kolgol,sr);

if (comp==0)

{

cout<<"¦ "<<setw(2)<<setiosflags(ios::left)<<i<<"¦"<<setw(15)

<<gr[i].fam<<"¦"<<setw(15)<<gr[i].adres<<"¦"<<setw(15)<<gr[i].datro

<<"¦"<<setw(15)<<gr[i].pasport<<"¦"

<<setw(6)<<gr[i].kolgol<<"¦"<<endl;

}

 }

 cout<<"L---+---------------+---------------+---------------+---------------+-------"<<endl;

 

getch();

break;

}

case '6':

break;

default:

 {

clrscr();

gotoxy(28,14);

cout<<"Неверная команда";gotoxy(1,24);

cout<<"Нажмите любую клавишу";getch();

 }

}                        //Конец switch(poisk)

}                              //Конец функции

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

void help ()                     //Помощь

{

clrscr();                   //Очистка экрана

gotoxy(30,1);              //Установка курсора на заданную позицию

cout<<"О программе\n\n";

gotoxy(5,3);

cout<<"Эта программа является системой управления базой данных на выборах \n";

cout<<"главы Ашинского района.\n";

cout<<"Для каждого кандидата указывается:фамилия,адрес,дата рождения,№ паспорта \n";

cout<<"и количество голосов набранных на выборах.\n";

gotoxy(5,7);

cout<<"Имеется возможность создания нового файла.Кроме создания нового файла \n";

cout<<"имеются и такие команды как:\n";

cout<<"дополнение, удаление, просмотр, изменение, сортировка, поиск файлов, помощь\n";

cout<<"использователю, ну и выход из системы. Сортировка производится по фамилии,\n";

cout<<"адресу и дате рождения.\n";

gotoxy(5,12);

cout<<"Все указанные виды работ выполняются при помощи команд, перечень\n";

cout<<"которых выводится на экран после запуска программы.";

gotoxy(1,25);

cout<<"Для выхода из программы введите любой символ";

getch();

}                              //Конец функции

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

int main()                     //Функция main

{

clrscr();                   //Очистка экрана

titlist();                  //Вызов функции

char com;

while(1)

{

  menu();

  if (cin.peek()=='\n') cin.get();

  cin>>com;               //Выбор действия

  switch(com)             //Переключатель для com

{

case '1': sozdanie();break;

case '2': dopolnenie();break;

case '3': udalenie();break;

case '4': prosmotr();break;

case '5': izmenenie();break;

case '6': sortirovka();break;

case '7': poisk();break;

case '8': help();break;

case '0':

{

return 0;

}

default:            //По умолчанию

{

clrscr();

gotoxy(28,14);

cout<<"Неверная команда";

gotoxy(1,24);

cout<<"Нажмите любую клавишу";

getch();

}

  }

}                           //Конец функции main

}                              //Конец программы


Использованная литература.

 

1 Подвельский «Язык C++»

2 Ресурсы Internet.


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.411 с.