} //Конец 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;
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<<" Нажмите любую клавишу для выхода в главное меню";
////////////////////////////////////////////////////////////////////////
void udalenie() //Функция удаления
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++; //Увеличение на один шаг
nzap=nzap-1; //Уменьшение номера записей
tofile(); //Запись в файл
izfile(); //Чтение из файла
//////////////////////////////////////////////////////////////////
void prosmotr() //Просмотр
gotoxy(1,24); //Установка курсора на заданную позицию
cout<<"Нажмите любую клавишу";
//////////////////////////////////////////////////////////
void izmenenie() //Изменение
int izm; //Номер изменяемой записи
char b; //Номер команды
cout<<"Введите номер записи, которую вы хотите изменить (от 0 до"
<<nzap-1<<")-";
cin>>izm; //Ввод номера записи для удаления
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));
cout<<"Фамилия изменена";getch();
break; //Досрочное завершение switch(b)
case '2':clrscr(); //Очистка экрана
cout<<"Введите новый адрес"<<endl;
cin.getline(gr[izm].adres,sizeof(gr[izm].adres));
tofile();
gotoxy(28,14);
cout<<"адрес изменен";getch();
break;
case '3':clrscr();
cout<<"Введите новую дату рождения"<<endl;
cin.getline(gr[izm].datro,sizeof(gr[izm].datro));
cout<<"Дата рождения изменена";getch();
case '4':clrscr();
cout<<"Введите новый № паспорта"<<endl;
cin.getline(gr[izm].pasport,sizeof(gr[izm].pasport));
cout<<"№ паспорта изменен";getch();break;
case '5':clrscr();
cout<<"Введите новое кол-во голосов"<<endl;
cin.getline(gr[izm].kolgol,sizeof(gr[izm].kolgol));
cout<<"Кол-во изменено";getch();break;
case '6':
default: //По умолчанию
cout<<"Неверная команда";getch();
} //Конец default
} //Конец switch(b)
void sortirovka() //Сортировка
char s;
int comp; //Сортировка записей
Страницы: 1, 2, 3, 4, 5