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.
2.
3.
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; }
相关文章推荐
- ADO在C++中的使用
- C语言实现累加和累乘
- VC++多线程编程
- C/C++定义全局变量/常量几种方法的区别
- C语言分数的正负交叉累加
- C++ opencv小试5
- Essential c++ 第三章代码(有疑问)
- C++中建立派生类对象时构造函数的调用顺序
- C++常用基础小知识
- C++中智能指针的设计和使用
- c++继承中的内存布局
- C语言修饰符
- LeetCode:Word Break II(DP)
- 深入分析C++引用
- 简单的程序诠释C++ STL算法系列之十五:swap
- 设计模式(c++)笔记之十五(State模式)
- 关于C++中const修饰的一些备忘.....【2013.10.23】
- 关于sungard和博彦的笔试
- C语言基础
- C++ 操作符重载 operator = 、operator <