3장 2번째 프로그램인뎅....책대로 쳤는데 에러남..ㅡㅜ
2번째랑 3번째 에러는 1번째에서 에러나니까 당연한거 같은데...
첫번째가 왜 안될까욤???@,.@
~cpp
#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 yourmidterm and final exam grades: ";
double midterm, final;
cin >> midterm >> final;
cout << "Enter all your homework grades, "
"followed by endoffile:";
vector<double> homework;
double x;
while (cin >> x)
homework.push_back(x);
typedef vector<double>::size_type vec_sz; // 요기 에러1
vec_sz size = homework.size(); // 요기 에러2
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; // 요기 에러3
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;
}
Answer.
- VS6가 무슨이유인지는 모르겠으나 namespace 가 표준을 지원하지 않는 것 같기도하고, 하여간 namespace 문제입니다.
소스를 그대로 쓰고 싶다면 ZP서버에서 gcc로 돌리면 됩니다. 서버가 성능이 별로인 관계로 비추합니다.
그렇지 않고 VS6에서 하고 싶다면
using 지시자로 지정된 부분을 using namespace std; 로 바꾸면 정상적으로 동작합니다.
.net 은 어떤지 모르겠네요. - eternalbleu
1학년들이 가지고 배우는 Dev-CPP가 gcc 기반이라는 군요. 이걸로 돌려도 될 듯 하네요. 참고하셈 - eternalbleu
- 음... g++ 이요~ - 이영호
- 찹고로 g++은 gcc에 c++관련 라이브러리를 자동으로 링킹해주는 역할을합니다.
g++ test.cpp -o test
gcc -lstdc++ test.cpp -o test
동일한 결과를 얻을 수 있을듯합니다. - eternalbleu