Создание информационных таблиц на языке Си
Построение таблицы, содержащей результаты работы за день, считая ключом шифр изделия на языке программирования Си. Определение одномерных массивов символьного типа как типа вводных данных. Тесты для проверки корректной работы программного приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 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