Хранение данных на внешних носителях
Автор работы: Пользователь скрыл имя, 16 Января 2015 в 20:14, курсовая работа
Описание работы
Требуется разработать программный продукт для записи информации о автомобилях на внешние носители данных. На носители информации должна быть реализована запись следующих данных:
- Ид автомобиля
- Марка автомобиля;
- Год выпуска;
Содержание работы
1.
Техническое задание.....................................................................................
4
2.
Постановка задачи.........................................................................................
5
3.
Блок-схема программного обеспечения.....................................................
6
4.
Исходный код программного обеспечения.................................................
7
5.
Контрольный пример....................................................................................
11
6.
Протокол работы контрольного примера...................................................
14
7.
Заключение...................................................
Файлы: 1 файл
Министерство образования Российской
Федерации
Уфимский государственный авиационно-технический
университет
Факультет информатики и робототехники
Курсовая работа
на тему «Хранение данных на внешних носителях»
по дисциплине
программирование на C++
Студент
Дата защиты__________________
Оценка ______________________
Уфа 2012 г.
АННОТАЦИЯ
Пояснительная записка к курсовой
работе содержит постановку и программу
решения задачи «Структура «Автомобиль».
Программа на курсовой проект написана
в среде Dev-C на языке C++ и отлажена на данных
контрольного примера. Выполняется в операционной
системе Microsoft Windows Seven и выше.
Содержание
1. |
Техническое задание..................................................................................... |
4 |
2. |
Постановка задачи......................................................................................... |
5 |
3. |
Блок-схема программного обеспечения..................................................... |
6 |
4. |
Исходный код программного обеспечения................................................. |
7 |
5. |
Контрольный пример.................................................................................... |
11 |
6. |
Протокол работы контрольного примера................................................... |
14 |
7. |
Заключение....................................................................................................
|
15 |
|
|
|
1. Техническое
задание
Требуется разработать программный
продукт для записи информации о автомобилях
на внешние носители данных. На носители
информации должна быть реализована запись
следующих данных:
- Ид автомобиля
- Марка автомобиля;
- Год выпуска;
- Цвет;
- Цена;
После создания файла с данными
программа должна реализовывать следующие
функции:
- Запись в файл данных;
- Чтение данных из файла;
- Поиск автомобиля по ид;
- Удаление данных из файла.
Программа должна работать
в консольном режиме и поддерживать русский
текст и русскую раскладку клавиатуры.
Область применения данной
программы – продажа автомобилей, автопарк.
2. Постановка задачи
Используя ввод-вывод в стиле
С создать файл и записать в него структурированные
данные.
Вывести созданный файл на экран.
Удалить из файла данные в соответствии
с вариантом.
Добавить в файл данные в соответствии
с вариантом.
Вывести измененный файл на
экран.
Используя ввод-вывод в стиле
С++ создать файл и записать в него структурированные
данные.
Вывести созданный файл на экран.
Удалить из файла данные в соответствии
с вариантом.
Добавить в файл данные в соответствии
с вариантом.
Вывести измененный файл на
экран.
Задание
Структура "Автомобиль":
-
Цвет.
Входная информация: данные
о автомобилях.
Выходная информация: Созданный
файл datafile.txt с информацией о автомобилей.
2. Блок-схема программного
обеспечения
3. Исходный код программного
обеспечения
#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <fstream.h>
#include <windows.h>
using namespace std;
struct avto//объявление структуры
{
char marka[20];
int year;
int id;
float price;
char color[20];
};
void create_file(int n1, avto mass1[500])//Объявление
функции создания файла
{
fstream datafile("datafile.txt",ios::out);
for(int i=0;i<n1;i++)
{
cout<<"\n"<<"введите
данные о автомобиле № "<<i+1<<"\n"<<"------------------->";
cout<<"\n"<<"Ид =";
cin>>mass1[i].id;
cout<<"марка ="; cin>>mass1[i].marka;
cout<<"год выпуска = ";
cin>>mass1[i].year;
cout<<"Цена = "; cin>>mass1[i].price;
cout<<"Цвет = "; cin>>mass1[i].color;
cout<<"<-------------------\n";
}
datafile.close();//Закрытие файлового
потока
}
void vivod_dann()//Объявление функции
чтения файла
{
cout<<"\n"<<"\n"<<"====================================="<<"\n"<<"Чтение
файла...........\n";
fstream datafile;
avto pass;
datafile.open("datafile.txt", ios::in);
cout<<"\n";
do//чтение файла
{ datafile>>pass.id;
datafile>>pass.marka;
datafile>>pass.year;
datafile>>pass.price;
datafile>>pass.color;
if (datafile.eof()) break;
cout<<"Ид
= "<<pass.id<<"\n";
cout<<"марка
= "<<pass.marka<<"\n";
cout<<"год выпуска = "<<pass.year<<"\n";
cout<<"Цена
= "<<pass.price<<"\n";
cout<<"Цвет
= "<<pass.color<<"\n";
cout<<"==================================\n"<<"\n";
}
while(!datafile.eof());
datafile.close();
}
void vvod_dann()//Объявление функции
ввода данных в файл
{
int n1, i; avto pass;
i=0;
ofstream datafile("datafile.txt", ios::app);
cout<<"Введите количество
новых добовляемых элементов :";
cin>>n1;
if(n1!=0)
do//запись в массив
{
cout<<"\n";
cout<<"Ид
= "; cin>>pass.id;
cout<<"марка
= "; cin>>pass.marka;
cout<<"год выпуска = ";
cin>>pass.year;
cout<<"Цена
= "; cin>>pass.price;
cout<<"Цвет
= "; cin>>pass.color;
datafile<<pass.id<<" ";
datafile<<pass.marka<<" ";
datafile<<pass.year<<" ";
datafile<<pass.price<<" ";
datafile<<pass.color<<" ";
datafile<<"\n";
i++;
}
while(i<n1);
datafile.close();
}
void udal_dann()//Объявление функции
поиска и удаления элементов
из файла
{
// fstream datafile("datafile.dat", ios::in);
avto pass[50];
int i=0; int n1=0;
fstream datafile;
datafile.open("datafile.txt", ios::in);
cout<<"\n";
do//чтение файла
{ datafile>>pass[i].id;
datafile>>pass[i].marka;
datafile>>pass[i].year;
datafile>>pass[i].price;
datafile>>pass[i].color;
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].year)
{
deln=i;
cout<<"\n===================================НАЙДЕНО=================================\n";
cout<<"Ид ="<<pass[i].id<<"\nМарка="<<pass[i].marka<<"\nГод
выпуска="<<pass[i].year<<"\n№Цена="<<pass[i].price<<"\nЦвет="<<pass[i].color<<"\n";
cout<<"===========================================================================\n";
check=1;
};
};
if(check!=1)
{
cout<<"=============================\n";
cout<<"Нет элементов
удовлетворяющих поиску\n"<<"=============================\n";
}
else
{
int sel;
cout<<"Удалить данный(е)
элемент(ы)?\n"<<"1. Да\n"<<"2.
Нет\n";
cin>>sel;
if (sel==1)
{
fstream datafile("datafile.txt",ios::out);
for(i=0;i<n1;i++)
if(pass[i].year>mk)
{
datafile<<pass[i].id<<" ";
datafile<<pass[i].marka<<" ";
datafile<<pass[i].year<<" ";
datafile<<pass[i].price<<" ";
datafile<<pass[i].color<<" ";
datafile<<"\n";
}
cout<<"элементы удалены...\n";
}
};
}
void find_dann()//Объявление функции
поиска и удаления элементов
из файла
{
// fstream datafile("datafile.dat", ios::in);
avto pass[50];
int i=0; int n1=0;
fstream datafile;
datafile.open("datafile.txt", ios::in);
do//чтение файла
{ datafile>>pass[i].id;
datafile>>pass[i].marka;
datafile>>pass[i].year;
datafile>>pass[i].price;
datafile>>pass[i].color;
i++; n1++;
}
while(!datafile.eof());
datafile.close();
int mk; bool check=0; int deln;
cout<<"Введите ид, для
поиска \n"; cin>>mk;
for(i=0;i<n1;i++)
{
if(mk==pass[i].id)
{
deln=i;
cout<<"\n===================================НАЙДЕНО=================================\n";
cout<<"Ид ="<<pass[i].id<<"\nМарка="<<pass[i].marka<<"\nГод
выпуска="<<pass[i].year<<"\n№Цена="<<pass[i].price<<"\nЦвет="<<pass[i].color<<"\n";
cout<<"===========================================================================\n";
check=1;
};
};
if(check!=1)
{
cout<<"=============================\n";
cout<<"Нет элементов
удовлетворяющих поиску\n"<<"=============================\n";
}
}
int main(int argc, char *argv[])
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);//настройка
ввода и вывода в консоли
с русским шрифтом
avto mass[500];
int n;
cout<<"**************************************\n";
cout<<"*******-----База автопарка-----*******\n";
cout<<"**************************************\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: vvod_dann();
// cout<<"Введите количество
вводимых автомобиле: "; cin>>n; create_file(n,mass);
break;
case 2: vivod_dann(); break;
case 3: udal_dann(); break;
case 4: find_dann();
break;
}
}
while (k!=5);
};
4. Контрольный пример
4.1 Интерфейс программы
4.2 Создание и ввод данных
в файл
сформирован файл datafile.dat с введенными
данными.
4.3 Чтение файла
4.4 Поиск и вывод данных по параметру
4.5 Поиск и удаление
данных
5. Протокол работы
контрольного примера
5.1 Создание нового файла.
Название файла – datafile.dat
Содержимое файла:
ID |
Марка |
Год производства |
Цена |
Цвет |
1 |
Ауди |
1992 |
200000 |
Синий |
2 |
Ваз |
2002 |
150000 |
Красный |
5.2 Добавление данных в
файл
ID |
Марка |
Год производства |
Цена |
Цвет |
3 |
Опель |
2003 |
400000 |
Серый |
5.3 Просмотр файла
ID |
Марка |
Год производства |
Цена |
Цвет |
1 |
Ауди |
1992 |
200000 |
Синий |
2 |
Ваз |
2002 |
150000 |
Красный |
3 |
Опель |
2003 |
400000 |
Серый |
5.4 Поиск автомобиля по ID
Введен № ID: 2
Найдено:
Фамилия |
Имя |
Отчество |
№ мед.карты |
№ полиса |
2 |
Ваз |
2002 |
150000 |
Красный |
5.5 Поиск и удаление автомобилей,
старше заданного года:
Задан год: 1993
Найден и удален:
ID |
Марка |
Год производства |
Цена |
Цвет |
1 |
Ауди |
1992 |
200000 |
Синий |
5.6 Чтение модифицированного
файла
ID |
Марка |
Год производства |
Цена |
Цвет |
2 |
Ваз |
2002 |
150000 |
Красный |
3 |
Опель |
2003 |
400000 |
Серый |
Заключение
В процессе выполнения курсового
проекта были разработаны структура и
алгоритм работы приложения «Автопарк»,
разработано техническое задание, описана
входная и выходная информация, построена
блок-схема, составлен контрольный пример.
При этом были изучены особенности потокового
ввода-вывода в стиле C++, работа со структурой.
Результатом работы стало создание программного
продукта для использования в автопарках.
Программное обеспечение написано
на языке C++ с использованием среды разработки
Dev-C
Информация о работе Хранение данных на внешних носителях