第十五週oj刷題——Problem I: C++ 習題 比較大小-類模板
阿新 • • 發佈:2019-02-14
Description
宣告一個類模板,利用它分別實現兩個整數、浮點數和字元的比較,求出大數和小數。說明:在類模板外定義各成員函式。
Input
輸入兩個整數、兩個浮點數和兩個字元
Output
從大到小輸出兩個整數、兩個浮點數和兩個字元
Sample Input
3 7
45.78 93.6
a A
Sample Output
7 3
93.60 45.78
a A
/* All rights reserved. * 檔名稱:test.cpp * 作者:陳丹妮 * 完成日期:2015年 6 月 21 日 * 版 本 號:v1.0 */ #include <iostream> #include <iomanip> using namespace std; class Product { private: int num; int quantity; float price; static float discount; static float sum; static int n; public: Product(int nu,int q,float p):num(nu),quantity(q),price(p){} Product(){} double total(); static void display(); static double average(); }; float Product::discount=0.05; float Product::sum=0; int Product::n=0; double Product::total() { n=quantity+n; if(quantity>10) sum=sum+quantity*price*(1-discount)*0.98; else sum=sum+quantity*price*(1-discount); return sum; } double Product::average() { double a; a=sum/n; return a; } void Product::display() { cout<<sum<<endl; cout<<average()<<endl; } int main() { const int NUM =10; Product Prod[10]; int m,i; cin>>m; int num; int quantity; float price; for(i=0; i<m; i++) { cin>>num>>quantity>>price; Product temp(num,quantity,price); Prod[i]=temp; } for(i=0; i<m; i++) Prod[i].total(); cout<<setiosflags(ios::fixed); cout<<setprecision(2); Product::display(); return 0; }
心得體會:類模板,現在終於能夠掌握了,刷題還是非常有用的,不僅可以鞏固知識,還可以幫我們查漏補缺,這樣的複習方式我很喜歡,繼續努力吧!!