C++自定義數據結構

C++自定義數據結構

#include <iostream>

void selfDefinedDataStructure() {
	std::cout << "自定義數據結構:" << std::endl;

	// 自定義Sales_data數據類型
	// struct + 類名 + 類體
	// 類體中定義類的“成員”,次數的“成員”只有數據成員(data member)
	// 每個類的成員可以提供一個“類內初始值”(in-class initializer),不提供初始值的,默認初始化。
	struct Sales_data
	{
		std::string bookNo;
		unsigned units_sold = 0;
		double revenue = 0.0;
	};

	Sales_data sale_data1, sale_data2;
	double price = 0;
	std::cout << "讀書圖書編號、銷售量、單價" << std::endl;
	
	std::cin >> sale_data1.bookNo >> sale_data1.units_sold >> price;
	sale_data1.revenue = sale_data1.units_sold * price;
	std::cout << "sale_data1.revenue: " << sale_data1.revenue << std::endl;
	
	std::cin >> sale_data2.bookNo >> sale_data2.units_sold >> price;
	sale_data2.revenue = sale_data2.units_sold * price;
	std::cout << "sale_data2.revenue: " << sale_data2.revenue << std::endl;

	if (sale_data1.bookNo == sale_data2.bookNo) {
		unsigned totalCnt = sale_data1.units_sold + sale_data2.units_sold;
		double totalRevenue = sale_data1.revenue + sale_data2.revenue;
		// 輸出圖書編號、總銷量、總銷售額、平均價格
		std::cout << sale_data1.bookNo << " " << totalCnt << " " << totalRevenue << " ";
		if (totalCnt != 0) {
			std::cout << totalRevenue / totalCnt << std::endl;
		}
		else {
			std::cout << "(no sales)" << std::endl;
		}
	}
	else {
		std::cerr << "Data must refer to the same ISBN" << std::endl;
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章