复杂类与对象练习题
更新时间:2023-11-09 15:33:01 阅读量: 教育文库 文档下载
- java复杂对象推荐度:
- 相关推荐
复杂类与对象练习题
1、商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3名销货员的销售情况为: 销货员号(num) 101 102 103 销货件数(quantity) 5 12 100 销货单价(price) 23.5 24.56 21.5 请编程序,计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
(提示: 将折扣discount、总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。
#include
public: Pr(int m,int q,double p) { num=m; quantity=q; price=p; } void cal(); static double average(); static void display(); private: int num; int quantity; double price; static double discount; static double sum; static int n; };
void Pr::cal() { double rate=1; if(quantity>10) rate=0.98*rate;
sum=sum=quantity*price*rate*(1-discount); n=n+quantity; }
void Pr::display() { cout<
double Pr::discount=0.05; double Pr::sum=0; int Pr::n=0; main() { Pr p[3]={Pr(101,5,23.5),Pr(102,12,24.56),Pr(103,100,21.5)}; for(int i=0;i<3;i++) p[i].cal(); Pr::display(); return 0; }
1、定义一个时钟类Clock,设计成员函数SetAlarm(int hour,int minute,int second)设置响铃时间;用run()成员函数模拟时钟运行,当运行到响铃时间时提示响铃。
#include
public: Clock(int h,int m,int s) { hour=(h>23?0:h); minute=(m>59?0:m); second=(s>59?0:s); } void SetAlarm(int h,int m,int s) { Ahour=(h>23?0:h); Aminute=(m>59?0:m); Asecond=(s>59?0:s); } void ShowTime() { cout<<\
} void run() { second=second+1; if(second>59) { second=0; minute=minute+1; } if(minute>59) { minute=0; hour=hour+1; } if(hour>24) hour=0; if(hour==Ahour&&minute==Aminute&&second==Asecond) { cout<<\ } } private: int hour; int minute; int second; int Ahour; int Aminute; int Asecond; }; main() { Clock D1(7,59,57); D1.ShowTime(); D1.SetAlarm(8,0,0); for(int i=0;i<3600*24*3+100;i++) D1.run(); D1.ShowTime(); }
2、有一信息管理系统,要求检查每一个登录系统的用户(User)的用户名和口令,系统检查合格以后方可登录系统,用C++程序予以描述。
#include
{
public: User(char *name,char *pass) {
strcpy(username[num],name) ; strcpy(password[num],pass); for(int i=0;password[num][i]!='\\0';i++) password[num][i]+=i; num++; } AddUser(char *name,char *pass) { strcpy(username[num],name); strcpy(password[num],pass); for(int i=0;password[num][i]!='\\0';i++) password[num][i]+=i; num++; } int loggin(char *name,char *pass) { for(int i=0;i int User::num=0; void main() { char name[10],pass[10]; User u1(\ u1.AddUser(\ u1.AddUser(\ cout<<\ cin>>name; } cout<<\cin>>pass; if(u1.loggin(name,pass)>=0) cout<<\else cout<<\ 3、定义一个FDAccount类,用以描述一个定期存折(fixed deposit),实现现金支取、余额合计、信息显示等。存折基本信息包括账号、账户名称、存款余额、存款期限(以月为单位)、存款利率(以百分点为单位)等。 #include class Customer //客户类 { friend class BankQueue;//将BankQueue类声明为Customer类的友元类 private: int account;//账号 int amount;//金额,大于0表示存款,小于0表示取款 public: Customer(int account=-1,int amount=0); int GetAccount();//取账号 int GetAmount();//取金额 }; const int ARRAY_SIZE=10; class BankQueue //队列类 { public: BankQueue(); void EnQueue(Customer newElem);//元素入队列 Customer DelQueue();//元素出队列 int GetLength()//取队列长度 { return length; } void Print() const;//输出队列 private: Customer elem[ARRAY_SIZE];//存放队列元素的数组 int first;//队列首元素位置 int length;//队列长度 }; Customer::Customer(int account,int amount) { this->account=account; this->amount=amount; } int Customer::GetAccount()//取账号 { return account; } int Customer::GetAmount()//取金额 { return amount; } BankQueue::BankQueue() { first=0; length=0; } void BankQueue::EnQueue(Customer newElem)//元素入队列 { int pos=(first+length)%ARRAY_SIZE;//计算新元素的存放位置 elem[pos]=newElem;//存储新元素 length++;//队列长度加1 } Customer BankQueue::DelQueue()//元素出队列 {//暂存队列首元素,访问了Customer类的私有数据成员 Customer ret(elem[first].account,elem[first].amount); first=(first+1)%ARRAY_SIZE;//队列首元素位置进1 length--;//队列长度减1 return ret;//返回队列首元素 } void BankQueue::Print() const//输出队列 { int pos=first; cout<<\队列中客户:\ for(int i=0;i void main() { BankQueue q; int i; for(i=0;i<6;i++) q.EnQueue(Customer(i+1,100*(i+1))); q.Print(); Customer a; } for(i=0;i<3;i++) { a=q.DelQueue(); cout<<\} cout<
正在阅读:
复杂类与对象练习题11-09
病案103-02
我喜欢吃橘子作文350字06-17
李克月《清兵卫与葫芦》导学案09-30
2018高中政治学业水平考试核心知识点07-11
2016心理健康教育期末考试试题与答案03-08
实验四 java编程11-15
XX项目渗透报告06-24
马鞍山创客空间建设方案 -09-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 练习题
- 复杂
- 对象
- 人教版高一政治必修二全册导学案汇编 - 图文
- 新理念英语学习综合教程第三册(Unit1)卷E
- 北师大版必修一3.6《指数函数、幂函数、对数函数增长的比较》word教案1
- 锐捷VPN命令行操作手册
- 长螺旋钻孔灌注桩基础施工方案(最新)2016
- 《中国当代诗三首》 练习- 语文网中网 首页
- 高三语文三轮复习计划4篇
- 北京四中2008~2009学年度第一学期期中测试高一数学试卷
- 《语文教育学新论》试题
- 2012年湖南高中学业水平考试语文试卷及答案
- 浅谈小学语文教师课堂评价语言的有效应用(倪德芝)
- 河南省信阳高级中学2015-2016学年高一10月月考化学试题 doc
- 课文翻译 课后答案 全新版大学英语(第二版)综合教程 - 第五册 Unit - 2 Diet Lets - Go - Veggie!
- 2016年继续教育满分作业及参考答案精华版备考资料
- 水库安全管理基本知识
- 2017.12.2四川省事业单位联考综合知识真题与答案1(1)
- 海洋生物学复习内容 - 图文
- 单片机温度控制系统设计
- 双名命名
- 组培育苗工厂的设计原则与及规模确定