zoukankan      html  css  js  c++  java
  • 初识C++的类

    //Sales_item.h
    #ifndef SALESITEM_H #define SALESITEM_H #include <iostream> #include<string> class Sales_item { public: std::istream &input(std::istream & in); std::ostream & output(std::ostream & out)const; double avg_price() const; bool same_isbn(Sales_item& rhs)const; Sales_item add(Sales_item& other); Sales_item::Sales_item() :unit_sale(0), revenue(0){} private: std::string isbn;//isbn号 int unit_sale;//数量 double revenue;//总价 }; #endif

    //Sales_item.cpp
    #include "Sales_item.h"
    std::istream& Sales_item::input(std::istream & in){
    	double price;
    	in >> isbn >> unit_sale >> price;
    	if (in)
    		revenue = unit_sale*price;
    	else
    	{
    		unit_sale = 0;
    		revenue = 0.0;
    	}
    	return in;
    }
    std::ostream& Sales_item::output(std::ostream & out)const{
    	out << isbn << "	" << unit_sale << "	"
    		<< revenue << "	" << avg_price();
    	return out;
    }
    
    double Sales_item::avg_price() const{
    	if (unit_sale)
    		return revenue / unit_sale;
    	else
    		return 0.0;
    }
    bool Sales_item::same_isbn(Sales_item& rhs)const{
    	return isbn == rhs.isbn;
    }
    Sales_item Sales_item::add(Sales_item& other){
    		unit_sale += other.unit_sale;
    		revenue += other.revenue;
    		return *this;
    }
    

      

    //main.cpp
    #include <iostream>
    //#include <string>
    //#include <vector>
    //#include <cctype>
    //#include <cstring>
    //#include <bitset>
    #include "Sales_item.h"
    
    using namespace std;
    
    
    int main(int argc, char **argv)
    {
    	Sales_item total, trans;
    	cout << "Enter some transaction (ctrl + z to end)" << endl;
    	if (total.input(cin)){//读入第一个交易
    		while (trans.input(cin))
    		{
    			if (total.same_isbn(trans))
    				total.add(trans);
    			else
    			{
    				total.output(cout);
    				total = trans;
    			}
    		}
    		//输出最后一个交易
    		total.output(cout) << endl;
    	}
    	else
    	{
    		cout << "No data!" << endl;
    		return -1;
    	}
    
    	cout << endl;
    	system("pause");
    	return 0;
    }
    

      

      

  • 相关阅读:
    总结一些css加载动画
    写日历的一些总结(三)
    写日历的一些总结(二)
    写日历的一些总结
    兼容性问题总结(转)
    关于npm(转)
    关于NaN
    面向对象与原型
    git命令
    python django 数据库树形菜单的设计
  • 原文地址:https://www.cnblogs.com/beihaidao/p/5935441.html
Copyright © 2011-2022 走看看