Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 18:51, курсовая работа
Тип есть вполне конкретное представление некоторого понятия. Например, в С++ тип float с операциями +, -, * и т.д. является хотя и ограниченным, ноконкретным представлением математического понятия вещественного числа. Новыйтип создается для того, чтобы стать специальным и конкретным представлениемпонятия, которое не находит прямого и естественного отражения средивстроенных типов. Например, в программе из области телефонной связи можноввести тип trunk_module (линия-связи), в видеоигре - тип explosion (взрыв), ав программе, обрабатывающей текст, - тип list_of_paragraphs (список параграфов).
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, СОКРАЩЕНИЙ, ТЕРМИНОВ 4
ВВЕДЕНИЕ 5
1. ОПИСАНИЕ ИСПОЛЬЗОВАННЫХ КОМПОНЕНТОВ 6
1.1 Файлы 6
1.2 Структуры…………………………………………………………………..7
1.3 Классы 7
1.4 Методы динамической памяти 8
2. ОПИСАНИЕ АЛГОРИТМА ПРОГРАММЫ 12
3. ОПИСАНИЕ ОСНОВНЫХ ФУНКЦИЙ И ПЕРЕМЕННЫХ ПРОГРАММЫ 16
3.1 Функциясохранения в файл 17
3.2 Функция вывода данных из файла 18
3.3 Функции поиска данных 19
4. ТЕСТИРОВАНИЕ ПРОГРАММЫ 22
ЗАКЛЮЧЕНИЕ 26
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 27
ПРИЛОЖЕНИЯ 28
charseachMode[2];
cout<<"
cout<<"Введите искомую модель"<<endl;
cin>>seachName;
t.seachMode(seachName);
break;
case 3:
system("cls");
charseachColor[20];
cout<<"Введите искомый цвет"<<endl;
cin>>seachColor;
t.seachColor(seachColor);
break;
case 4:
system("cls");
intseachSize;
cout<<"Введите искомый размер"<<endl;
cin>>seachSize;
int proverka2;
while(proverka2!=1)
{
if(seachSize<20||seachSize>50)
{
cout<<" "<<"-=Некорректный ввод размера=-"<<endl;
cout<<" "<<"-=Можно искать размеры от 20-го до 50-го=-"<<endl;
cout<<" "<<"Введите размер: ";cin>>seachSize;
}else{proverka2=1;}
}
t.seachSize(seachSize);
break;
case 5:
system("cls");
intseachAmount;
cout<<"
cin>>seachAmount;
intproverka=0;
while(proverka!=1)
if(seachAmount<0)
cout<<" "<<"-=
cout<<" "<<"-=Количество товара не может быть отрицательным=-"<<endl;
cout<<" "<<"Введите количество: ";cin>>seachAmount;
}else{proverka=1;}
t.seachAmount(seachAmount);
break;
}
// break;
}
}
system("cls");
cout<<" -=
Сейчасбудетпроизведёнвыходизпр
system("pause");
return 0;
}
intSeach( char *c,char *c1)
{
if (strstr(c1,c))
return 1;
elsereturn 0;
}
// заголовочный
файл с классами, функциями и
переменными для организации
ввода-вывода в языке
#include <iostream.h>
#include <string.h>
#include <stdio.h>
#include "seach.h"
//производим описание класса tovar
structtov
{
char name[50];//название
char model[2];//модель
int size;//размер
char color[20];//цвет
int amount;//количество
};
classtovar
{
private:
//здесь производится описание закрытых функций и объявление переменных
FILE *f;
tov T;
intColz;
public:
//функциясохранениявфайл
void saveToFile(char name[50],char model[2],intsize,char color[20],int amount)
{
//открываемфайл
if((f=fopen("txt.dat","ab"))==
{
system("cls");
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
}
//записываемвфайл
fprintf(f,"%s %s
%d %s %d\n",name,model,size,color,
//закрываем файл
fclose(f);
}
//вывод на экран
void out()
{
system("cls");
char name[50];char model[2];intsize;char color[20];int amount;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<"
|| "<<"Модель"<<" || "<<"Размер"<<"
|| "<<"Цвет"<<" || "<<"Количество"<<endl;
while(!feof(f))
{
fscanf(f,"%s\n",name);
fscanf(f,"%s\n",model);//
fscanf(f,"%d\n",&size);//
fscanf(f,"%s\n",color);//
fscanf(f,"%d\n",&amount);//
cout<<" "<<name<<" "<<model<<" "<<size<<" "<<color<<" "<<amount<<endl;
}
fclose(f);
system("pause"); system("cls");
}
voidseachName(char name[50])
{
//поискпоимени
//загрузка в память
system("cls");
char name2[50];char model[2];intsize;char color[20];int amount;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<" || "<<"Модель"<<" || "<<"Размер"<<" || "<<"Цвет"<<" || "<<"Количество"<<endl;
Colz=0;
while(!feof(f))
{
fscanf(f,"%s\n",name2);
fscanf(f,"%s\n",model);//
fscanf(f,"%d\n",&size);//
fscanf(f,"%s\n",color);//
fscanf(f,"%d\n",&amount);//
if(Seach(name2,name)==1)
{
cout<<" "<<name<<" "<<model<<" "<<size<<" "<<color<<" "<<amount<<endl;
Colz++;
}
}
if(Colz==0)
{
cout<<"Поиск не дал результатов"<<endl;
}
fclose(f);
system("pause");
system("cls");
}
voidseachMode(char model[2])
{
//поискпомодели
//загрузка в память
system("cls");
char name[50];char model2[2];intsize;char color[20];int amount;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<" || "<<"Модель"<<" || "<<"Размер"<<" || "<<"Цвет"<<" || "<<"Количество"<<endl;
Colz=0;
while(!feof(f))
{
fscanf(f,"%s\n",name);
fscanf(f,"%s\n",model2);//
fscanf(f,"%d\n",&size);//
fscanf(f,"%s\n",color);//
fscanf(f,"%d\n",&amount);//
if(Seach(model2,model)==1)
{
cout<<" "<<name<<" "<<model<<" "<<size<<" "<<color<<" "<<amount<<endl;
Colz++;
}
}
if(Colz==0)
{
cout<<"Поиск не дал результатов"<<endl;
}
fclose(f);
system("pause");
system("cls");
}
voidseachColor(char color[20])
{
//поискпоцвету
//загрузка в память
system("cls");
char name[50];char model[2];intsize;char color2[20];int amount;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<" || "<<"Модель"<<" || "<<"Размер"<<" || "<<"Цвет"<<" || "<<"Количество"<<endl;
Colz=0;
while(!feof(f))
{
fscanf(f,"%s\n",name);
fscanf(f,"%s\n",model);//
fscanf(f,"%d\n",&size);//
fscanf(f,"%s\n",color2);//
fscanf(f,"%d\n",&amount);//
if(Seach(color2,color)==1)
{
cout<<" "<<name<<" "<<model<<" "<<size<<" "<<color<<" "<<amount<<endl;
Colz++;
}
}
if(Colz==0)
{
cout<<"Поиск не дал результатов"<<endl;
}
fclose(f);
system("pause");
system("cls");
}
voidseachSize(intsize)
{
//поиск по размеру
//загрузка в память
system("cls");
char name[50];char model[2];int size2;char color[20];int amount;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<" || "<<"Модель"<<" || "<<"Размер"<<" || "<<"Цвет"<<" || "<<"Количество"<<endl;
Colz=0;
while(!feof(f))
{
fscanf(f,"%s\n",name);
fscanf(f,"%s\n",model);//
fscanf(f,"%d\n",&size2);//
fscanf(f,"%s\n",color);//
fscanf(f,"%d\n",&amount);//
if(size2==size)
{
cout<<" "<<name<<" "<<model<<" "<<size<<" "<<color<<" "<<amount<<endl;
Colz++;
}
}
if(Colz==0)
{
cout<<"Поиск не дал результатов"<<endl;
}
fclose(f);
system("pause");
system("cls");
}
voidseachAmount(int amount)
{
//поискпоколичеству
//загрузка в память
system("cls");
char name[50];char model[2];intsize;char color[20];int amount2;
if((f=fopen("txt.dat","rb"))==
system("cls");
fclose(f);
cout<<" "<<"-=Файлнеоткрыт=-"<<endl;
system("pause");
return;
cout<<" "<<"Название"<<" || "<<"Модель"<<" || "<<"Размер"<<" || "<<"Цвет"<<" || "<<"Количество"<<endl;