求两个c++程序

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:07:30
1.编写一个控制台程序,其中包含一个round()函数,用于对浮点数进行四舍五入。被四舍五入的数值通过引用参数进行传递。
提示:使用modf( )函数(定义在math.h中),该函数用来将一个数分解为整数部分和小数部分。小数部分被返回;整数部分被放入由该函数的第2个参数(引用类型)指出的变量中。
2.编写一个控制台程序,要求:编写一个函数get_scores()接受用户输入的语文、数学、物理、化学和英语5科成绩,在main()中利用get_scores()接受输入,main()与get_scores()之间不得使用全局变量通信。然后计算总成绩与平均成绩.
要求:
用c++语言
有比较详细的注释

第一题:
/*谢谢提醒,我已经改了,我是在visual c++2005上测试通过的
*/
#include <iostream>
#include<cmath>
#include<iomanip>
using namespace std;

/**
number 要四舍五入的浮点数
b 要精确到小数点后面的位数 为负数时则精确到小数点前面的位
*/
float round(float &number,int b)
{
number *= pow(10.0,b); //将number增大10的b次方倍

//开始四舍五入了(实际上只是舍)
number += 0.5 ;
int a = (int)number;

number = (float)a / pow(10.0,b); //number 除以10的b次方倍
return number;
}
int main(int argc, char *argv[])
{
float number ;
cout<<"请输入一个浮点数:";
cin>>number;

int b ;
cout<<"请问你要精确到小数点后面第几位:";
cin>>b;

round(number,b);
cout<<setiosflags(ios_base::fixed);
cout<<"它现在是:"<<setprecision((b<0)?0:b)<<number<<endl;
return 0;
}
第二题:
#include <iostream>
using namespace std;
//定义一个结构体类