Использование файлов для хранения и обработки данных

Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 12:40, курсовая работа

Краткое описание

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

Содержание

Постановка задачи…………………………………………………………3
Анализ задачи……………………………………………………………....3
Спецификация типов данных……………………………………………..4
Описание функций…………………………………………………………4
Схема алгоритма………………………………………..………………….6
Листинг программы………………………………………………………11
Результаты тестирования программы……………………………………13

Вложенные файлы: 1 файл

Kursovaya.doc

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

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

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ»

Факультет информационных технологий

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

 

 

 

 

КУРСОВОЙ ПРОЕКТ

по дисциплине "Программирование"

 

Использование файлов для  хранения и обработки данных

 

ОГУ

 

 

 

 

 

 

Руководитель:

 

"___"__________2012 г.

Исполнитель:

 

"___"__________2012 г.

 

 

 


 

 

 

Содержание

  1. Постановка задачи…………………………………………………………3
  2. Анализ задачи……………………………………………………………....3
  3. Спецификация типов данных……………………………………………..4
  4. Описание функций…………………………………………………………4
  5. Схема алгоритма………………………………………..………………….6
  6. Листинг программы………………………………………………………11
  7. Результаты тестирования программы……………………………………13

 

 

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

Задание 1

Дан символьный файл . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем, как и прежде называть словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файл .

 

Задание 2

 Даны два файла и . Файл - это инвентарный файл, содержащий сведения о том, сколько изделий каких видов продукции хранится на складе (вид продукции задается его порядковым номером). Файл - это вспомогательный файл, содержащий сведения о том, на сколько уменьшилось или увеличилось количество изделий по некоторым видам продукции. Вспомогательный файл может содержать несколько сообщений по продукции одного или не содержать ни одного такого сообщения. Обновить инвентарный файл на основе вспомогательного, образовав новый файл .

 

         2 Анализ задачи

 

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

 

 

3 Спецификация типов данных

bool flag = false – переменная  типа Boolean, которая принимает либо true, либо false. Служит как переключатель в записи. 
bool finished; - флаг конца работы программы

Тип String^ - представляет текст как последовательность знаков Юникода.

char end_ch – возвращает значение true если конец строки

string res – переменная строкового типа, возвращающая результат строки.

char ch – символьная переменная,

4 Спецификация процедур и функций

 

 

void checkArray(_All p)– функция считывает исходные данные и сравнивает с элементами массива

string strToDownCase () – функция получает строку и переводит ее в нижний регистр.

void prov(string &resultat, string tim)-функция удалияет из файла все однобуквенные слова и лишние пробелы.

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

 

 

 

 

4. Схема алгоритма

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

 

 

 

#include <iostream>

#include <string>

#include <locale.h>

#include <conio.h>

#include <sstream>

#include <fstream>

using namespace std;

 

 

string CharToStr(char str[256])

{

string result;

int t = 0;

while(true)

{

if(str[t] == ' ') t++;

else break;

}

for (int i=t; i<strlen(str); i++)

{

result += str[i];

}

return result;

}

 

void prov(string &resultat, string tim)

{

string vr = "";

bool flag = false;

for (int i=0; i<resultat.length(); i++)

{

if(i != resultat.length() - 1)

{

if(resultat[i] ==  ' ') { if(vr == tim) { flag = true; break;} else vr = ""; }

else

{

vr+=resultat[i];

}

}

else

{

if(resultat[i] == ' ') { if(vr == tim) flag = true; }

else

{

vr+=resultat[i];

if(vr == tim) flag = true; 

}

}

}

if(!flag)

{

if(resultat == "") resultat+=tim;

else resultat += " " + tim;

}

}

 

int main()

{

setlocale(0, "Russian");

string resultat;

ifstream in ("e:\\input.txt");

char str[256];

in.getline(str, 256);

in.close();

 

string stroka = CharToStr(str);

string tim = "";

 

for (int i=0; i<stroka.length(); i++)

{

if(i != stroka.length() - 1)

{

if(stroka[i] == stroka[i+1] && stroka[i] == ' ') continue;

else if(stroka[i] == ' ')

{

prov(resultat, tim);

tim = "";

}

else tim+=stroka[i];

}

else

{

if(stroka[i] == ' ') prov(resultat, tim);

else { tim+=stroka[i]; prov(resultat, tim); }

}

}

 

cout << resultat;

getch();

return 0;

}

 

#include <string>

#include <fstream>

#include <vector>

#include <iostream>

#include <locale.h>

using namespace std;

 

struct _All{

string nazv;

int size;

};

 

vector<_All>mass;

 

void checkArray(_All p){

for(int i=0; i<mass.size(); i++){

if(mass[i].nazv == p.nazv) mass[i].size += p.size;

}

}

 

int main(){

setlocale(0, "Russian");

_All p;

ifstream in ("e:\\input.txt");

while(!in.eof()){

in >> p.nazv >> p.size;

mass.push_back(p);

}

in.close();

 

ifstream in1 ("e:\\input2.txt");

while(!in1.eof()){

in1 >> p.nazv >> p.size;

checkArray(p);

}

in1.close();

 

ofstream out ("e:\\output.txt");

for (int i=0; i<mass.size(); i++){

out << mass[i].nazv << " " << mass[i].size << endl;

}

out.close();

return 0;

 

 

6. Результаты тестирования  программы

 

Рисунок 1. Начальное окно программы

 

 

Рисунок 2. Выбор действия.

Рисунок 3. Результат выполнения 1 задачи.

 

 

Рисунок 4. Результат выполнения 2 задачи.

 

 

 


Информация о работе Использование файлов для хранения и обработки данных