【c++】期末测试1-2-创新互联
- 期末1
- 期末2
期末1
【题目描述】
输入一个字符串(长度不超过255),请找出字符串中的所有的正整数(如-12,当作12),然后输出其中的素数。如果出现12.5,则看作12和5两个整数。
【样例输入】
How3.5many12prime-17number79inthestring.
【样例输出】
3 5 17 79
#include#include#includeusing namespace std;
bool checksu(int a)
{for (int i=2;i<=sqrt(a);i++) if (a%i==0) return false;
return true;
}
bool isshu(char a)
{if (a>='0'&&a<='9') return true;
return false;
}
int main()
{string s;
getline(cin,s);
int a=0,i=-1,s_length=s.length();
while (++ia=0;
while (isshu(s[i])) {a=a*10+(s[i]-48);i++;}
if (a>1&&checksu(a)) cout<
期末2
【题目描述】
某公司对员工每月工资计算如下:每月工资=基础工资+变动工资,研发人员的变动工资为研发补贴( subsidy),每月按照在研产品数(Number)*500发放研发补贴。销售人员的变动工资为销售提成(Sales_Commission),销售提成按照销售额(Sales_Volume)的百分之三进行提成.
编写程序,定义抽象类Employee,有double型保护数据成员BasicSalary,TotalSalary;string型私有成员 name,
由它公有派生出2个类:DStaff(研发人员)、Salesman(销售人员),派生类中增加的数据成员也为double型。
抽象类Employee的结构如下:
class Employee//声明抽象类
{public:
Employee (string na,double B_Salary):BasicSalary(B_Salary),Name(na){} //抽象类的构造函数
virtual void calSalary()=0; //纯虚函数
virtual void print()const=0; //纯虚函数
string getName()const{return Name;}
protected:
double BasicSalary,TotalSalary;
private:
string Name;
};
主函数中定义抽象类的指针,再定义DStaff(研发人员)、Salesman(销售人员)对象各一个,各对象的初始值均由键盘输入。应用C++的多态性,将各派生类对象的地址赋给基类指针,通过指针计算各对象的月工资并输出。
注: 设置输出格式可用如下语句
cout<
该语句需要包含头文件iomanip
【输入形式】
研发人员的姓名 基础工资 在研产品数量
销售人员的姓名 基础工资 销售额
【输出形式】
研发人员的姓名 基础工资 研发工资 总工资
销售人员的姓名 基础工资 销售额 总工资
【样例输入】
Zhanghao 5000 5
LiLin 3000 100000
【样例输出】
Zhanghao的工资明细
基础工资:5000.00,研发补贴:2500.00,总工资:7500.00
LiLin的工资明细
基础工资:3000.00,销售提成:3000.00,总工资:6000.00
#include#include#include#includeusing namespace std;
class Employee//声明抽象类
{public:
Employee (string na,double B_Salary):BasicSalary(B_Salary),Name(na){} //抽象类的构造函数
virtual void calSalary()=0; //纯虚函数
virtual void print()const=0; //纯虚函数
string getName()const{return Name;}
protected:
double BasicSalary,TotalSalary;
private:
string Name;
};
class DStaff:public Employee
{public:
double Number;
DStaff(string na,double B_Salary,double N_number):Employee(na,B_Salary),Number(N_number){} //抽象类的构造函数
void calSalary(){ TotalSalary=BasicSalary+Number*500;
}
void print()const{ cout<public:
double Sales_Commission;
Salesman(string na,double B_Salary,double s_Sales_Commission):Employee(na,B_Salary),Sales_Commission(s_Sales_Commission){} //抽象类的构造函数
void calSalary(){ TotalSalary=BasicSalary+Sales_Commission*0.03;
}
void print()const{ cout<string s1,s2;
double a,b,c,d;
cin>>s1>>a>>b>>s2>>c>>d;
Employee *p1,*p2;
DStaff per1(s1,a,b);
Salesman per2(s2,c,d);
p1=&per1;p2=&per2;
p1->calSalary();p2->calSalary();
p1->print();p2->print();
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:【c++】期末测试1-2-创新互联
文章转载:http://pwwzsj.com/article/dddcsp.html