第三章习题汇总

来源:互联网 发布:兰亭序周杰伦知乎 编辑:程序博客网 时间:2024/05/19 01:11

4.

#include <iostream>using namespace std; class stu{private:int num;int s;public:stu(int h,int w){num=h;s=w;}void disaplay();};void stu::disaplay(){cout<<num<<" "<<s<<" "<<endl;}int main() {stu a[5]={stu(95,3930),stu(96,3931),stu(97,3932),stu(98,3933),stu(99,3934)}; stu *p; p=a; p->disaplay(); p=p+2; p->disaplay(); p=p+2; p->disaplay();return 0;}


5.

#include <iostream>using namespace std;class Student { public:   Student(int n,float s):num(n),score(s){}   int num;   float score; };int main(){Student stud[5]={  Student(101,78.5),Student(102,85.5),Student(103,98.5),  Student(104,100.0),Student(105,95.5)}; void max(Student* ); Student *p=&stud[0]; max(p); }void max(Student *arr){float max_score=arr[0].score; int k=0; for(int i=1;i<5;i++)   if(arr[i].score>max_score) {max_score=arr[i].score;k=i;} cout<<arr[k].num<<" "<<max_score<<endl;}



8.

#include <iostream>using namespace std;class Student {public:   Student(int n,float s):num(n),score(s){}   void change(int n,float s) {num=n;score=s;}   void display() {cout<<num<<" "<<score<<endl;}  private:   int num;   float score; };int main(){Student stud(101,78.5); void fun(Student&); fun(stud); return 0; }void fun(Student &stu){stu.display();stu.change(101,80.5); stu.display();}

9.

#include <iostream>using namespace std;class Product {public:   Product(int n,int q,float p):num(n),quantity(q),price(p){};   void total();   static float average();   static void display();  private:   int num;   int quantity;   float price;   static float discount;   static float sum;   static int n; };void Product::total() {float rate=1.0;  if(quantity>10) rate=0.98*rate;  sum=sum+quantity*price*rate*(1-discount);  n=n+quantity; }void Product::display() {cout<<sum<<endl;  cout<<average()<<endl; }float Product::average() {return(sum/n);}float Product::discount=0.05;float Product::sum=0;int Product::n=0;int main() {   Product Prod[3]={     Product(101,5,23.5),Product(102,12,24.56),Product(103,100,21.5)    };   for(int i=0;i<3;i++)     Prod[i].total();   Product::display();   return 0; }


10.

#include <iostream>using namespace std;class Date;class Time {public:   Time(int,int,int);   friend void display(const Date &,const Time &);  private:   int hour;   int minute;   int sec; }; Time::Time(int h,int m,int s) {hour=h;  minute=m;  sec=s; }class Date {public:Date(int,int,int);   friend void display(const Date &,const Time &);  private:   int month;   int day;   int year; };Date::Date(int m,int d,int y) {month=m;  day=d;  year=y; }void display(const Date &d,const Time &t) {  cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;  cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl; }int main(){ Time t1(16,58,30); Date d1(2015,4,21); display(d1,t1); return 0;}

11.

#include <iostream>using namespace std;class Time;class Date {public:   Date(int,int,int);   friend Time;private:   int month;   int day;   int year; };Date::Date(int m,int d,int y):month(m),day(d),year(y){ }class Time {public:   Time(int,int,int);   void display(const Date &);  private:   int hour;   int minute;   int sec; };Time::Time(int h,int m,int s):hour(h),minute(m),sec(s){ }void Time::display(const Date &d) {  cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;  cout<<hour<<":"<<minute<<":"<<sec<<endl; }int main(){ Time t1(16,58,30); Date d1(2015,4,21); t1.display(d1); return 0;}



12.

#include <iostream>using namespace std;template<class numtype>class Compare {public:   Compare(numtype a,numtype b);   numtype max();   numtype min();  private:   numtype x,y; };template <class numtype>Compare<numtype>::Compare(numtype a,numtype b)  {x=a;y=b;}template <class numtype>numtype Compare<numtype>::max() {return (x>y)?x:y;}template <class numtype>numtype Compare<numtype>::min()  {return (x<y)?x:y;}int main(){Compare<int> cmp1(3,7); cout<<cmp1.max()<<" is the Maximum of two integer numbers."<<endl; cout<<cmp1.min()<<" is the Minimum of two integer numbers."<<endl<<endl; Compare<float> cmp2(45.78,93.6); cout<<cmp2.max()<<" is the Maximum of two float numbers."<<endl;cout<<cmp2.min()<<" is the Minimum of two float numbers."<<endl<<endl; Compare<char> cmp3('a','A'); cout<<cmp3.max()<<" is the Maximum of two characters."<<endl; cout<<cmp3.min()<<" is the Minimum of two characters."<<endl; return 0;}




0 0