注册 登录
编程论坛 C++教室

编好了程序不会运行,神了,求高手指点!!!!

枫落花残 发布于 2012-09-27 18:33, 556 次点击
#include "stdafx.h"
#include <algorithm>
#include <iomanip>
#include <ios>
#include <iostream>
#include <string>
#include <vector>

using std::cin;             using std::sort;
using std::cout;            using std::streamsize;
using std::endl;            using std::string;
using std::setprecision;    using std::vector;

int main()
{
   
    cout << "Please enter your first name: ";
    string name;
    cin >> name;
    cout << "Hello, " << name << "!" << endl;

   
    cout << "Please enter your midterm and final exam grades: ";
    double midterm, final;
    cin >> midterm >> final;

   
    cout << "Enter all your homework grades, "
            "followed by end-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 try again." << 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;

    return 0;
}

这个程序,我是按书上编的,但是不知道怎么运行,运行到第三步就不往下走了,求高手指点,我是新手,二专选的计算机,课本又是全英文的,实在费劲,求高手指点啊
另外说一下,我是文科生,之前没有任何编程基础,连C语言也不会,
7 回复
#2
qunxingw2012-09-27 19:16
c++不一定先学C,但感觉此程序不太适合新学者。循序渐进好些,如灭掉了兴趣就会灭掉未来,呵呵
#3
枫落花残2012-09-27 19:55
回复 2楼 qunxingw
可是,我是按课本上一步步来的啊,我都不知道怎么办了
#4
qunxingw2012-09-27 21:02
至少做到,尽量理解头文件意义,尽量理解每条语句含义。可以查阅其他书籍,若是老师教就多交流。自学就对比其他教材,泛读几本,有个印象,精读一本。几个月下来,就有收获了。
#5
qiaokangjun2012-09-28 18:41
这个程序有问题,编译出错
#6
lhzh01232012-09-28 20:01
#7
枫落花残2012-09-29 12:22
回复 5楼 qiaokangjun
你编译的时候出错了吗,应该没有吧,我是能编译成功的,就是不知道怎么运行
#8
陈便往2012-10-03 22:54
double x;
    while (cin >> x)
        homework.push_back(x);


。。。。这是书上的?开玩笑吧?这不是个死循环吗???
1