第三章

来源:互联网 发布:淘宝如何签署食品协议 编辑:程序博客网 时间:2024/05/10 12:00

第三章(使用批量数据)

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#include<iostream>

#include<ios>

#include<iomanip>

#include<string>

 

using namespace std;

int main()

{

       cout<< "please enter your first name: ";

       stringname;

       cin>> name;

       cout<< "hello "+name+ " !"<<endl;

       cout<< "Enter all your homework grades followed by end-of-file:";

       doublemidterm, final;

       cin>> midterm >> final;

       intcount = 0;

       doublesum = 0;

       intx;

       while(cin>> x){

              ++count;

              sum+= x;

       }

       streamsizeprec = cout.precision();

       cout<< " your final grade is " << setprecision(3) <<0.2 * midterm + 0.4 * final + 0.4 * sum / count <<setprecision(prec)<<endl;

       return0;

}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

头文件<ios>定义了一个类型streamsize,输入输出库就是用这个类型表示长度的。

头文件<iomanip>定义了控制器setprecision,这个控制器允许我们指明输出所包含的有效位数。

另外,如果要精确小数点后的几位数,一应写成如下形式:

#include<iostream> //加头文件

cout <<  setiosflags ( ios::fixed)<<setpercision(n)<<number<< endl;

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#include<iostream>

#include<algorithm>

#include<ios>

#include<string>

#include<iomanip>

#include<vector>

using namespace std;

int main()

{

       cout<<" please enter your first name: ";

       stringname;

   cin >> name;

    cout<< "hello, " << name << " !"<<endl;

   cout << "please enter your final and midterm examgrades:  ";

   double final, midterm ;

   cin >> final >> midterm;

   cout << "enter all your homework grades followed byend-of-file: ";

   vector<double> homework;

   double x;

   while(cin >> x){

           homework.push_back(x);

    }

   typedef vector<double>::size_type vec_sz;

   vec_sz size = homework.size() ;

   if(size == 0){

   cout << endl <<"you must enter your grades please tryagain."<< endl;

    return 1;

    }

   sort(homework.begin() , homework.end() );

   vec_sz mid = size/2;

   double median ;

   median = size % 2 == 0 ? (homework[mid]+homework[mid-1])/2:homework[mid];

   streamsize prec = cout.precision();

       cout<< "your final grade is "<< setprecision(3) <<0.2*midterm + 0.4 * final +0.4*median <<setprecision(prec) << endl;

       return0;

   

}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

小结:

关于库中的容器的操作:

vector<T>::size_type //一种类型,它确保能够保存能够存在的最大向量中的所有元素。

v.begin()  // 返回一个值,这个值指示v的第一个元素。

v.end()  //返回一个数值,这个数值指示紧跟在v的最后一个元素之后的位置。

Vector<T>v   //创建了一个空的向量,这个向量可以保存T类型的元素 。

v.push_back(e)  // 给向量添加一个元素,这个元素的初始值为e

v[i]  //返回存储在位置i中的值

v.size() //返回v的元素个数

习题。。。。。。

0 0