Программа учета заказчиков, заказавших наибольшее количество приборов каждого типа

Написание программы, формирующей текстовый файл и выводящую на экран таблицу согласно заданному условию. Реализация принципа формирования текстовых файлов, разработка отдельных модулей (процедур) выбора информации из файла. Листинг полученной программы.

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

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

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

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

Министерство образования Украины

ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра компьютеризованных систем управления и автоматики

Расчетно-графическая работа

По дисциплине «Алгоритмические языки и программирование»

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

Исполнитель

ст. гр. АТ-092 Ремарчук А.

Зач. книжка № __________

Личная подпись_______

Одесса 2010

Аннотация
Целью курсового проекта является разработка блок схемы и написание программы на алгоритмическом языке программирования «С».
В программе предусмотрено описание входных данных характеризующих приборы и формирование текстового файла вывод информации осуществляется с клавиатуры по запросу записями. Предусмотрен вывод веденной информации на экран дисплея. Я в этой программе изобразил таблицу в которую выводятся наименования приборов с рядом характеристик. Работа пользователя с программой осуществляется с помощью меню.

Содержание

Введение

Условие задачи

Блок-схема

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

Выводы

Список литературы

Приложение А. Листинг программы

Введение

Для разработки программы использовалась среда разработки Bloodshed Dev c++. В программе применены такие структуры, как записи, массивы, использована работа с внешними файлами. Программа построена таким образом, что основная задача разбита на множество небольших задач, каждая из которых решается в процедуре или функции. Это упрощает структуру программы и делает ее проще для понимания.

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

Условие задачи

15.

1, 4, 5, 7, 10

Составить список заказчиков, заказавших наибольшее количество приборов каждого типа.

Блок-схема

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

При запуске появляется следующее окно:

Для добавления элемента нажмите кнопку 1:

Распечатка всех элементов:

Удаление элемента:

Показать по критерию выборки

Сохранение в файл:

Считывание из файла:

Выводы

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

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

программа текстовый файл таблица листинг

Список литературы

1. Харви Дейтел, Пол Дейтел «Как программировать на С++»: Пер. с англ. - М.: Издательство БИНОМ, 200 г. - 1024 с.: ил.

2. Б. Страуструп «Язык программирования С++», 3-е изд./Пер с англ - Спб.; М.: «Невский Диалект» - «Издательство БИНОМ», 1999 г. - 991 с., ил.

3. Керниган Б., Ритчи Д. «Язык программирования Си»: Пер с англ./ Под ред. И с предисл. Вс.С. Штаркмана. - 2-е изд., перераб. И доп. - М.Ж Финансы и статистика, 1992. - 272 с.: ил.

Приложение А

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

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <iostream>

#include <time.h>

#include <string.h>

using namespace std;

struct temperat

{

float kol;

char adress[50];

char zakaz[50];

};

struct izmer

{

float napr, tok, chast;

};

struct Tovart

{

char Name[50];

int price;

int gt;

temperat temp;

izmer iz;

};

Tovart mas[500];

int counter=-1;

void ClrScr()

{

system("COLOR F0");

system("CLS");

}

void Add()

{

counter++;

cout<<"Enter name of good ";

cin>>mas[counter].Name;

cout<<"Enter adress good ";

cin>>mas[counter].price;

cout<<"Enter : suplier"<<endl;

cout<<"Enter suplier's name ";

cin>>mas[counter].temp.zakaz;

cout<<"Enter kol ";

cin>>mas[counter].temp.kol;

cout<<"Enter adress";

cin>>mas[counter].temp.adress;

cout<<"Enter measuring: "<<endl;

cout<<"Enter tok ";

cin>>mas[counter].iz.tok;

cout<<"Enter napr ";

cin>>mas[counter].iz.napr;

cout<<"Enter chast ";

cin>>mas[counter].iz.chast;

}

void Print()

{

if (counter == -1)

{

cout<<"List is empty"<<endl;

system("PAUSE");

return;

}

else

{

for(int i =0; i<=counter; i++)

{

cout<<i+1<<"---"<<mas[i].Name<<"-"<<mas[i].price<<"-"<<

mas[i].gt<<"-"<<mas[i].temp.zakaz<<"-"<<mas[i].temp.kol

<<"-"<<"-"<<mas[i].temp.adress<<"-"<<mas[i].iz.tok<<"-"<<mas[i].iz.napr<<"-"<<mas[i].iz.chast;

cout<<endl;

}

}

}

void Print_chit()

{

int t;

int n = 0;

if (counter == -1)

{

cout<<"List is empty"<<endl;

system("PAUSE");

return;

}

else

{

cout<<"enter date for choise: "<<endl;

cout<<"Enter kol ";

cin>>t;

for(int i = 0; i<=counter; i++)

{

if (t <= mas[i].temp.kol)

{

cout<<i+1<<"---"<<mas[i].Name<<"-"<<mas[i].price<<"-"<<

mas[i].gt<<"-"<<mas[i].temp.zakaz<<"-"<<mas[i].temp.kol

<<"-"<<"-"<<mas[i].temp.adress<<"-"<<mas[i].iz.tok<<"-"<<mas[i].iz.napr<<"-"<<mas[i].iz.chast;

cout<<endl;

n = 1;

}

}

if (!n) cout<<"Not found"<<endl;

}

}

void Delite()

{

char Name[80];

int pr=0;

cout<<"Enter Name of good "<<endl;

cin>>Name;

for (int i=0; i<=counter; i++)

{

if (strcmp(mas[i].Name, Name)==0)

{

for (int j=i; j<=counter; j++)

mas[j]=mas[j+1];

counter--;

cout<<"Elements is delited"<<endl;

pr=1;

}

}

if (!pr)

cout<<"Elements not found in base"<<endl;

}

void NULLBase()

{

for (int i=0; i<=counter; i++)

{

strcpy(mas[i].Name,"sdf");

mas[i].gt=-3;

mas[i].price=-3;

mas[i].iz.chast=-3;

mas[i].iz.napr=-3;

mas[i].iz.tok=-3;

mas[i].temp.kol=-3;

}

counter = 0;

}

int stcount()

{

int c=-1;

for (int i=0; i<500; i++)

{

if ((strcmp(mas[i].Name, "")==0) && (mas[i].price==0))

return c;

c++;

}

return c;

}

void OpenBase()

{

NULLBase();

FILE *f;

char NameFile[20];

cout<<"Enter name of file"<<endl;

cin>>NameFile;

if ((f=fopen(NameFile, "r"))==NULL)

{

cout<<"File "<<NameFile<<" not found"<<endl;

return;

}

else

{

f = fopen(NameFile, "r+b");

fread(mas, sizeof(Tovart), 500, f);

counter = stcount();

cout<<counter<<" counter:"<<endl;

}

fclose(f);

}

void SaveBase()

{

FILE *f;

char NameFile[20];

cout<<"Enter name of file"<<endl;

cin>>NameFile;

if ((f=fopen(NameFile, "w+b"))==NULL)

{

cout<<"File "<<NameFile<<" not found"<<endl;

return;

}

else

{

f = fopen(NameFile, "w+b");

fwrite(mas, sizeof(Tovart), counter+1, f);

}

fclose(f);

}

int main()

{

ClrScr();

char a;

while(true)

{

ClrScr();

cout<<"1. Add element to base"<<endl;

cout<<"2. Print all element"<<endl;

cout<<"3. Delite one element"<<endl;

cout<<"4. Show Good of user search"<<endl;

cout<<"5. Read from file"<<endl;

cout<<"6. Save to file"<<endl;

cout<<"0. Quit"<<endl<<endl<<endl;

a = getche();

switch(a)

{

case '1':

{

ClrScr();

cout<<"Enter new element "<<endl;

Add();

a='q';

cout<<endl<<"Element Add to base"<<endl;

system("PAUSE");

}

break;

case '2':

{

ClrScr();

cout<<"Print all element "<<endl;

cout<<endl;

Print();

a='q';

system("PAUSE");

}

break;

case '3':

{

ClrScr();

cout<<"Delite one element "<<endl;

cout<<endl;

Delite();

a='q';

system("PAUSE");

}

break;

case '4':

{

ClrScr();

cout<<"Print all element "<<endl;

cout<<endl;

Print_chit();

a='q';

system("PAUSE");

}

break;

case '5':

{

ClrScr();

cout<<"Delite one element "<<endl;

cout<<endl;

OpenBase();

a='q';

system("PAUSE");

}

break;

case '6':

{

ClrScr();

cout<<"Delite one element "<<endl;

cout<<endl;

SaveBase();

a='q';

system("PAUSE");

}

break;

case '0':

{

ClrScr();

cout<<"Quit from program "<<endl;

system("PAUSE");

return 0;

}

break;

}

}

system("PAUSE");

return 0;}

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


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

  • Функциональные характеристики программы форматирования текстовых файлов, требования к ее интерфейсу и данным. Схема взаимодействия компонентов системы, выбор среды исполнения и программная реализация алгоритмов. Тестирование и оценка качества программы.

    курсовая работа [61,1 K], добавлен 25.07.2012

  • Разработка программы-интерпретатора, способной получать на входе текстовый файл (в формате ASCII или ANSI) с текстом программы и на выходе выводить на экран результаты вычислений, определяемых программистом. Выбор лексем, интерфейс и листинг программы.

    курсовая работа [132,0 K], добавлен 12.03.2013

  • Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.

    курсовая работа [325,2 K], добавлен 28.12.2012

  • Реализация программы-конвертера для создания на основе передаваемых dbf файлов файла формата XML (по заданному пользователем шаблону). Создание шаблонов при помощи кода и при помощи конструктора. Проектирование архитектуры программного продукта.

    дипломная работа [1,6 M], добавлен 27.06.2013

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

    реферат [14,5 K], добавлен 06.12.2011

  • Анализ и математическая постановка задачи. Описание алгоритма действий, структурной организации программы и ее программной реализации. Текст основной программы, модулей вывода текстовых файлов на экран, извлечения ехе-файлов и подсчёта лабораторных работ.

    курсовая работа [28,1 K], добавлен 28.02.2011

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

    контрольная работа [710,6 K], добавлен 20.01.2011

  • Разработка программы обработки числовых последовательностей с кодом на языке Pascal. Функции ввода пользователем с клавиатуры последовательности целых чисел. Алгоритмы разработанных процедур и функций. Инструкция пользователя, листинг программы.

    курсовая работа [677,7 K], добавлен 13.07.2010

  • Описание используемых в программе операторов, процедур, функций. Директива include. Правила объявления и определения функций в СИ++. Блок-схема алгоритма программы. Подпрограммы чтения из файла и записи в файл. Использование заголовочных файлов.

    курсовая работа [346,8 K], добавлен 26.04.2012

  • Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

    контрольная работа [360,4 K], добавлен 13.06.2012

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