2015-02-05 2 views
0

C++로 돌아가려고 시도하고 책에서 연습 문제를 시도하면서 이상한 오류가 발생합니다.간단한 cout을 추가 한 후에 프로그램이 실행되지 않습니다.

사용 코드 :: 블록 + GCC

이것은 현재 프로그램입니다.

#include "std_lib_facilities.h"; 
    int main() 
    { 

    double val, smallest = 9999, largest = 0; 
    string strunit; 
     for (int i = 0; i < 10; i++) { 
      cout << "Enter value: "; 
      cin >> val >> strunit; 

      if (strunit == "in") { 
        val = val*0.254; 
      } else if (strunit == "cm") { 
       val = val/100; 
      } 
      if (val > largest) { 
       largest = val; 
      } else if (val < smallest) { 
       smallest = val; 
      } 
      cout << "Largest: " << largest << "smallest: " << smallest << endl; 

     } 

    return 0; 
} 

나는 while 루프를 사용하려고했지만 지금은 유용합니다. 그러나 결과는 동일합니다.

-------------- Build: Debug in drill_4 (compiler: GNU GCC Compiler)--------------- 

mingw32-g++.exe -o bin\Debug\drill_4.exe obj\Debug\exe\principles_and_practices\drill_4\main.o 
Process terminated with status 0 (0 minute(s), 0 second(s)) 
0 error(s), 0 warning(s) (0 minute(s), 0 second(s)) 

IDE는 내장되지 않은 프로그램을 주장하고 다시 나에게 묻는다 :

은 빌드 결과입니다.

프로그램을 실행할 줄을 거의 주석으로 처리하면됩니다.

같은 결과로 처음에 한 줄의 if 문을 사용했습니다.

필자도 IDE에 익숙하다. 필요한 모든 정보를 어디서 찾을 수 있는지 잘 모르겠지만, pgrogram이 제대로 링크되지 않았을까?

내가 뭘 잘못하고 있는지 아는 사람이 있습니까?

+3

CodeBlocks를 거치지 않고 gcc를 명령 줄에서 실행할 수 있습니까? – Beta

+0

이것이 완전한 코드인가요? "std_lib_facilities.h"가 여기서 무엇을하는지 모릅니다. 그러나 을 포함하여이 코드를 실행하면 문제없이 실행됩니다. – mhs

답변

2

에 한번 사용 #include<iostream>using namespace std;

+3

Stroustrup의 드릴에서 헤더가 이미 있으면 그곳에는''std_lib_facilities.h' (http://www.stroustrup.com/Programming/std_lib_facilities.h)를 통해 거기에 끔찍한 헤더 홈 형식의'using namespace std;'가 있습니다. – WhozCraig

+0

그래도 그의 헤더가 작동하지 않는 것 같습니다. 그는 일부 파일이 누락되었을 수 있습니다. 그가 코드를 실행할 수 있도록 #include , #include 및 namespace std를 사용하십시오. 이 코드가 추가되면 코드가 제대로 작동합니다. –

1

COUT은 iostream 헤더 파일에서 std 네임 스페이스 뒤에.

컴파일러는 그 문제에 대해 cout 또는 cin의 개체 인스턴스를 인식하지 못합니다.

헤더를 추가하고 std :: cout을 사용할 수도 있습니다. 나는이를 입력 할 때

#include <iostream> 

..... 
std::cout << "hellow world"; 
2

은 나를 위해 일한 :

#include <iostream> 
#include<string> 
using namespace std; 


int main() 
{ 

double val, smallest = 9999, largest = 0; 
string strunit; 
    for (int i = 0; i < 10; i++) { 
     cout << "Enter value: "; 
     cin >> val >> strunit; 

     if (strunit == "in") { 
       val = val*0.254; 
     } else if (strunit == "cm") { 
      val = val/100; 
     } 
     if (val > largest) { 
      largest = val; 
     } else if (val < smallest) { 
      smallest = val; 
     } 
     cout << "Largest: " << largest << "smallest: " << smallest << endl; 

    } 
    system("pause"); 
} 

그것은 그 당신의 당신은 그것을 사용하는 VS와 함께 몇 가지 추가 파일을 다운로드 할 수있는 몇 가지 이유 .. 포함한 헤더를 좋아하지 않는다? Visual Studio를 사용하고 있습니까?

+0

동일한 결과로 명령 줄에서 컴파일을 시도했습니다. 나는 지금 별도의 include를 사용할 것이다. –

관련 문제