1 Франка, П. С++ Учебный курс, 2003.
2 Нейбауэр, А. Моя первая программа на C/C++, 2000.
3 Прата, Стивен Язык программирования С++. Лекции и упражнения. Учебник: Пер. с англ./Стивен Прата – СПб.: ООО «ДиаСофтЮП», 2003. – 1104 с.
4 Подбельский, В.В. Язык СИ++: Учеб. пособие. – 3-е изд., дораб. – М.: Финансы и статистика, 1998. – 560 с.: ил.
5 Страуструп, Б. Язык программирования С++.: Москва, 1999.
Приложение А
Cхемы алгоритмов
Функция main()
Функция del_potr(int number)
Функция seach(void)
Приложение Б
Тестирование программы
Пример просмотра товаров
Рисунок 9 – Просмотр товаров
Окно добавления количества товара
Рисунок 10 – Добавление товара
Окно редактирования товара
Рисунок 11 – Редактирование товара
Окно нового товара
Рисунок 12 – Добавление нового товара
Покупка товара
Рисунок 13 – Покупка товара
Окно поиска товара
Рисунок 14 – Поиск товара
Пример просмотра потребителей
Рисунок 15 – Просмотр потребителей
Приложение В
Текст программы
Основная программа
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>
#include <string.h>
#include <stdlib.h>
#include <alloc.h>
#include <dos.h>
#include "graph.h"
#include "product.h"
#include "potreb.h"
////////////////////////////////////////////////////////////
potr potreb[10];
int ntov;
int npotr;
char strmenu[30][30];
int color;
struct date da;
///////////////////////////////////////////////////////////
void flush(void) {
FILE*SKLAD,*RASXOD;
SKLAD=fopen("SKLAD.txt","wt");
for(int i=0;i<ntov;i++) {
fprintf(SKLAD,"\n%s %i %i",product[i].name,product[i].price,product[i].kol);
}
fclose(SKLAD);
RASXOD=fopen("RASXOD.txt","wt");
for(i=0;i<npotr;i++) {
fprintf(RASXOD,"\n%s %i",potreb[i].name,potreb[i].npok);
for(int j=0;j<potreb[i].npok;j++) {
fprintf(RASXOD,"\n%s %i %i %i %i %i",potreb[i].prod[j].name,potreb[i].prod[j].price,potreb[i].prod[j].kol,potreb[i].prod[j].day,potreb[i].prod[j].month,potreb[i].prod[j].year);
}
}
fclose(RASXOD);
}
void main()
{
clrscr();
char m=1,f=0;
int cr=0,old=0;
char key=0;
ntov=read_prod();
npotr=read_potr();
while (m)
{
if (f==0)
{
window(1,1,80,50);
textbackground(1);
textcolor(0);
clrscr();
window(1,50,80,50);
textbackground(3);
textcolor(0);
clrscr();
cprintf("Esc-‚л室 Enter-‚лЎа вм");
color=4;
window1(2,2,30,5);
textbackground(color);
textcolor(15);
strcpy(strmenu[0]," Џа®б®ва в®ў а®ў бЄ«¤Ґ");
strcpy(strmenu[1]," Џа®б®ва Ї®вॡЁвҐ«Ґ©");
gotoxy(2,2);
for(int j=0;j<2;j++)
{
if (j==0)
{
textbackground(3);
textcolor(4);
gotoxy(2,2+j);
cprintf("%s",strmenu[j]);
}
else
{
gotoxy(2,2+j);
textbackground(color);
textcolor(15);
cprintf("%s",strmenu[j]);
}
}
gotoxy(2,2);
f=1;
}
key=getch();
switch(key)
{
case 72: up(&old,&cr);
break;
case 80: down(&old,&cr,1);
break;
case 27: m=0;
break;
case 13:
{
switch(cr)
{
case 0: see_tov();
break;
case 1: see_potr();
break;
}
f=0;
cr=0;
old=0;
}
break;
}
}
flush();
}
Модуль Graph.h
extern int color;
extern char strmenu[30][30];
void new_menu(int cr,int old) {
int x,y;
x=wherex();
y=wherey();
gotoxy(wherex(),wherey()-(cr-old));
textbackground(color);
textcolor(15);
cprintf("%s",strmenu[old]);
gotoxy(x,y);
textbackground(3);
textcolor(4);
cprintf("%s",strmenu[cr]);
gotoxy(x,y);
}
void window1(int x1,int y1,int x2,int y2) {
window(x1,y1,x2,y2);
textbackground(4);
textcolor(15);
clrscr();
gotoxy(2,1);
for(int i=2;i<=x2-x1;i++) printf("%c",205);
gotoxy(2,y2-y1+1);
************* далее следует продолжение программы **************
Приложение Б
(обязательное)
Примерные задания