Выборы главы Ашинского района

При нажатии на 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()) //Ветвление

Страница:  1  2  3  4  5  6  7 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы