您的位置:首页 > 编程语言 > C语言/C++

C++实验二

2013-10-24 12:39 127 查看
【实验内容】

1、编写一个程序,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员周工作小时超过40 小时,则超过部分按原工资的1.5 倍的加班工资来计算。若雇员每周工作小时超过60 小时,则超过60 的部分按原工资的3 倍的加班工资来计算,而40 到50 小时的工资仍按照原工资的1.5 倍的加班工资来计算。

•要求有输入提示和输出提示,如要输入雇员的工作时间和每小时的工资值时,可以提示:

“Please input employee’s work time and wage_per_hour:”

输出时,提示:

“The employee’s wage :”;

2、编写一个程序,提示用户输入一个年份及这一年的第一天是星期几,输出每个月的第一天是星期几。例如,如果用户输入2005和6,表示2005年1月1日是星期六,程序应输出如下内容:

January 1, 2005 is Saturday



December 1, 2005 is Thursday

•用函数 int ComputeDay(int year, int day)计算星期;

•在main函数完成用户输入和输出工作;

3、编写贷款分期偿还程序。一笔贷款的月还款包含偿还本金和偿还利息。月利息可以通过月利率乘以余额(剩余本金)来计算,于是月偿还金额就等于月还款额减去月利息。

•要求用户输入贷款额、贷款年限和利率,程序输出分期还款的计划。

•如果输入贷款额度10000美元、期限1年和利率7%,程序应该输出:

Load Amount:10000

Number of Years:1

Annual Interest Rate:7%

Monthly Payment:865.26

Total Payment:10381.21

Payment# Interest Principal Balance

1 58.33 806.93 9193.07

2 53.62 811.64 8381.43



11 10.0 855.26 860.27

12 5.01 860.25 0.01

实现:

1.

#include<iostream>
using namespace std;
int getPay(int hour,int per)
{
if(hour<=40)
return hour*per;
else if(hour<=60)
return (hour-40)*per*1.5+40*per;
else
return (hour-60)*per*3+20*per*1.5+40*per;

}
int main(){
double time,per;
cout<<"Please input employee’s work time and wage_per_hour:";
cin>>time>>per;
cout<<"The employee’s wage :"<<getPay(time,per)<<endl;
return 0;
}

2.

#include <iostream>
using namespace std;
int getDays(int month ,int year){
bool israin=year%4==0&&year%100!=0 || year%400==0;
switch(month){
case 1:return 31;break;
case 2:
if(israin)
return 29;
else
return 28;
break;
case 3:return 31;break;
case 4:return 30;break;
case 5:return 31;break;
case 6:return 30;break;
case 7:return 31;break;
case 8:return 31;break;
case 9:return 30;break;
case 10:return 31;break;
case 11:return 30;break;
case 12:return 31;break;
}
}
void displayMonth(int month){
switch(month){
case 1:cout<<"January";break;
case 2:cout<<"February";break;
case 3:cout<<"March";break;
case 4:cout<<"April";break;
case 5:cout<<"May";break;
case 6:cout<<"June";break;
case 7:cout<<"July";break;
case 8:cout<<"July";break;
case 9:cout<<"September";break;
case 10:cout<<"October";break;
case 11:cout<<"November";break;
case 12:cout<<"December";break;
}
}
void displayDate(int date){
switch(date){
case 1:cout<<"Monday";break;
case 2:cout<<"Tuesday";break;
case 3:cout<<"Wednesday";break;
case 4:cout<<"Thursday";break;
case 5:cout<<"Friday";break;
case 6:cout<<"Saturday";break;
case 7:cout<<"Sunday";break;
}
}
void displayAll(int month,int year,int date){
displayMonth(month);
cout<<" 1 "<<year<<" is ";
displayDate(date);
cout<<endl;
}
int ComputeDay(int year, int day,int firstDate){
return day%7-1+firstDate;
}
int main(){
int year,firstDate,day=1;
cin>>year>>firstDate;
for(int month=1;month<13;month++){
displayAll(month,year,ComputeDay(year,day,firstDate));
day+=getDays(month,year);
}
return 0;
}


3.

#include <math.h>
using namespace std;

double getInterest(double Money,double lilv){
return Money*(lilv/12);
}
int main(){
double loan,lilv,interest,monthPay,balance;
int year;
cout<<"输入贷款额、贷款年限和利率: ";
cin>>loan>>year>>lilv;
balance=loan;
monthPay=loan*lilv/12*pow(1+lilv/12,12*year)/(pow(1+lilv/12,12*year)-1);
cout<<"Load Amount: "<<loan<<endl;
cout<<"Number of Years: "<<year<<endl;
cout<<"Annual Interest Rate: "<<lilv<<endl<<endl<<endl;
cout<<"Monthly Payment: "<<monthPay<<endl;
cout<<"Total Payment: "<<monthPay*12*year<<endl<<endl<<endl;
printf("Payment#\tInterest\tPrincipal\tBalance\n");

for(int month=1;month<=year*12;month++){
interest=getInterest(balance,lilv);
balance-=(monthPay-interest);
printf("%d\t%14.2f\t%14.2f\t%14.2f\n",month,interest,monthPay-interest,balance);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: