курсовик / Пояснительная записка
.pdfСПЗКРОП.АС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)