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();
cout<<"Файл создан";
gotoxy(1,24);
cout<<"Нажмите любую клавишу ";
return 0; //Выход
} //Конец функции
//////////////////////////////////////////////////////////////////////
void toscreen() //Функция вывода на экран
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()) //Ветвление
nzap=0; //Присвоение номера записи к нулю
char ch=inf.peek(); //Смотрит первый символ файла в потоке
while(ch!=EOF) //Цикл с предусловием
inf.read((char *)&gr[nzap],sizeof(gr[nzap]));
++nzap; //Увеличение на один шаг
ch=inf.peek();
} //Конец цикла с предусловием
inf.close();
////////////////////////////////////////////////////////////////////////
void sozdanie() //Функция создания
char r; //Номер команды
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':
gotoxy(2,2);
cout<<"Введите число записей (от 1 до "<<n<<") "<<endl;
cin>>nzap; //Ввод количества записей
sclavi(); //Функция ввода с клавиатуры
tofile(); //Запись файла
break; //Досрочное завершение switch(r)
case '2':
cout<<"Введите новый адрес: "<<endl;
cin>>name; //Ввод нового адреса
cout<<"Создайте этот файл "<<endl;
case '3':
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(); //Запись в файл
case '4':
default: //По умолчанию
gotoxy(28,14);
cout<<"Неверная команда";gotoxy(1,24);
cout<<"Нажмите любую клавишу";getch();
} //Конец default
Страницы: 1, 2, 3, 4, 5