物资管理系统c++
- 格式:doc
- 大小:38.50 KB
- 文档页数:10
#include
#include
#include //exit(1)
#include //file operations
#include
#include
#include
class Brand //品牌
{
private:
char brnd_name[20];//品牌名称
int Brand_code;//品牌代号
int quantity;//数量
float brnd_price;//价格
public:
void getdata();//输入数据
void showdata();//删除数据
};
class Item//品种
{
private:
char Item_name[10];//品种名称
int Item_code;//品种代号
char colour[10];//颜色
int quantity;//数量
float Item_price;//新增成员价格
char Item_date[14];//日期
Brand brnd[3];//3个品牌
public:
void getdata();
void showdata();
void add();
void remove();
void search();
void showab();
void print();//打印当日进货表
void print2();//打印出货表
//私有的成员函数在内部使用
};
// GET Brand DATA
// 获取商标的数据,这是临时存储空间 void Brand::getdata()
{ //改用中文
cout<<"\n\n\t\t\t\t输入商标名称 ";
cin>>brnd_name;
cout<<"\n\t\t\t\t输入商标代码 ";
cin>>Brand_code;
cout<<"\n\t\t\t\t输入数量 ";
cin>>quantity;
cout<<"\n\t\t\t\t输入价格";
cin>>brnd_price;
}
// SHOW Brand DATA
// 显示商标的数据
void Brand::showdata()
{
cout<<"\n\n\t\t\t\t名称 : "; cout<
cout<<"\n\n\t\t\t\t代码 : "; cout<
cout<<"\n\n\t\t\t\t数量 : "; cout<
cout<<"\n\n\t\t\t\t价格 : "; cout<
}
// GET Item DATA
// 获取项目的数据,这是临时存储空间
void Item::getdata()
{
cout<<"\n\t\t\t\t输入商品名称 ";
cin>>Item_name;
cout<<"\n\t\t\t\t输入商品代码 ";
cin>>Item_code;
cout<<"\n\t\t\t\t输入颜色 ";
cin>>colour;
cout<<"\n\t\t\t\t输入数量 ";
cin>>quantity;
cout<<"\n\t\t\t\t输入价格";//为按价格检索输入价格
cin>>Item_price;
cout<<"\n\t\t\t\t输入日期 ";//为打印进货表输入日期
cin>>Item_date;system("cls");
cout<<"\n\n\t\t\t\t输入商标 1 ";
brnd[0].getdata();system("cls");
cout<<"\n\n\t\t\t\t输入商标 2 ";
brnd[1].getdata();system("cls");
cout<<"\n\n\t\t\t\t输入商标 3 "; brnd[2].getdata();system("cls");
}
// SHOW Item DATA
//显示项目的数据
void Item::showdata()
{
cout<<"\n\n\t\t\t\t\t\t商品资料";
cout<<"\n\n\t\t\t\t商品名称 : ";
cout<
//写一个字符串到标准的输出流(或缓冲区)-Write a string to stdout
cout<<"\n\n\t\t\t\t商品代码 : ";
cout<
cout<<"\n\n\t\t\t\t颜色 : ";
cout<
cout<<"\n\n\t\t\t\t数量 : ";
cout<
cout<<"\n\n\t\t\t\t价格 : ";//可显示价格和日期
cout<
cout<<"\n\n\t\t\t\t日期 : ";
cout<
getch();
// 清屏
cout<<"\n\n\t\t\t\t商标 1"<
getch();
//清屏
cout<<"\n\n\t\t\t\t商标 2"<
getch();
//清屏
cout<<"\n\n\t\t\t\t商标 3"<
}
// Add Item
/* 这个函数先把数据缓存,再放到硬盘上
*/
void Item::add()
{
//清屏
//loop1:
system("cls");
ofstream file( "TIS.txt", ios::out |ios::ate ); //打开程序以输入
if(!file) //如果程序不能被打开
{ cout<<"\n\t\t\t\t错误 无法打开文件\n";
getch();
exit(1);
}
Item p1;
p1.getdata();
// 把数据写到硬盘上
file.write(reinterpret_cast (&p1),sizeof(Item) );
}
// TRAVERSE
/* this function shows the list of all the Brands */
void Item::showab()
{
//清屏
//loop2:
system("cls");
ifstream file( "TIS.txt" ,ios::in); //打开文件以输出
if(!file)
{
cout<<"\n\t\t\t\t错误 无法打开文件\n";getch();
exit(1);
}
Item p1;
file.read(reinterpret_cast(&p1),sizeof(Item));
//存储数据
while( !file.eof() )
{
//清屏
p1.showdata() ; //在屏幕上显示
getch(); //等待键盘输入
file.read(reinterpret_cast (&p1),
sizeof(Item));
}
}
void Item::search()
{
//clrscr();
//loop3:
system("cls"); char name1[10];
int code;
float price;//新增选项 int option;
cout<<"\n\t\t\t\t(1)按名称搜索\n\t\t\t\t(2)按代码检索\n\t\t\t\t(3)按价格检索";
cout<<"\n\t\t\t\t输入选择:";
cin>>option;
//增加按价格搜索功能,用多重选择替原换条件语句
switch(option)
{
case 1:cout<<"\n\t\t\t\t输入商品名称 ";
cin>>name1;
code=0;
price=0;
break;
case 2:cout<<"\n\t\t\t\t输入商品代码 ";
cin>>code;
strcpy(name1,"null");
price=0;
break;
case 3:cout<<"\n\t\t\t\t输入商品价格 ";
cin>>price;
code=0;
strcpy(name1,"null");
break;
}
fstream file( "TIS.txt" ,ios::in); //Open File For Output/Read
if(!file) //If File Could Not Be Opened
{
cout<<"\n\t\t\t\t错误 无法打开文件\n";
getch();
exit(1);
}
char flag='a'; //Flag To Check If Found
Item p1;;
file.read(reinterpret_cast(&p1),sizeof(Item));
//Read Data To Object
while( !file.eof() ) //Untill There Are Contacts
{
if((strcmp(p1.Item_name,name1)==0) || (p1.Item_code==code)||(p1.Item_price==price)) //Compare
{
//clrscr();
p1.showdata();
getch();