Рефераты. Выборы главы Ашинского района

} //Конец 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); //Установка курсора на заданную позицию

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.