Автор работы: Пользователь скрыл имя, 20 Апреля 2013 в 01:11, курсовая работа
Требуется разработать программный продукт для записи информации о пациентах на внешние носители данных. На носители информации должна быть реализована запись следующих данных:
- Фамилия, имя, отчество пациента;
- № медицинской карты;
- № медицинского полиса;
- Адрес проживания;
1.Техническое задание.....................................................................................4
2.Постановка задачи.........................................................................................5
3.Блок-схема программного обеспечения.....................................................6
4.Исходный код программного обеспечения.................................................7
5.Контрольный пример....................................................................................11
6.Протокол работы контрольного примера...................................................14
Заключение
Министерство образования Российской Федерации
Уфимский государственный
авиационно-технический
Факультет информатики и робототехники
Курсовая работа
по дисциплине
программирование на C++
Студента 2 курса группы ПРО-202
Тагирова Ильназа Уэльдановича
Дата защиты__________________
Оценка _______
Уфа 2012 г.
АННОТАЦИЯ
Пояснительная записка к курсовой работе содержит постановку и программу решения задачи «Структура «Пациент».
Программа на курсовой проект написана в среде Microsoft Visual Studio 6.0 на языке C++ и отлажена на данных контрольного примера. Выполняется в операционной системе Microsoft Windows XP и выше.
Содержание
1. |
Техническое задание....................... |
4 |
2. |
Постановка задачи............. |
5 |
3. |
Блок-схема программного обеспечения................... |
6 |
4. |
Исходный код программного обеспечения................... |
7 |
5. |
Контрольный пример........................ |
11 |
6. |
Протокол работы контрольного примера....................... |
14 |
Заключение |
||
1. Техническое задание
Требуется разработать программный продукт для записи информации о пациентах на внешние носители данных. На носители информации должна быть реализована запись следующих данных:
- Фамилия, имя, отчество пациента;
- № медицинской карты;
- № медицинского полиса;
- Адрес проживания;
После создания файла с данными программа должна реализовывать следующие функции:
- Запись в файл данных;
- Чтение данных из файла;
- Поиск пациента по номеру медицинской карты;
- Удаление данных о пациентов из файла.
Программа должна работать в консольном режиме и поддерживать русский текст и русскую раскладку клавиатуры.
Область применения данной программы – медицина, медицинские учреждения.
2. Постановка задачи
Задание
Структура "Пациент":
- номер страхового полиса.
Входная информация: данные о пациентах.
Выходная информация: Созданный файл datafile.dat с информацией о пациентах.
2. Блок-схема программного обеспечения
3. Исходный код программного обеспечения
#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
#include <windows.h>
struct pacient//объявление структуры «Пациент»
{
char family[20]; char name[20]; char fathername[30];
char adress[40];
int medkart;
char polic[6];
};
void create_file(int n1, pacient mass1[500])//Объявление функции создания файла
{
fstream datafile("datafile.dat",ios::
for(int i=0;i<n1;i++)
{
cout<<"\n"<<"введите
данные для медицинской карты № "<<i+1<<"\n"<<"---------------
cout<<"\n"<<"фамилия="; cin>>mass1[i].family;
cout<<"имя="; cin>>mass1[i].name;
cout<<"отчество="; cin>>mass1[i].fathername;
cout<<"№ мед.карты="; cin>>mass1[i].medkart;
cout<<"№ полиса="; cin>>mass1[i].polic;
cout<<"адрес проживания="; cin>>mass1[i].adress;
cout<<"<-------------------\n"
}
cout<<"создан файл файл с информацией о мед. картах\n"<<"\n";
for(i=0;i<n1;i++)
{
datafile<<mass1[i].family<<" ";
datafile<<mass1[i].name<<" ";
datafile<<mass1[i].fathername<
datafile<<mass1[i].medkart<<" ";
datafile<<mass1[i].polic<<" ";
datafile<<mass1[i].adress<<" ";
datafile<<"\n";
};
datafile.close();//Закрытие файлового потока
}
void vivod_dann()//Объявление функции чтения файла
{
cout<<"\n"<<"\n"<<"===========
fstream datafile;
pacient pass;
datafile.open("datafile.dat", ios::in);
cout<<"\n";
do//чтение файла
{
datafile>>pass.family;
datafile>>pass.name;
datafile>>pass.fathername;
datafile>>pass.medkart;
datafile>>pass.polic;
datafile>>pass.adress;
if (datafile.eof()) break;
cout<<"фамилия="<<pass.family<
cout<<"имя="<<pass.name<<"\n";
cout<<"отчество="<<pass.
cout<<"№ мед. карты="<<pass.medkart<<"\n";
cout<<"№ полиса="<<pass.polic<<"\n";
cout<<"Адрес проживания="<<pass.adress<<"\
cout<<"=======================
}
while(!datafile.eof());
datafile.close();
}
void vvod_dann()//Объявление функции ввода данных в файл
{
int n1, i; pacient pass;
i=0;
ofstream datafile("datafile.dat", ios::ate);
cout<<"Количество мед.карт для добавления="; cin>>n1;
if(n1!=0)
do//запись в массив
{
cout<<"\n"<<"Фамилия="; cin>>pass.family;
cout<<"\n"<<"Имя="; cin>>pass.name;
cout<<"\n"<<"Отчество="; cin>>pass.fathername;
cout<<"\n"<<"№ мед.карты="; cin>>pass.medkart;
cout<<"\n"<<"№ полиса="; cin>>pass.polic;
cout<<"\n"<<"Адрес проживания="; cin>>pass.adress;
datafile<<pass.family<<" ";
datafile<<pass.name<<" ";
datafile<<pass.fathername<<" ";
datafile<<pass.medkart<<" ";
datafile<<pass.polic<<" ";
datafile<<pass.adress<<" ";
datafile<<"\n";
i++;
}
while(i<n1);
datafile.close();
}
void find_dann(pacient pass[500])//Объявление функции поиска и удаления элементов из файла
{
fstream datafile("datafile.dat", ios::in);
int i=0; int n1=0;
do//чтение файла
{
datafile>>pass[i].family;
datafile>>pass[i].name;
datafile>>pass[i].fathername;
datafile>>pass[i].medkart;
datafile>>pass[i].polic;
datafile>>pass[i].adress;
if (datafile.eof()) break;
i++; n1++;
}
while(!datafile.eof());
datafile.close();
int mk; bool check=0; int deln;
cout<<"\n Введите № мед. карты пациента\n"; cin>>mk;
for(i=0;i<n1;i++)
{
if(mk==pass[i].medkart)
{
deln=i;
cout<<"=======================
cout<<"Фамилия="<<pass[i].
cout<<"=======================
check=1;
};
};
if(check!=1)
{
cout<<"=======================
cout<<"Нету такого пациента
в базе\n"<<"====================
}
else
{
int sel;
cout<<"Удалить данный элемент?\n"<<"1. Да\n"<<"2. Нет\n";
cin>>sel;
if (sel==1)
{
fstream datafile("datafile.dat",ios::
for(i=0;i<n1;i++)
if(i!=deln)
{
datafile<<pass[i].family<<" ";
datafile<<pass[i].name<<" ";
datafile<<pass[i].fathername<<
datafile<<pass[i].medkart<<" ";
datafile<<pass[i].polic<<" ";
datafile<<pass[i].adress<<" ";
datafile<<"\n";
}
cout<<"удалено...\n";
}
};
}
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);//
pacient mass[500];
int n;
cout<<"программа 'пациент'. ver 0.8.1 beta\n";
cout<<"\n"<<"\n";
int k;
do
{
cout<<"выберите...";
cout<<"\n"<<"1. Создать файл и внести данные в нее(стерёт существующий файл)\n";
cout<<"2. Прочитать файл\n";
cout<<"3. Запись данных в файл\n";
cout<<"4. Поиск данных в файле по номеру медкарты\n";
cout<<"5. Выход\n";
cin>>k;
switch (k)
{
case 1: cout<<"количество мед. карт="; cin>>n; create_file(n,mass); break;
case 2: vivod_dann(); break;
case 3: vvod_dann(); break;
case 4: find_dann(mass); break;
}
}
while (k!=5);
};
4. Контрольный пример
4.1 Интерфейс программы
4.2 Создание и ввод данных в файл
сформирован файл datafile.dat с введенными данными.
4.3 Чтение файла
4.4 Запись данных в конец файла
4.5 Поиск и удаление данных
5. Протокол работы контрольного примера
5.1 Создание нового файла.
Название файла – datafile.dat
Содержимое файла:
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
Адрес проживания |
Иванов |
Иван |
Иванович |
212131 |
1312121 |
Ленина_45 |
Иванова |
Марина |
Никол |
13214 |
232 |
23232 |
5.2 Добавление данных в файл
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
Адрес проживания |
Ворига |
Тангиро |
Унгиро_углы |
12332 |
232 |
Цюрупа12 |
5.3 Просмотр файла
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
Адрес проживания |
Иванов |
Иван |
Иванович |
212131 |
1312121 |
Ленина_45 |
Иванова |
Марина |
Никол |
13214 |
232 |
23232 |
Ворига |
Тангиро |
Унгиро_углы |
12332 |
233 |
Цюрупа12 |
5.4 Поиск пациентов по номеру медицинской карты
Введен № мед. карты: 232
Найдено:
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
Адрес проживания |
Иванова |
Марина |
Никол |
13214 |
232 |
23232 |
Данный пациент удален из файла.
5.5 Чтение модифицированного файла
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
Адрес проживания |
Иванов |
Иван |
Иванович |
212131 |
1312121 |
Ленина_45 |
Ворига |
Тангиро |
Унгиро_углы |
12332 |
233 |
Цюрупа12 |
Заключение
В процессе выполнения курсового проекта были разработаны структура и алгоритм работы приложения «Пациент», разработано техническое задание, описана входная и выходная информация, построена блок-схема, составлен контрольный пример. При этом были изучены особенности потокового ввода-вывода в стиле C++, работа со структурой. Результатом работы стало создание программного продукта для использования в медицинских учреждениях.
Программное обеспечение написано на языке C++ с использованием среды разработки Microsoft Visual Studio 6.0.
Информация о работе Программирование задачи «Структура «Пациент»