物资管理系统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();