Решения прикладных задач с реализацией автоматизированной обработки экономической информации

Осуществление постановки и выбор алгоритмов решения задач обработки экономической информации. Разработка и программная реализация для их решения. Метод проектирования алгоритма. Разработка блок-схемы алгоритма. Метод тестирования. Инструкция пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.12.2017
Размер файла 449,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Решения прикладных задач с реализацией автоматизированной обработки экономической информации

Аннотация

алгоритм экономический информация программный

Данная курсовая работа посвящена разработке и реализации программы на языке С++ с использованием класса статических массивов структур и текстовой базы данных «PRICE».

Программа обеспечивает возможность работы над существующей базой данных, в которой хранится информация о названии магазина, названии товара, количестве товара и цене товара, а также выполнение требуемых функций по работе с этими данными. Курсовая работа содержит описание разработанных функций, листинг и тестирование программы, блок-схемы алгоритмов, дерево функции программы всех используемых функций и тестирование программы.

Введение

Разработать программу на языке С++ с использованием динамических массивов структур для обработки базы данных «PRICE».

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

Разработать программу на С++ с использованием статических массивов структур. Обработка данных должна включать следующие функции:

1) Просмотр существующей базы данных (чтение данных осуществляется из файла);

2) Редактирование базы данных (с сохранением изменений в файле);

3) Дополнение базы данных новыми записями ( с сохранением в файле);

4) Удаление записей из базы данных (с сохранением в файле) ;

5) Поиск в базе данных ( по одному и двум поисковым признакам) с выводом на экране найденных записей или сообщения о неуспешном поиске;

6) Сортировку данных по заданному полю.

Программа должна обеспечивать режим доступа к функциям в виде меню в режиме консоли.

Задание

Цель работы:

Описать структуру с именем PRICE, содержащую следующие поля:

Название

магазина

Название

товара

Количество

товара

Цена товара (руб.)

Написать программу, выполняющую следующие действия:

?ввод с клавиатуры данных в файл, состоящий из восьми элементов типа PRICE;

?Загрузка и печать на экране данных из файла

?Добавление записи

?Удаление записи

?Вывод на экран данных и результатов их обработки:

-упорядоченных записей в алфавитном порядке по названиям товаров;

-информацию о стоимости товара, название которого введено с клавиатуры; если таких товаров нет, выдать на дисплей соответствующее сообщение;

-поиск товаров по названиям магазинов, начинающимся с определенной буквы.

-поиск товаров по количеству.

1.Блок-схемы функций

Ввод БД из txt файла

Сохранение текущей БД в txt файл

Вывод текущей БД на экран

Добавление новой строки с данными в БД

Удаление строки из БД

Алфавитная сортировка БД по названию товара

Информация о стоимости товара

Поиск товаров по названию магазинов

Поиск товаров по количеству

Дерево функций

Граф диалога

№ вершины графа

Операция

0

Запуск программы

1

Меню программы

2

Создание файла

3

Вывод таблицы на экран

4

Сохранение таблицы в файл

5

Добавление записи

6

Удаление записи

7

Алфавитная сортировка товара

8

Информация о стоимости товара

9

Поиск товара по названию магазина

10

Поиск товара по количеству

Заключение

В данной курсовой работе была разработана программа, позволяющая работать с базой данных «PRICE» в соответствии с поставленными требованиями. Программа включает в себя процедуры, обеспечивающие выполнение всех поставленных задач для работы с базой данных. Главное меню программы позволяет обеспечить доступ к функциям программы и к сведениям, хранящимся в базе данных «PRICE».

С помощью класса статических массивов эффективно использовалась память, необходимая для работы программы. Проведенное тестирование показало работоспособность программы и соответствие её требованиям задания на курсовой проект.

Список используемой литературы

1. Б. Страуструп. Язык программирования С++, 3-е изд пер. с англ. - М.: "Бином", СПб.: "Невский диалект", 1999. - 991 с., ил.

2. Т.А. Павловская. Ю.А. Щупак С/C++. Программирование на языке высокого уровня. - СПб.: Питер,2007. - 461 с.: ил.

3. Прата. Объектно-ориентированное программирование в C++. 2 изд. - ЭКСМО, 2007. - 336 с.: ил.

4. Т.А. Павловская, Ю.А. Щупак. С/C++. Структурное программирование: Практикум. - СПб.: Питер, 2007. - 239 с.: ил.

Приложение

алгоритм экономический информация программный

Описание разработанных функций

Название функции

Назначение функции

void outputfile()

Сохранение текущей БД в txt файл

void inputfile()

Ввод БД из txt файла

void add()

Добавление новой строки с данными в БД

void deletemag()

Удаление строки из БД

void output()

Вывод текущей БД на экран

void sort_tov()

Алфавитная сортировка по названию товара

void poisk_tov()

Поиск информации о стоимости товара

void poisk_mag()

Поиск товаров по названию магазина

void poisk_kol()

Поиск товаров по количеству

Описание глобальных переменных:

struct price

char mag[l]

char tov[l]

int kol

int cena

-структура «PRICE»

-название магазина

-название товара

-количество товара

-цена товара

Листинг программы

#include<iostream.h>

#include<fstream.h>

#include<string.h>

#include<stdlib.h>

#include<conio.h>

#include<iomanip.h>

const int l=31;

struct price

{char mag[l], tov[l];

int kol, cena;

};

const int N=100;

class magazin

{private:

price x[N];

int n;

public:

void outputfile();

void inputfile();

void add();

void deletemag();

void output();

void sort_tov();

void poisk_tov();

void poisk_mag();

void poisk_kol();

};

int main()

{ magazin a;

setlocale(LC_ALL, "Russian");

int j,m;

while(1)

{ cout<<"1. Загрузка из файла.\n";

cout<<"2. Вывод на экран.\n";

cout<<"3. Сохранение таблицы в файл.\n";

cout<<"4. Добавление записи.\n";

cout<<"5. Удаление записи.\n";

cout<<"6. Сортировка по названию товара.\n";

cout<<"7. Информация о стоимости товара.\n";

cout<<"8. Поиск по названию магазина.\n";

cout<<"9. Поиск товаров по количеству.\n";

cout<<"10. Выход.\n\n";

cout<<"Ваш выбор (1%10):";

cin>>j;

switch(j)

{ case 1: a.inputfile(); break;

case 2: a.output(); break;

case 3: a.outputfile();break;

case 4: a.add(); break;

case 5: a.deletemag(); break;

case 6: a.sort_tov();break;

case 7: a.poisk_tov();break;

case 8: a.poisk_mag();break;

case 9: a.poisk_kol();break;

case 10: cout<<"Конец программы"; getch(); exit(0);

default:cout<<"Нет пункта!"; getch(); break;

}

}

}

void magazin:: inputfile()

{ifstream fin;

char file[l];

cout<<"Имя файла:"; cin>>file;

fin.open(file);

if(fin==NULL) {cout<<"Не открывается.\n"; getch(); exit(1);}

n=0;

do{fin>>x[n].mag>>x[n].tov>>x[n].kol>>x[n].cena;

n++;

}while(fin.good());

n--;

cout<<"Файл введен.\n"; getch();

fin.close();

}

void magazin:: output()

{ int i;

cout<<"\n----------------------------------------------------------\n";

cout<<"\n| N | МАГАЗИН | ТОВАР | КОЛИЧЕСТВО | ЦЕНА |\n";

cout<<"\n----------------------------------------------------------\n";

for(i=0;i<n;i++)

{cout<<"|"<<setw(3)<<i+1

<<"|"<<setw(13)<<setiosflags(ios::left)<<x[i].mag

<<"|"<<setw(15)<<setiosflags(ios::left)<<x[i].tov

<<"|"<<setw(13)<<setiosflags(ios::left)<<x[i].kol

<<"|"<<setw(8)<<setiosflags(ios::left)<<x[i].cena<<"|"<<endl;

}

cout<<"\n----------------------------------------------------------\n";

getch();

}

void magazin:: add()

{ price t;

if(n==N) {cout<<"Массив переполнен.\n"; getch(); exit(0);}

cout<<"Название магазина:"; cin>>t.mag;

cout<<"Название товара:"; cin>>t.tov;

cout<<"Количество товара:"; cin>>t.kol;

cout<<"Цена товара:"; cin>>t.cena;

x[n]=t; n++;

cout<<"Запись добавлена.\n";

getch();

output();

}

void magazin:: deletemag()

{char ch;

int i,j;

output();

cout<<"Номер удаленной строки:";

cin>>j;

if(j<1||j>n) {cout<<"Нет такой строки.\n"; getch(); exit(0);}

cout<<setw(20)<<x[j-1].mag<<endl;

cout<<"Удалить?(y/n):"; cin>>ch;

if(ch=='y')

{for(i=j;i<n;i++)

x[i-1]=x[i];

n--;

}

cout<<"Запись удалена.\n"; getch();

}

void magazin:: outputfile()

{ofstream out;

char file[l];

int i;

cout<<"Имя файла:";

cin>>file;

out.open(file);

if (out==NULL) {cout<<"Не найден"; getch(); exit(1);}

for(i=0;i<n;i++)

{out<<setw(16)<<setiosflags(ios::left)<<x[i].mag

<<setw(16)<<setiosflags(ios::left)<<x[i].tov

<<setw(8)<<setiosflags(ios::left)<<x[i].kol

<<setw(8)<<setiosflags(ios::left)<<x[i].cena<<endl;}

out.close();

cout<<"Файл сохранен"; getch();

}

void magazin:: sort_tov()

{int i,fl,nn;

price t;

nn=n;

do {fl=0; nn--;

for(i=0;i<nn;i++)

if(strcmp(x[i].tov,x[i+1].tov)>0)

{t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1;}

}while(fl==1);

output();

}

void magazin:: poisk_tov()

{int i;

char tov[l];

cout<<"Введите название товара:"; cin>>tov;

int f=0;

for(i=0;i<n;i++)

if(strcmp(x[i].tov,tov)==0)

{ cout<<"Стоимость товара: ";

cout<<setw(8)<<setiosflags(ios::left)<<x[i].cena<<endl;

f++;

}getch();

if(f==0) {cout<<"Нет такой записи\n"; getch();}

}

void magazin:: poisk_mag()

{int i,k;

char mag[l];

cout<<"Введите название магазина или первую букву:"; cin>>mag;

int f=0;

for(i=0;i<n;i++)

if(strncmp(mag,x[i].mag,1)) {k=1;}

else { cout<<"Название товара: ";

cout<<setw(8)<<setiosflags(ios::left)<<x[i].tov<<endl;

f++;

} getch();

if(f==0) {cout<<"Нет такой записи\n"; getch();}

}

void magazin:: poisk_kol()

{int i;

int kol;

cout<<"Введите количество товара:"; cin>>kol;

int f=0;

for(i=0;i<n;i++)

if(x[i].kol==kol)

{ cout<<"Название товара: ";

cout<<setw(8)<<setiosflags(ios::left)<<x[i].tov<<endl;

f++;

}getch();

if(f==0) {cout<<"Нет такой записи\n"; getch();}

}

Тестирование программы

1. Главное меню

2. Ввод файла price.txt

3. Алфавитная сортировка по названию товара

4. Добавление записи

5. Удаление строки

6. Сохранение таблицы

7. Информация о стоимости товара

сообщение при вводе несуществующего товара:

8. Поиск товара по названию магазина

9. Поиск товаров по количеству

10. Выход из программы

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.