Выборы главы Ашинского района
При нажатии на 5 в главном меню вы можете изменять существующие записи. Для этого нужно ввести номер записи, а затем выбрать из списка то, что вы хотите изменить.
При нажатии на 6 вы попадаете в меню сортировки. Если вы нажмёте 1, то будет осуществлена сортировка по фамилии, если на 2, то сортировка по адресу, а если вы нажмёте на 3, то по дате рождения. Для того чтобы вернуться в главное м
еню нужно нажать 4.
При нажатии в главном меню на 7 вы попадаете в меню поиска. В нём указан список параметров, по которым программа может производиться поиск. Нужно выбрать необходимый параметр.
При нажатии на 8 в главном меню вы попадаете в меню помощи. Для выхода из программы нажмите 0 в главном меню.
Разработанная программа с комментариями.
# include <iostream.h> //Поток ввода вывода
# include <math.h> //Математический файл
# include <conio.h> //Команды управления вывода на экран
# include <stdlib.h> //Стандартная библиотека функции
# include <iomanip.h> //Манипуляторы ввода вывода
# include <fstream.h> //Файловый входной поток
# include <string.h> //Файл строки
struct colizb{char fam[20]; char adres[20]; char datro[10]; char pasport[15];
char kolgol[15];}; //Структура
const n=20; // Максимальное количество записей
colizb gr[n]; //Массив для хранения записей
colizb buf[n]; //Буфер для хранения массива gr
colizb pust;
char name[]="D:/TC/USER/kandid.bin"; //Имя создаваемого файла
int nzap; //Номер записи
int ost; //Количество оставшихся записей
int nzapdop; //Номер дополнительной записи
///////////////////////////////////////////////////////////
void titlist() //Функция титульный лист
{
textbackground(1); //Цвет фона
textcolor(14); //Цвет шрифта
clrscr(); //Очистка экрана
gotoxy(17,2) ; //Установка курсора на заданную позицию
cout<<"Министерство образования Российской Федерации";
gotoxy(18,3);
cout<<"Южно-Уральский Государственный Университет";
gotoxy(30,4);
cout<<"Филиал ЮУрГУ в г. Аше";
gotoxy(32,8);
cout<<"КУРСОВАЯ РАБОТА";
gotoxy(29,9);
cout<<"по информатике на тему:";
gotoxy(26,10);
cout<<"Выборы главы Ашинского района";
gotoxy(41,14);
cout<<"Выполнил: студент гр.ПС180 Стяжкин C.А.";
gotoxy(41,15);
cout<<"Консультант: доцент Рафиков К.М.";
gotoxy(35,19);
cout<<"Аша-2006г";
gotoxy(2,21);
cout<<"Нажмите любую клавишу";
getch();
} //Конец функции
/////////////////////////////////////////////////////////////////////////
void menu() //Функция меню
{
clrscr(); //Очистка экрана
gotoxy(32,2); //Установка курсора на заданную позицию
cout<<"Главное меню";
gotoxy(32,5);
cout<<"1-Создание";
gotoxy(32,6);
cout<<"2-Дополнение";
gotoxy(32,7);
cout<<"3-Удаление";
gotoxy(32,8);
cout<<"4-Просмотр";
gotoxy(32,9);
cout<<"5-Изменение";
gotoxy(32,10);
cout<<"6-Сортировка";
gotoxy(32,11);
cout<<"7-Поиск";
gotoxy(32,12);
cout<<"8-Помощь";
gotoxy(32,13);
cout<<"0-Выход";
gotoxy(2,24);
cout<<"Введите номер команды-";
} //Конец функции
///////////////////////////////////////////////
void sclavi() //Функция ввода с клавиатуры
{
for(int j=0;j<nzap;j++) //Цикл for (счётчик)
{
gotoxy(2,4);
cout<<"Введите фамилию избирателя:"<<endl;
if (cin.peek()=='\n')cin.get();
cin.getline(gr[j].fam,sizeof(gr[j].fam));
//Ввод фамилии кандидата
gotoxy(2,6);
cout<<"Введите адрес:"<<endl;
if (cin.peek()=='\n') cin.get();
cin.getline(gr[j].adres,sizeof(gr[j].adres));
//Ввод адреса избирателя
gotoxy(2,8);
cout<<"Введите дату рождения:"<<endl;
if (cin.peek()=='\n') cin.get();
cin.getline(gr[j].datro,sizeof(gr[j].datro));
//Ввод даты рождения
gotoxy(2,10);
cout<<"Введите номер паспорта:"<<endl;
if (cin.peek()=='\n') cin.get();
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();
clrscr(); //Очистка экрана
gotoxy(28,14); //Установка курсора на заданную позицию
cout<<"Файл создан";
gotoxy(1,24);
cout<<"Нажмите любую клавишу ";
return 0; //Выход
} //Конец функции
//////////////////////////////////////////////////////////////////////
void toscreen() //Функция вывода на экран
{
clrscr(); //Очистка экрана
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()) //Ветвление
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности