Хранение данных на внешних носителях

Автор работы: Пользователь скрыл имя, 16 Января 2015 в 20:14, курсовая работа

Описание работы

Требуется разработать программный продукт для записи информации о автомобилях на внешние носители данных. На носители информации должна быть реализована запись следующих данных:
- Ид автомобиля
- Марка автомобиля;
- Год выпуска;

Содержание работы

1.
Техническое задание.....................................................................................
4
2.
Постановка задачи.........................................................................................
5
3.
Блок-схема программного обеспечения.....................................................
6
4.
Исходный код программного обеспечения.................................................
7
5.
Контрольный пример....................................................................................
11
6.
Протокол работы контрольного примера...................................................
14
7.
Заключение...................................................

Файлы: 1 файл

Курсовая_программирование на C++.docx

— 123.67 Кб (Скачать файл)

Министерство образования Российской Федерации

Уфимский государственный авиационно-технический университет

Факультет информатики и робототехники

 

 

 

 

 

 

Курсовая работа

на тему «Хранение данных на внешних носителях»

 

по дисциплине

программирование на C++

 

 

Студент

                                                              

Дата защиты__________________

Оценка ______________________

 

 

 

Уфа 2012 г.

 

 

 

 

 

 

 

 

АННОТАЦИЯ

 

Пояснительная записка к курсовой работе содержит постановку и программу решения задачи «Структура «Автомобиль».

Программа на курсовой проект написана в среде Dev-C на языке C++ и отлажена на данных контрольного примера. Выполняется в операционной системе Microsoft Windows Seven  и выше.

 

Содержание

 

1.

Техническое задание.....................................................................................

4

2.

Постановка задачи.........................................................................................

5

3.

Блок-схема программного обеспечения.....................................................

6

4.

Исходный код программного обеспечения.................................................

7

5.

Контрольный пример....................................................................................

11

6.

Протокол работы контрольного примера...................................................

14

7.

Заключение....................................................................................................    

15

     

 

 

 

1. Техническое  задание

Требуется разработать программный продукт для записи информации о автомобилях на внешние носители данных. На носители информации должна быть реализована запись следующих данных:

- Ид автомобиля

- Марка автомобиля;

- Год выпуска;

- Цвет;

- Цена;

После создания файла с данными программа должна реализовывать следующие функции:

- Запись в файл данных;

- Чтение данных из файла;

- Поиск автомобиля по ид;

- Удаление данных из файла.

Программа должна работать в консольном режиме и поддерживать русский текст и русскую раскладку клавиатуры.

Область применения данной программы – продажа автомобилей, автопарк.

 

2. Постановка задачи

  1. Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные.

  1. Вывести созданный файл на экран.

  1. Удалить из файла данные в соответствии с вариантом.

  1. Добавить в файл данные в соответствии с вариантом.

  1. Вывести измененный файл на экран.

  1. Используя ввод-вывод в стиле С++ создать файл и записать в него структурированные данные.

  1. Вывести созданный файл на экран.

  1. Удалить из файла данные в соответствии с вариантом.

  1. Добавить в файл данные в соответствии с вариантом.

  1. Вывести измененный файл на экран.

 

Задание

Структура "Автомобиль":

  • Ид автомобиля;

  • Марка;

  • Год выпуска;

       -     Цвет.

  • Цена

 

 

Входная информация: данные о автомобилях.

Выходная информация: Созданный файл 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

 

 


Информация о работе Хранение данных на внешних носителях