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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    173,03 Кб
  • Опубликовано:
    2012-08-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Введение

Целью работы является разработка программы на языке Си++ для осуществления постановки и выбора алгоритмов решения задач обработки экономической информации, разработка алгоритмов и программ для их решения (требования к программе изложены в аннотации), моя программа должна корректно обрабатывать данные в виде следующей таблицы:

Магазин

Товар

Количество

Стоимость


Разработанная программа позволяет выполнять следующие задачи:

         1. Просмотр существующей базы данных

         2. Создание новой базы данных

         3. Редактирование базы данных (добавление и удаление записей)

         4. Поиск в базе данных по определённым полям

         5. Сортировка базы данных по определённому полю

Анализ и исследование задачи Для решения задачи из технических средств использовался компьютер на 32-битной аппаратной платформе x86. x86 (англ. Intel 80x86) - архитектура процессора c одноименным набором команд, впервые реализованная в процессорах компании Intel. Из программных средств для компилирования задачи была использована Dev C++ - свободная интегрированная среда разработки приложений для языков программирования C/C++. В дистрибутив входит компилятор MinGW. Сам Dev-C++ написан на Delphi. Распространяется согласно GPL. Проект поддерживается SourceForge. Основатель проекта Колин Лаплас, компания Bloodshed Software.

Одно время был доступен Linux-порт, однако на настоящее время актуализирована только Windows-версия.

На настоящий момент не разрабатывается, вместо него активно разрабатывается порт интерфейса Dev-C++ на wxWidgets - wxDev-C++.

Для создания блок-схем , иллюстрирующих программу, на компьютере была использована программа Microsoft Word 2003.

Анализ сортировки в программе Сортировка по алфавиту в программе реализуется при помощи использования функции strcmp, которая сравнивает друг с другом две строки. Сравнение начинается с первых символов строк, если они равны друг другу, то дальше функция сравнивает следующую пару символов до тех пор, пока символы в паре будут различны или будет достигнут конец строки.

Если эта функция выдаёт значение ноль, то пара символов эквивалентна.

В моём случае я сравниваю первый и последующий элементы массива, если последующий больше предыдущего, то мы меняем их местами с помощью функции replace(меняет местами элементы массива при использовании временного), реализованной в моей программе(например, первый элемент-символ Б, второй А; А>Б, теперь первым элементом будет являться А, а вторым Б). Также заглавные буквы-символы имеют больший приоритет, чем строчные.


1. Описание основных переменных и функций

.1 Описание функций

В программе используются следующие основные функции (табл. 1)

Таблица №1

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

Параметры

Назначение

void main

()

основная функция программы

void create

()

создание файла новой базы данных

void load

(char *base)

загрузка данных из файла в массив структур, base - имя файла базы данных

void save

(char *base)

запись содержания структур в файл, base - имя файла базы данных

void add

(char *base)

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

void view

(char *base)

просмотр содержания массива, base - имя файла базы данных

void delet

(char *base)

удаление записи, base - имя файла базы данных

void sort

(char *base)

работа с базой данных, base - имя файла базы данных

void sort1

()

сортировка по алфавиту

void stoimtovara

(char *base)

поиск стоимости по товару

void tovarpokolvo

(char *base)

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

void magazintovar

(char *base)

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

void replace

(int x)

меняет местами значения в массиве, элемент[x] меняется значением с элементом[x+1]




1.2 Описание переменных

В программе используются следующие основные переменные (табл. 2)

Таблица №2

Название переменной

Тип

Кол-во символов

ch

char

хранит текущий пункт меню

1

err

int

код ошибки

1

*file

char

имя файла

1

size

int

кол-во записей в БД

1

*f

FILE

указатель на файл

1

*name

char

имя файла

1

list[]

kyrs

массив, в котором хранится БД

300

fin[]

kyrs

массив, хранящий результаты поиска

300

tmp

kyrs

временное хранилище записи БД

1

j

int

счётчик цикла или элемент массива

1

i

int

счётчик цикла или элемент массива

1

vv

int

счётчик цикла

1




2. Блок-схемы

.1 Общий принцип работы программы



2.2 Блок-схемы основных функции программы

Рис 2. - Блок-схема главной функции - main():

Рис 3. - Функция create(), создает файл базы данных

Рис 4. - Функция open(), открывает файл базы данных

 

Рис 5. - Функция load(), загружает данные из файла в базу данных

Рис 6. - Функция save(), сохраняет изменения в файле базы данных

Рис 7. - Функция add(), добавляет запись в базу данных

Рис 8. - Функции view(), осуществляет просмотр базы данных


Рис 10. - Функция delet(), удаляет запись из базы данных

 ch=’1’

ch=’3’

 ch=’4’

ch=’5’

Рис 12. - Функция sort(), работа с базой данных



Нет

Да

нет

Рис 13. - Функция sort1() осуществляет сортировку базы данных по алфавиту




Рис. 14. - Функция stoimtovara(char*base) осуществляет поиск стоимости товаров

Рис 15. - Функция magazintovar(char*base) осуществляет поиск товаров по первой букве магазина, в котором они есть

Рис 16. - Функция tovarpokolvo(char*base) осуществляет поиск названия товара по его количеству

Рис 17. - Функция replace(int x) меняет местами значения элементов массива

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

//9.cpp

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

#include <iostream>

#include <fstream>

#include <iomanip>

#include <io.h>

#include <dos.h>

#include <windows.h>

#include <function.cpp>namespace std;ch, *file;err=0, size=0;char *file;create();main()

{("cls");<<"Viberite deistvie:"<<endl;<<"1. Otkrit' bazu"<<endl;<<"2. Sozdat' bazu"<<endl;<<"3. Vihod"<<endl;ch=getch();((ch!='1')&&(ch!='2')&&(ch!='3'));(ch=='3') exit(0);(ch=='2') create();(ch=='1') {(err==0){<<"Please enter name file: "<<endl;*name;*f;>>name;((f=fopen(name,"r"))==NULL){<<"File not found!"<<endl;

}{=1;=new char(strlen(name));(file,name);(f);(file);

}

}

}file;

}create(){<<"Vvedite imya novogo faila: ";*name;>>name;<<"\r\nSozdanie...\r\n";*f;((f=fopen(name,"w"))==NULL){<<"Oshibka!!!";();(1);

}=new char(strlen(name));(file,name);(f);(file);

}

//function.cpp

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

#include <iostream>

#include <fstream>

#include <iomanip>

#include <io.h>

#include <dos.h>

#include <windows.h>namespace std;char ch;int size;fs=0;PRICE {magazin[30],tovar[30];kolvo,cena,id;

} list[300],tmp, fin[300];load(char *base);save(char *base);add(char *base);view(char *base);delet(char *base);sort(char *base);sort1();stoimtovara(char *base);tovarpokolvo(char *base);magazintovar(char *base);replace(int);open(char *base){(base);<<"Vibirite deistvie:"<<endl;<<"1. Prosmotr"<<endl;<<"2. Dobavlenie "<<endl;<<"3. Udalenie zapisi"<<endl;<<"4. Poisk i sortirovka"<<endl;<<"5. Vihod"<<endl;ch=getch();((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5'));(ch){'1': view(base);break;'2': add(base);break;'3': delet(base);break;'4': sort(base);break;'5': exit(0); break;: exit(0);

}}sort(char *base){("cls");<<"Please select field:\r\n1.Po alfavity 2.Stoimostb tovara 3.Tovar po kolichestvy 4.Tovari po magaziny \n5.Back to menu"<<endl;ch=getch();((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5'));(ch){'1': sort1();break;'2': stoimtovara(base);break;'3': tovarpokolvo(base);break;'4': magazintovar(base);break;'5': open(base);break;: exit(0);}(base);<<"\r\nSorting...OK! View base";();(base);}sort1(){j;(j=0; j<size; j++)(strcmp(list[j].tovar,list[j+1].tovar)>0) replace(j);

}stoimtovara(char*base){("cls");<<"Please enter find record:\r\n";<<"Vvedite tovar: "<<endl; cin>>tmp.tovar;j=0,i=0,vv=0;(;j<=size;j++)(strcmp(tmp.tovar,list[j].tovar)==0){[i].cena=list[j].cena;[i].id=list[j].id;i++; vv=1;

}(vv==0)cout<<"Takogo tovara net";=--i;(tmp.tovar, "");.cena=0;();z,l,p=0;<<" ID ";<<" Stoimostb tovara";<<endl;(z=0; z<=fs; z++){<<fin[z].id<<" ";<<fin[z].cena<<" ";<<endl;++;(p==10){=0;getch();}}();open(base);}magazintovar(char *base)

{ system("cls");<<"Please enter find record:\r\n";<<"Vvedite pervyu bykvy nazvania magazina:";t;>> t;z=0;int p=0;j=0;( ;j<=size;j++)

{if (list[j].magazin[0]==t)

{z++;<< list[j].tovar<<"\n";};

}(z==0){<<"net sovpadenii";cout<<"\n";<<endl;

}();(base);

}tovarpokolvo(char *base){("cls");<<"Please enter find record:\r\n";<<"Vvedite kolichestvo tovara: "<<endl; cin>>tmp.kolvo;j=0,i=0,vv=0;(;j<=size;j++)(tmp.kolvo==list[j].kolvo){(fin[i].tovar,list[j].tovar);[i].id=list[j].id;i++; vv=1;

}(vv==0)cout<<"Takogo kolichestva tovara net";=--i;(tmp.tovar, "");.kolvo=0;();z,l,p=0;<<" ID ";<<" Tovar opredelennogo kolichestva";<<endl;(z=0; z<=fs; z++){<<fin[z].id<<" ";<<fin[z].tovar<<" ";<<endl;++;(p==10){=0;getch();}}();open(base);}replace(int x){(tmp.magazin,list[x].magazin);(tmp.tovar,list[x].tovar);.kolvo=list[x].kolvo;.cena=list[x].cena;//1(list[x].magazin,list[x+1].magazin);(list[x].tovar,list[x+1].tovar);[x].kolvo=list[x+1].kolvo;[x].cena=list[x+1].cena;//2(list[x+1].magazin,tmp.magazin);(list[x+1].tovar,tmp.tovar);[x+1].kolvo=tmp.kolvo;[x+1].cena=tmp.cena;//3(tmp.magazin, "");(tmp.tovar, "");.kolvo=0;.cena=0;

}delet (char *base){("cls");i,j;<<"ID: ";>>i;

-i;(i==size) --size;

else{

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

strcpy(list[j].magazin,list[j+1].magazin);

strcpy(list[j].tovar,list[j+1].tovar);

list[j].kolvo=list[j+1].kolvo;

list[j].cena=list[j+1].cena;

}

--size;}<<"\r\nDelete record"<<i+1<<"OK!\r\n";();(base);(base);}view(char *base){z,l,p=0;("cls");<<" ID: ";<<" Magazin: ";<<" Tovar: ";<<" Kolichestvo: ";<<" Cena: ";<<endl;(z=0; z<=size; z++){<<list[z].id<<" ";<<list[z].magazin<<" ";<<list[z].tovar<<" ";<<list[z].kolvo<<" ";<<list[z].cena<<" ";<<endl;++;(p==10){=0;getch();}}();(base);

}add(char *base){("cls");*f=fopen(base,"a");<<"Magazin: "; cin>>tmp.magazin;<<"Tovar: "; cin>>tmp.tovar;<<"Kolichestvo: "; cin>>tmp.kolvo;<<"Cena: "; cin>>tmp.cena;*css;t=0;(;t<=strlen(tmp.magazin);t++){=strchr (tmp.magazin,' '); if (css) *(css)='_';}++;(list[size].magazin,tmp.magazin);(list[size].tovar,tmp.tovar);[size].kolvo=tmp.kolvo;[size].cena=tmp.cena;(tmp.magazin, "");(tmp.tovar, "");.kolvo=0;.cena=0;(f);(base);(base);

}load(char *base){j=0;*f=fopen(base,"r");(!feof(f)){(f,"%s %s %u %u", &tmp.magazin , &tmp.tovar, &tmp.kolvo, &tmp.cena);(strcmp(tmp.magazin,"")!=0){(list[j].magazin,tmp.magazin);(list[j].tovar,tmp.tovar);[j].kolvo=tmp.kolvo;[j].cena=tmp.cena;[j].id=j+1;++;}(tmp.magazin, "");(tmp.tovar, "");.kolvo=0;.cena=0;}=--j;(f);}

автоматизация обработка экономический информация

Заключение

В ходе выполнения курсовой работы разработана программа на языке Си++ для обработки данных типа структура. Обработка данных включает:

         - создания новой БД

         - просмотр существующей БД

         - редактирование БД

         - дополнение БД

         - удаление записей из БД

         - сортировка БД по определённому полю

         - поиск записи по определённым критериям

При разработке программе использовались функции, массивы, циклы, указатели.

Разработанная программа позволяет повысить эффективность обработки данных и сократить время на поиск необходимых записей.

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!