p align="left"> } 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);
Страницы: 1, 2, 3, 4
|