Вход

Создание базы данных для аптечного киоска

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 357430
Дата создания 03 июня 2013
Страниц 26
Мы сможем обработать ваш заказ (!) 26 апреля в 16:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 590руб.
КУПИТЬ

Описание

отличная работа с высоким уровнем уникальности ...

Содержание


Введение 3
1. Описание программы 6
2. Описание функциональности программы 13
Выводы 19
Список литературы 20
Приложения 21

Введение

Язык Си, созданный Денисом Ритчи в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования. Язык Си считается языком системного программирования, хотя он удобен и для написания прикладных программ
Cи часто называют языком среднего уровня. Это определение означает, что он объединяет элементы языков высокого уровня с функциональностью ассемблера.
.............................................................................................и т.д.

Фрагмент работы для ознакомления

Для удобства работы было создано примитивное консольное меню, позволяющее быстро задействовать ту или иную процедуру. С условием того что пользователь знает правильный порядок выполнения процедур. Общая структура меню состоит из процедуры switch() внутри которой расположены все возможные варианты меню, которые вызывают те или иные функции.
2. Загрузка и вывод базы данных
Для загрузки базы данных разработана процедура void Read(), в которой производится считывание записей типа struct Drugstore_items («Аптечный киоск»). Здесь же предусмотрена проверка на наличие файла, откуда выполняется считывание. Данная процедура вызывается независимо от желания пользователя, в то время как остальные он может выбрать посредствам меню.
За вывод элементов считанной базы данных отвечает процедура void printDrugs ().
3.Вспомогательные функции и процедуры для сортировки данных
Для сортировки данных используется процедура void isGreater(Drugstore_items b1, Drugstore_items b2, int field). Доступ к записям базы данных осуществляется через индексный массив, для сортировки по разным полям. Здесь же используется процедура сравнения двух строк, например b1.price > b2.price.
4. Кодирование данных
Кодирование базы данных начинается с процедуры void ShennonCode (FILE *f, char file_in[], char file_out[]) которая одновременно считает вероятности встречающихся символов и общее их количество, а также заносит информацию в индексные массивы. После сортировки через дополнительную функцию сортировки MergeSort снова меняет информацию в индексах и выводит символы, их вероятности, длины кодовых слов и сами кодовые слова на монитор. Также вычисляются энтропия и средняя длина кодового слова.
2. Описание функциональности программы
Запускаем программу, нажав комбинацию клавиш Ctrl+F5 или кнопку с зеленым треугольником (как «Play» на музыкальном проигрывателе), и на экране монитора появится окно приложения.
Запустив программу, мы видим меню, которое состоит из 10 пунктов (скриншот №1).
Скриншот №1
Каждый из пунктов выполняет определенную задачу. На скриншоте №2 мы видим Вывод всех лекарств (пункт 1).
Скриншот №2
Далее мы выбираем пункт 2 и решили найти препарат АЦЦ ЛОНГ (Скриншот №3).
Скриншот №3
Далее мы выбрали пункт 4 и отсортировали названия лекарств по алфавиту, чтобы увидеть конечный результант снова выводим список всех лекарств, где видим произведенную ранее сортировку (Скриншот №4).
Скриншот №4
Остальные сортировки проходят по тому же принципу, поэтому показывать остальные скриншоты не будем.
Следующее наше действие это распродажа. Они происходят в обычных магазинах довольно часто, а в аптеках немного реже. Мы решили установить скидку 10%. Результат увидим на скриншоте №5.
Скриншот №5
Далее мы хотим узнать какое количество лекарств превосходит цену в 100 рублей. По скриншоту №6 видно, что 16 лекарств имеет цену превышающую 100 рублей.
Скриншот №6
При нажатии на 0 окно программы закрывается.
Выводы
8. В ходе работы мы объявили структуру, содержащую четыре поля: название лекарственного средства, отпускается по рецепту или нет, срок годности и цена. Массив содержит 20 таких структур.
9. Было организовано меню, состоящее из двух пунктов: Вывод всех лекарств и Выход.
10. Добавлен пункт меню Выбор определенного лекарства. Пользователю необходимо ввести название лекарства, а программа выведет все лекарства имеющих такое название.
11. Добавлен пункт меню Запись информации в файл. Пользователю необходимо ввести имя файла, и программа запишет содержимое массива в этот файл.
12. Добавлен пункт меню Сортировка лекарств по заданному полю. Пользователь сообщает поле, по которому отсортировать лекарства (по названию, по необходимости рецепта, по сроку годности или по цене), и после этого программа выполняет сортировку.
13. Добавлен пункт меню Распродажа. Пользователь вводит число процентов, на которое нужно уценить все лекарства, и программа снижает цену у всех товаров на эту величину.
14. Добавлен пункт меню Количество лекарств, цена которых превосходит … . Пользователь вводит цену, а программа выводит все товары, цена которых превосходит введенное значение.
Список литературы
1. Керниган Б., Ритчи Д., Фьюер А. Язык программирования Си. Задачи по языку Си: Пер. с англ. – М.: Финанасы и статистика, 1985.
2.Трой Д. Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ. – М.: Радио и связь, 1991. – 432 с., ил.
3. Подбельский В.В., Фомин С.С. Программирование на языке Си. – М: Финансы и статистика, 1998.
4.Бочков С.О., Субботин Д.М. Язык программирования Си для персонального компьютера. – М.: Радио и связь, 1990.
5. Пестунов, А. И. Структуры данных и алгоритмы : курс лекций / А. И. Пестунов; Новосиб. гос. ун-т экономики и управления. — Новосибирск: НГУЭУ, 2006. — 43 с.
Приложения
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Drugstore_items
{
char title [50];
char recipe [7];
int shelf_life;
float price;
};
const int n=20;
Drugstore_items drugs[n] = {
{"Анаферон взрослый", "да", 11012014, 135.00},
{"Эссливер форте", "нет", 11102013, 298.00},
{"АЦЦ ЛОНГ", "да", 11062013, 403.50},
{"Магне В6", "нет", 13062013, 549.00},
{"Линекс", "да", 24062013, 569.00},
{"Тера Флю взрослый", "нет", 16062013, 354.00},
{"Тера Флю детский", "нет", 16082013, 254.00},
{"Но-шпа", "да", 16092013, 112.00},
{"Найз", "нет", 16092013, 147.50},
{"Тигацил", "да", 11062013, 1403.50},
{"Макмирор", "нет", 26102013, 550.00},
{"Сафоцид", "да", 24062013, 541.00},
{"Тержинан", "нет", 16062013, 441.00},
{"Эрселюферил", "да", 16072013, 433.50},
{"Розекс", "нет", 16082013, 414.00},
{"Аскорбиновая кислота", "да", 16092013, 18.00},
{"Шалфей", "нет", 16062013, 83.00},
{"Боярышник плоды", "нет", 16062013, 58.00},
{"Сбор грудной", "нет", 16062013, 59.50},
{"Лазолван", "нет", 15062013, 444.00}
};
void printDrugs() {
printf("%-25s %-20s %-15s %-10s\n", "Название",
"Отпуск по рецепту","Срок годности", "Цена");
for (int i=0; i<20; i++) {
printf("%-25s %-20s %-15d %-10.2f\n",
drugs[i].title, drugs[i].recipe,
drugs[i].shelf_life, drugs[i].price);
}
}
void selectDrugs() {
char selectSpecificDrugs;
cout << "Введите название:";
cin >> selectSpecificDrugs;
for (int i=0; i<n; i++) {
if (selectSpecificDrugs <= drugs[i].title)
{printf("%-25s %-20s %-15s %-10s\n", "Название",
"Отпуск по рецепту", "Срок годности", "Цена");
for (int i=0; i<20; i++) {
printf("%-25s %-20s %-15d %-10.2f\n",
drugs[i].title, drugs[i].recipe,
drugs[i].shelf_life, drugs[i].price);}}
}
#define TITLE 1
#define RECIPE 2
#define SHELF_LIFE 3
#define PRICE 4
bool isGreater(Drugstore_items b1, Drugstore_items b2, int field) {
switch(field) {
case TITLE : return strcmp(b1.title, b2.title) > 0;
case RECIPE : return strcmp(b1.recipe, b2.recipe) > 0;
case SHELF_LIFE : return b1.shelf_life > b2.shelf_life;
case PRICE : return b1.price > b2.price;
default : return true;
}
}
void sortDrugs(int field) {
for (int i=0; i<n-1; i++) {
int max = i;
for (int j=i+1; j<n; j++) {
if (isGreater(drugs[max], drugs[j], field)) {
max = j;
}
}
Drugstore_items temp = drugs[max];
drugs[max] = drugs[i];
drugs[i] = temp;
}
}
void saleDrugs() {
int m;
cout << "Введите скидку:";
cin >> m;
printf("%-25s %-20s %-15s %-10s\n", "Название",
"Отпуск по рецепту","Срок годности", "Цена");

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

1. Керниган Б., Ритчи Д., Фьюер А. Язык программирования Си. Задачи по языку Си: Пер. с англ. – М.: Финанасы и статистика, 1985.
2.Трой Д. Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ. – М.: Радио и связь, 1991. – 432 с., ил.
3. Подбельский В.В., Фомин С.С. Программирование на языке Си. – М: Финансы и статистика, 1998.
4.Бочков С.О., Субботин Д.М. Язык программирования Си для персонального компьютера. – М.: Радио и связь, 1990.
5. Пестунов, А. И. Структуры данных и алгоритмы : курс лекций / А. И. Пестунов; Новосиб. гос. ун-т экономики и управления. — Новосибирск: НГУЭУ, 2006. — 43 с.

Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.01523
© Рефератбанк, 2002 - 2024