Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсовик / Пояснительная записка

.pdf
Скачиваний:
15
Добавлен:
10.02.2016
Размер:
610.6 Кб
Скачать

СПЗКРОП.АС12111 - 01 81 01

22

СПИСОК ЛИТЕРАТУРЫ

1.ru.wikipedia.org дата обращения 14.05.2013

2.С. А. Орлов технологии разработки

3.Д. Либерти. С++ за 21 день

4.Стефан Р. Дэвис учебник по C++ для начинающих

5.Стефан Кочан - Программирование на языке С

СПЗКРОП.АС12111 - 01 81 01

23

ПРИЛОЖЕНИЕ 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();

 

}

 

}

 

СПЗКРОП.АС12111 - 01 81 01

24

 

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){

СПЗКРОП.АС12111 - 01 81 01

25

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;

СПЗКРОП.АС12111 - 01 81 01

26

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");

 

 

}

 

 

}

}

СПЗКРОП.АС12111 - 01 81 01

27

 

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:

СПЗКРОП.АС12111 - 01 81 01

28

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("Название Категория Дата изг. Срок год. Вкусовые добавки Цена");

СПЗКРОП.АС12111 - 01 81 01

29

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");

СПЗКРОП.АС12111 - 01 81 01

30

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,t ovar3[m].srok_m,tovar3[m].srok_g,tovar3[m].dob,tovar3[m].cena);

system("pause"); system("cls");

fclose(data);

}

СПЗКРОП.АС12111 - 01 81 01

31

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)

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