Выборы главы Ашинского района
{
clrscr(); //Очистка экрана
gotoxy(28,14); //Установка курсора на заданную позицию
cout<<"Файл не открылся";
getch();
return 1; //Выход
} //Конец ветвления
nzap=0; //Присвоение номера записи к нулю
char ch=inf.peek(); //Смотрит первый символ файла в потоке
while(ch!=EOF) //Цикл с предусловием
{
inf.read((char *)&gr[nza
p],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();
} //Конец функции
////////////////////////////////////////////////////////////////////////
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности