Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовик / Пояснительная записка.docx
Скачиваний:
15
Добавлен:
10.02.2016
Размер:
125.52 Кб
Скачать
  1. Драйвера и заглушки

Функция:

Характеристики:

Описания:

Fun_ADMIN_2()

Принимаемые значения:

отсутствуют

Возвращаемые значения:

отсутствуют

Заглушка:

int Fun_ADMIN_2(){

printf(“ Fun_ADMIN_2 ACTIVE”);

}

Тип драйвера

С

Прототип:

int Fun_ADMIN_2()

Функция:

Характеристики:

Описания:

Fun_ADMIN_3()

Принимаемые значения:

отсутствуют

Возвращаемые значения:

отсутствуют

Заглушка:

int Fun_ADMIN_3(){

printf(“ Fun_ADMIN_3 ACTIVE”);

}

Тип драйвера

С

Прототип:

int Fun_ADMIN_3()

Функция:

Характеристики:

Описания:

Fun_ADMIN_4()

Принимаемые значения:

отсутствуют

Возвращаемые значения:

отсутствуют

Заглушка:

int Fun_ADMIN_4(){

printf(“ Fun_ADMIN_4 ACTIVE”);

}

Тип драйвера

С

Прототип:

int Fun_ADMIN_4()

Функция:

Характеристики:

Описания:

Fun_ADMIN_5()

Принимаемые значения:

отсутствуют

Возвращаемые значения:

отсутствуют

Заглушка:

int Fun_ADMIN_5(){

printf(“ Fun_ADMIN_5 ACTIVE”);

}

Тип драйвера

С

Прототип:

int Fun_ADMIN_5()

Заключение

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

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

1. http://ru.wikipedia.org/wiki/Цикломатическая_сложностьДата обращения 14.05.2013

2. С. А. Орлов Технологии разработки программного обеспечения2 издание, 2003 год, 480 стр., 17х23 см (70х100/16), Твердый переплет, ISBN 5-318-00078-9

3. Автор: Джесс Либерти. Год: 2000 , Издательство: "Вильямс" , Название: С++ за 21 день, количество страниц: 834, ISBN:5-8459-0056-5, 0-672-31515-7

4. АвторСтефан Р. Дэвис , Издательство Диалектика, 4-е издание учебник по C++ для начинающих ,Год 2003.

5. Автор: Кочан Стефан,Издательство: И.Д. Вильямс, Год: 2007,Страниц: 496.Название: Программирование на языке С.

Приложение 1. Программный код.

#include<stdio.h>

#include"VHH.h"

#include"MAIN_ADMIN.h"

#include<locale.h>

#include<iostream>

main()

int main(){

setlocale(LC_ALL, "Russian");

printf("\n");

system("cls");

printf(" Для начала работы выполните вход\n");

printf(" __________________________________________________\n");

printf(" Выберите один из двух вариантов входа\n");

printf(" ---------------------------------------------------\n");

printf(" 1.Администратор\n");

printf(" ИЛИ \n");

printf(" 2.Оператор\n");

printf(" 3.ВЫХОД!!!\n");

printf("Выберите цифру\n");

scanf("%d",&a1);

system("cls");

switch(a1)

{

case 1:

MAIN_ADMIN();

system("pause");

break;

case 2:

MAIN_USER();

break;

case 3:

Fun_ADMIN_EXIT();

break;

default:

system("cls");

printf(" ОШИБКА!!!\n");

printf(" Повторите ввод\n");

printf(" -----------------------\n");

system("pause");

system("cls");

return main();

}

}

MAIN_ADMIN()

int MAIN_ADMIN(){

printf(" Вы выбрали: (АДМИНИСТРАТОР)\n");

printf(" Выберите один из двух вариантов \n");

printf(" -----------------------------------\n");

printf("1.Ввод пароля\n");

printf("2.Изменение пароля\n");

printf(">:");

scanf("%d",&o);

switch(o)

{

case 1:

system("cls");

if((pass=fopen("F:\pass.txt","r"))==NULL){

printf("ОШИБКА!!!\n");

system("pause");

return main();

}

printf("Введите пароль:\n");

scanf("%s",parol2);

fscanf(pass,"%s%s",pas,&l);

system("cls");

if(strcmp(parol2,pas)==0){

printf(" Вход в систему выполнен\n ---------------------------------\n");

system("pause");

system("cls");

printf(" ЗАДАНИЕ.\n\n");

printf("Предметная область – магазин. Объект – товар. \n");

printf("Данные об объекте:\n");

printf("-наименование;\n");

printf("-категория товара (мясная, молочная, кондитерская и т.д.);\n");

printf("-дата изготовления;\n");

printf("-срок годности;\n");

printf("-наличие вкусовых добавок;\n");

printf("-цена.\n");

printf("Функции:\n");

printf("1.Вывести наименования товаров с датой изготовления,вписывающейся в указанный диапазон.\n");

printf("2.Задать текущую дату и вывести наименования всех просроченных товаров.\n");

printf("3.Вывести все товары, расположив их в порядке возрастания цены. Товары с одинаковой ценой отсортировать по алфавиту по наименованию.\n");

printf("4.Определить, в какой категории больше всего наименований товаров.\n");

printf("5.Определить, присутствуют ли вкусовые добавки в самом дешевом товаре из каждой категории.\n");

system("pause");

system("cls");

}

else

{

printf("Неверный пароль\n");

system("pause");

return main();

}

break;

case 2:

system("cls");

if((pass=fopen("F:\pass.txt","r"))==NULL){

printf("ОШИБКА!!!\n");

system("pause");

return main();

}

printf("Введите пароль:\n");

scanf("%s",parol2);

fscanf(pass,"%s%s",pas,&l);

if(strcmp(parol2,pas)==0){

printf(" Введите новый пароль!!!\n ---------------------------------\n");

printf(">:");

if((pass=fopen("F:\pass.txt","w+"))==NULL){

printf("ОШИБКА!!!\n");

system("pause");

return main();

}

scanf("%s",parol2);

fputs(parol2,pass);

system("cls");

printf(" Новый пароль принят!!!\n ---------------------------------\n");

system("pause");

fclose(pass);

return main();

}

else

{

printf("Неверный пароль\n");

system("pause");

return main();

}

break;

default:

printf(" ОШИБКА!!!\n");

printf(" Повторите ввод\n");

printf(" -----------------------\n");

system("pause");

return main();

}

while(1){

printf(" Выберите желаемое действие\n \n");

printf("1.Вывести наименования товаров с датой изготовления,вписывающейся в указанный диапазон.\n");

printf("2.Задать текущую дату и вывести наименования всех просроченных товаров.\n");

printf("3.Вывести все товары, расположив их в порядке возрастания цены. Товары с одинаковой ценой отсортировать по алфавиту по наименованию.\n");

printf("4.Определить, в какой категории больше всего наименований товаров.\n");

printf("5.Определить, присутствуют ли вкусовые добавки в самом дешевом товаре из каждой категории.\n");

printf("6.Добавление записи.\n");

printf("7.Удаление записи.\n");

printf("8.Вывод всех текущих записей.\n");

printf("9.Выход!!!\n");

printf("10.Глав.меню\n");

printf(">:");

scanf("%d",&b);

switch(b){

case 1:

Fun_ADMIN_1();

break;

case 2:

Fun_ADMIN_2();

break;

case 3:

Fun_ADMIN_3();

break;

case 4:

Fun_ADMIN_4();

break;

case 5:

Fun_ADMIN_5();

break;

case 6:

Fun_ADMIN_6();

break;

case 7:

Fun_ADMIN_7();

break;

case 8:

Fun_ADMIN_8();

break;

case 9:

Fun_ADMIN_EXIT();

break;

case 10:

Fun_ADMIN_9();

break;

default:

system("cls");

printf(" ОШИБКА!!!\n");

printf(" Повторите ввод\n");

printf(" -----------------------\n");

system("pause");

system("cls");

}

}

}

MAIN_USER()

int MAIN_USER(){

printf(" Вы выбрали: (ОПЕРАТОР)\n");

printf(" Вход в систему выполнен\n ---------------------------------\n");

system("pause");

system("cls");

printf(" ЗАДАНИЕ.\n\n");

printf("Предметная область – магазин. Объект – товар. \n");

printf("Данные об объекте:\n");

printf("-наименование;\n");

printf("-категория товара (мясная, молочная, кондитерская и т.д.);\n");

printf("-дата изготовления;\n");

printf("-срок годности;\n");

printf("-наличие вкусовых добавок;\n");

printf("-цена.\n");

printf("Функции:\n");

printf("1.Вывести наименования товаров с датой изготовления,вписывающейся в указанный диапазон.\n");

printf("2.Задать текущую дату и вывести наименования всех просроченных товаров.\n");

printf("3.Вывести все товары, расположив их в порядке возрастания цены. Товары с одинаковой ценой отсортировать по алфавиту по наименованию.\n");

printf("4.Определить, в какой категории больше всего наименований товаров.\n");

printf("5.Определить, присутствуют ли вкусовые добавки в самом дешевом товаре из каждой категории.\n");

system("pause");

system("cls");

while(1){

printf(" Выберите желаемое действие\n \n");

printf("1.Вывести наименования товаров с датой изготовления,вписывающейся в указанный диапазон.\n");

printf("2.Задать текущую дату и вывести наименования всех просроченных товаров.\n");

printf("3.Вывести все товары, расположив их в порядке возрастания цены. Товары с одинаковой ценой отсортировать по алфавиту по наименованию.\n");

printf("4.Определить, в какой категории больше всего наименований товаров.\n");

printf("5.Определить, присутствуют ли вкусовые добавки в самом дешевом товаре из каждой категории.\n");

printf("6.Вывод всех текущих записей.\n");

printf("7.Выход!!!\n");

printf("8.Глав.меню\n");

printf(">:");

scanf("%d",&b2);

switch(b2){

case 1:

Fun_ADMIN_1();

break;

case 2:

Fun_ADMIN_2();

break;

case 3:

Fun_ADMIN_3();

break;

case 4:

Fun_ADMIN_4();

break;

case 5:

Fun_ADMIN_5();

break;

case 6:

Fun_ADMIN_8();

break;

case 7:

Fun_ADMIN_EXIT();

break;

case 8:

Fun_ADMIN_9();

break;

}

}

}

Fun_ADMIN_1()

int Fun_ADMIN_1(){

switch(b){

case 1:

while(1){

system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Вы выбрали:(Вывести наименования товаров с датой изготовления,вписывающейся в указанный диапазон.)\n");

printf("------------------------------------------------------------------------------------------------ \n");

printf("Введите начальную дату\n");

printf("Например (01д.05м.12г.)\n");

scanf("%d%d%d",&da,&mes,&god);

if(da<=31 && mes<=12);

else

{

printf("Ошибка ввода дня(%d) или месяца(%d)\n",da,mes);

printf("Повторите ввод!!!\n");

system("pause");

continue;

}

printf("Введите конечную дату\n");

printf("Например (01д.05м.15г.)\n");

scanf("%d%d%d",&da1,&mes2,&god3);

if(da1<=da && mes2>=mes && god3>=god);

else

{

printf("Ошибка ввода дня(%d) или месяца(%d) или года(%d)\n",da1,mes2,god3);

printf("Повторите ввод!!!\n");

system("pause");

continue;

}

while(fread(&tovar[m],sizeof(tovar[m]),1,data)>0)

{

if((god3>tovar[m].g||(god3==tovar[m].g && mes2>tovar[m].m)||(god3==tovar[m].g && tovar[m].m==mes2 && da1>=tovar[m].d))

&&(god<tovar[m].g||(god==tovar[m].g && mes<tovar[m].m)||(god==tovar[m].g && tovar[m].m==mes2 && da<=tovar[m].d))){

printf("Название Категория Дата изг. Срок год. Вкусовые добавки Цена");

printf("\n---------------------------------------------------------------------");

printf("\n%-9s|%-15s| %-3d%-3d%-3d|%-3d%-3d%-3d | %-9s %6.2fгрн.\n ",tovar[m].nazv,tovar[m].catovar,tovar[m].d,tovar[m].m,tovar[m].g,tovar[m].srok_d,tovar[m].srok_m,tovar[m].srok_g,tovar[m].dob,tovar[m].cena);

}

}

fclose(data);

system("pause");

system("cls");

break;

}

break;

}

}

Fun_ADMIN_2()

int Fun_ADMIN_2(){

while(1){

system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Вы выбрали:(Задать текущую дату и вывести наименования всех просроченных товаров.)\n");

printf("-----------------------------------------------------------------------------------\n");

printf("Введите текущую дату\n");

printf("Например (01д.05м.12г.)\n");

scanf("%d%d%d",&da,&mes,&god);

if(da<=31 && mes<=12);

else

{

printf("Ошибка ввода дня(%d) или месяца(%d)\n",da,mes);

printf("Повторите ввод!!!\n");

system("pause");

continue;

}

while(fread(&tovar[m],sizeof(tovar[m]),1,data)>0)

{

if(god>tovar[m].srok_g || (god==tovar[m].srok_g && mes>tovar[m].srok_m)||(god==tovar[m].srok_g && tovar[m].srok_m==mes && da>=tovar[m].srok_d))

{

printf("Название Категория Дата изг. Срок год. Вкусовые добавки Цена");

printf("\n---------------------------------------------------------------------");

printf("\n%-9s|%-15s| %-3d%-3d%-3d|%-3d%-3d%-3d | %-9s %6.2fгрн.\n ",tovar[m].nazv,tovar[m].catovar,tovar[m].d,tovar[m].m,tovar[m].g,tovar[m].srok_d,tovar[m].srok_m,tovar[m].srok_g,tovar[m].dob,tovar[m].cena);

}

}

fclose(data);

system("pause");

system("cls");

break;

}

}

Fun_ADMIN_3()

int Fun_ADMIN_3(){

system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Вы выбрали:(Вывести все товары, расположив их в порядке возрастания цены. Товары с одинаковой ценой отсортировать по алфавиту по наименованию.)\n");

printf("--------------------------------------------------------------------------\n");

w=0;

while(fread(&tovar3[w],sizeof(tovar3[w]),1,data)>0)

w++;

f = 1;

while (f)

{

f = 0;

for (m = 0;m<w-1;m ++)

if (strcmp(tovar3[m].nazv,tovar3[m + 1].nazv)>0)

{

f = 1;

tovar2 = tovar3[m];

tovar3[m] = tovar3[m + 1];

tovar3[m + 1]=tovar2;

}

}

f = 1;

while (f)

{

f = 0;

for (m = 0;m<w-1;m ++)

if (tovar3[m].cena<tovar3[m + 1].cena)

{

f = 1;

tovar2 = tovar3[m];

tovar3[m] = tovar3[m + 1];

tovar3[m + 1]=tovar2;

}

}

for(m=0;m<w;m++)

printf("\n%-9s|%-15s| %-3d%-3d%-3d|%-3d%-3d%-3d | %-9s %6.2fгрн.\n ",tovar3[m].nazv,tovar3[m].catovar,tovar3[m].d,tovar3[m].m,tovar3[m].g,tovar3[m].srok_d,tovar3[m].srok_m,tovar3[m].srok_g,tovar3[m].dob,tovar3[m].cena);

system("pause");

system("cls");

fclose(data);

}

Fun_ADMIN_4()

int Fun_ADMIN_4(){system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Вы выбрали:(Определение, в какой категории больше всего наименований товаров.)\n");

printf("-----------------------------------------------------------------------------\n");

w=0;

while(fread(&tovar3[w],sizeof(tovar3[w]),1,data)>0)

w++;

max = 0;

for(m=0;m<w;m++)

{

kol = 0;

for(j=0;j<w;j++)

if (!strcmp(tovar3[m].catovar, tovar3[j].catovar))

kol ++;

if (kol > max)

{

max = kol;

cot = tovar3[m].catovar;

}

}

printf("%s\n", cot);

system("pause");

system("cls");

fclose(data);

}

Fun_ADMIN_5()

int Fun_ADMIN_5(){

system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Вы выбрали:(Определение, присутствуют ли вкусовые добавки в самом дешевом товаре из каждой категории.)\n");

printf("-----------------------------------------------------------------------------------------------------\n");

w=0;

while(fread(&tovar3[w],sizeof(tovar3[w]),1,data)>0)

w++;

for(m=0;m<w;m++)

{

kol = m;

for(j=0;j<w;j++)

if (!strcmp(tovar3[m].catovar, tovar3[j].catovar) && tovar3[kol].cena > tovar3[j].cena)

kol = j;

if (kol == m && !strcmp(tovar3[kol].dob, "Est"))

{

printf("%s\n", tovar3[m].catovar);

}

}

system("pause");

system("cls");

fclose(data);

}

Fun_ADMIN_6()

int Fun_ADMIN_6(){

system("cls");

if((data=fopen("F:\data.bin","ab+"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf(" Вы выбрали: (Добавление записи)\n");

printf(" ----------------------------------\n");

printf(" Выберите вариант добавления записи\n");

printf(" ----------------------------------------\n");

printf("1.Полная перезапись файла(удаляются все данные!!!)\n");

printf("2.Обычное добавление в конец файла.\n");

printf(">:");

scanf("%d",&t);

switch(t){

case 1:

if((data=fopen("F:\data.bin","wb+"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

break;

case 2:

if((data=fopen("F:\data.bin","ab+"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

break;

default:

printf(" Предупреждение!!!\n");

printf(" ---------------------------------\n");

printf(" Вы выбрали: (Инной вариант)\n");

printf(" Переход в режим по умолчанию: (Обычное добавление в конец файла.)\n");

system("pause");

system("cls");

}

printf("Введите количество товара\n");

scanf("%d",&i);

for(m=0;m<i;m++){

printf("Введите название товара\n");

scanf("%s",tovar[m].nazv);

printf(" Выберите категорию товара\n");

printf(" ----------------------------------\n");

printf("1.Молочные товары\n");

printf("2.Мясные товары\n");

printf("3.Кондитерские товары\n");

printf("4.Рыбные товары\n");

printf("5.Яйца и яичные товары\n");

printf("6.Зерномучные товары\n");

printf("7.Овощи, плоды и грибы\n");

printf("8.Другой товар\n");

printf(">:");

scanf("%d",&k);

switch(k)

{

case 1: strcpy(tovar[m].catovar, "Molochnay");

break;

case 2: strcpy(tovar[m].catovar, "Mysnaya");

break;

case 3: strcpy(tovar[m].catovar, "Konditerskaya");

break;

case 4: strcpy(tovar[m].catovar, "Riba");

break;

case 5: strcpy(tovar[m].catovar, "Yaihnue");

break;

case 6: strcpy(tovar[m].catovar, "Zerno muchnue");

break;

case 7: strcpy(tovar[m].catovar, "Ovochi,grib");

break;

case 8:

printf("Введите категорию товара\n");

printf(">:");

scanf("%s",tovar[m].catovar);

break;

default:

printf("Вы выбрали инной вариант!!!\nКатегория не будет отображаться в этой записи!!!\n");

break;

}

printf("Введите дату изготовления\n");

printf("Например (01д.05м.12г.)\n");

printf(">:");

scanf("%d%d%d",&tovar[m].d,&tovar[m].m,&tovar[m].g);

printf("Введите срок годности\n");

printf("Например (01д.05м.13г.)\n");

printf(">:");

scanf("%d%d%d",&tovar[m].srok_d,&tovar[m].srok_m,&tovar[m].srok_g);

printf("Наличие вкусовых добавок\n");

printf("1.Есть\n");

printf("2.Нету\n");

printf(">:");

scanf("%d",&k);

switch(k){

case 1: strcpy(tovar[m].dob, "Est");

break;

case 2: strcpy(tovar[m].dob, "Netu");

break;

default:

printf("Вы выбрали инной вариант!!!\nВкусовая добавка не будет отображаться в этой записи!!!\n");

break;

}

printf("Введите цену\n");

printf(">:");

scanf("%f",&tovar[m].cena);

fwrite(&tovar[m],sizeof(tovar[m]),1,data);

}

system("pause");

fclose(data);

system("cls");

}

Fun_ADMIN_7()

int Fun_ADMIN_7(){

system("cls");

if((data=fopen("F:\\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf(" Вы выбрали: (Удаление записи.)\n");

printf(" ----------------------------------------\n");

printf("Название Категория Дата изг. Срок год. Вкусовые добавки Цена");

printf("\n---------------------------------------------------------------------");

while(fread(&tovar[m],sizeof(tovar[m]),1,data)>0){

printf("\n%-9s|%-15s| %-3d%-3d%-3d|%-3d%-3d%-3d | %-9s %6.2fгрн.\n ",tovar[m].nazv,tovar[m].catovar,tovar[m].d,tovar[m].m,tovar[m].g,tovar[m].srok_d,tovar[m].srok_m,tovar[m].srok_g,tovar[m].dob,tovar[m].cena);

}

fclose(data);

if((data=fopen("F:\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Введите удаляемое название товара\n");

scanf("%s",im);

q=0;

while(fread(&tovar2,sizeof(tovar2),1,data)>0)

if(strcmp(im,tovar2.nazv))

tovar1[q ++] = tovar2;

fclose(data);

if((data=fopen("F:\data.bin","wb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

for(m=0;m<q;m++)

fwrite(&tovar1[m],sizeof(tovar1[m]),1,data);

fclose(data);

}

Fun_ADMIN_8()

int Fun_ADMIN_8(){

system("cls");

printf(" Вы выбрали: (Вывод всех текущих записей)\n");

printf(" -------------------------------------------------\n");

if((data=fopen("F:\data.bin","rb"))==NULL){

printf("Ошибка\n");

system("pause");

return main();

}

printf("Название Категория Дата изг. Срок год. Вкусовые добавки Цена");

printf("\n---------------------------------------------------------------------");

while(fread(&tovar[m],sizeof(tovar[m]),1,data)>0){

printf("\n%-9s|%-15s| %-3d%-3d%-3d|%-3d%-3d%-3d | %-9s %6.2fгрн.\n ",tovar[m].nazv,tovar[m].catovar,tovar[m].d,tovar[m].m,tovar[m].g,tovar[m].srok_d,tovar[m].srok_m,tovar[m].srok_g,tovar[m].dob,tovar[m].cena);

}

fclose(data);

system("pause");

system("cls");

}

Fun_ADMIN_9()

int Fun_ADMIN_9(){

return main();

}

Fun_ADMIN_EXIT()

int Fun_ADMIN_EXIT(){

system("cls");

printf(" Завершение Работы!!!\n До встречи!\n");

printf(" --------------------------\n");

system("pause");

exit(0);

}

Соседние файлы в папке курсовик