Создание информационных таблиц на языке Си

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

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

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

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

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

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

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

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

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

Входные данные: W={wi|wi=(A, B, cN), i=1…}, A={aj|aj - символ, j=1,8}, B={bj|bj - символ,j=1,15}.

Выходные данные: T=(nN, E), E={ei|ei=(S, N, kN), i=1,100}, S={sj|sj - символ,j=}, N={nj|nj - символ,j=1,15}.

Решение.

при nT=0, x=1 элемент W

повторять

при i=1

повторять

если Ax=S ,то k = k + cx

i=i+1

пока i nT

en=x

nt=nt+1

x=следующий элемент W

пока xпусто и nt100

3. Структура входных и выходных данных

Внутреннее представление входных данных

Два одномерных массива символьного типа code[9] и name[15] и переменная kol целого типа.

Внутреннее представление выходных данных.

Статический массив, где элемент состоит из двух одномерных массивов символьного типа code[9] и name[15] и переменной kol целого типа.

Внешнее представление входных данных.

Последовательность, элемент которой состоит из 8-ми символьной строки, строки, состоящей из не более чем 15 символов и целого числа. Части элемента и сами элементы разделены пробелами.

Внешнее представление выходных данных.

Таблица, элемент которой состоит из 8-ми символьной строки, строки, состоящей из не более чем 15 символов и целого числа.

4. Декомпозиция

Можно выделить следующие подзадачи:

1. Ввод таблицы.

2. Вывод таблицы.

5. Текст программы

/*файл table.h*/

#ifndef TABLE_H

#define TABLE_H

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <locale.h>

#define N 100

struct elem { char code[9], name[15]; int kol; };

struct table { elem a[N]; int n; };

int vvod(table *t, elem e);

void vyvod(table t, FILE *f);

#endif /*TABLE_H*/

/*файл table.cpp*/

#include"table.h"

int vvod(table *t, elem e)

{

int i = 0;

for (; i < t->n; i++)

if (!strcmp(e.code, t->a[i].code)) {

t->a[i].kol += e.kol;

return 1;

}

if (t->n == N) return 0;

t->a[t->n] = e;

t->n++;

return 1;

}

void vyvod(table t, FILE *f)

{

fprintf(f, "Шифр Наименование Количество");

for (int i = 0; i < t.n; i++)

fprintf(f, "\n%-10s%-15s%d", t.a[i].code, t.a[i].name, t.a[i].kol);

}

/* файл main.cpp */

#include"table.h"

void main()

{

table t;

FILE* f;

elem e;

t.n = 0;

f = fopen("work.txt", "r");

while (fscanf(f, "%s%s%d", e.code, e.name, &e.kol) != EOF&&vvod(&t, e));

fclose(f);

f = fopen("output.txt", "w");

vyvod(t, f);

fclose(f);

}

6. Набор тестов

Табл. 1

N

Входные данные

Выходные данные

Назначение

1

bd45hgr4 chair 48

Шифр Наименование Количество bd45hgr4 chair 48

Тривиальный тест

2

mfhcd3gt table 32

mhjmcg43 chair 98

qdth8tgc sofa 9

Шифр Наименование Количество

mfhcd3gt table 32

mhjmcg43 chair 98

qdth8tgc sofa 9

Нет равных ключей

3

qdth8tgc sofa 18

mfhcd3gt table 82

qdth8tgc sofa 5

hyt543gb hammer 34

Шифр Наименование Количество

qdth8tgc sofa 23

mfhcd3gt table 82

hyt543gb hammer 34

Есть равный ключ

4

ngdftyht nail 600

asefr329 screw 324

ngdftyht nail 215

ngdftyht nail 430

ois400fd hammer 177

qwertyui nut 76

nyt7hg65 bolt 1188

qwertyui nut 24

Шифр Наименование Количество

ngdftyht nail 1245

asefr329 screw 324

ois400fd hammer 177

qwertyui nut 100

nyt7hg65 bolt 1188

Есть несколько равных ключей

одномерный символьный программный массив

7. Результат работы программы

Данный набор тестов показывает корректность работы программы решения задачи.

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


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

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

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

  • Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.

    учебное пособие [1,1 M], добавлен 22.02.2011

  • Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.

    методичка [17,8 K], добавлен 25.11.2010

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

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

  • Использование класса статических массивов структур и базы данных "ODER" при создании программы на языке С++. Основные формы выдачи результатов. Технические и программные средства. Тесты для проверки работоспособности алгоритма создания программы.

    курсовая работа [1,1 M], добавлен 17.03.2015

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

    курсовая работа [1,2 M], добавлен 03.01.2015

  • Особенности создания страниц на языке APS.NET, создание и формы обращение к базам данных. Интерфейс автоматического вывода определнного столбца базы данных в элементы управления. Структура базы данных, принцип работы страниц сайта, настройка приложения.

    курсовая работа [387,3 K], добавлен 02.03.2010

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

    курсовая работа [1,6 M], добавлен 29.05.2013

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

    курсовая работа [1,3 M], добавлен 05.12.2020

  • Язык программирования как система обозначений, применяемая в описании алгоритмов для ЭВМ. Разработка программы на языке программирования Бейсик. Освоение приемов работы с электронными таблицами MS Excel. Создание базы данных с помощью СУБД MS Access.

    контрольная работа [2,6 M], добавлен 15.02.2010

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