2013-10-20 7 views
-2

이 프로그램을 올바르게 작동 시키려고했습니다. 그것은 컴파일하지만 대신 사용자에게 입력을 요구하는 대신 올바르지 않은 내용이 표시됩니다.루프가 제대로 작동하지 않습니다. (C++)

프롬프트 :

이 (라벨)에 주 이후 10 코스 (0 ~ 100) 마크를 사용자에게 물어 통과 마크가 얼마나 많은.

내 코드 :

#include <iostream> 
#include <time.h> 
#include <stdlib.h> 

using namespace std; 

int main() 
{ 
    int mark; 
    int passinggrades = 0; 
    for(int i = 0; i > 10; i++) 
    { 
     cout << "Enter Mark:"; 
     cin >> mark; 
     while(mark >= 50) 
     { 
      passinggrades++; 
     } 
    } 
    cout << j << " of your marks were passing grades."; 
    return 0; 
} 

답변

5

루프 조건이 잘못 :

for (int i=0; i>10;i++) 

는 비교가

for (int i=0; i<10;i++) 

서명 역은 또한, 당신은 아마이 줄 if합니다 :

while(mark >= 50) 

변경

if(mark >= 50) 

로도 출력 라인이 잘못되었습니다. 코드에는 j이 없습니다. 이 작업을 수행합니다 :

cout << passinggrades << " of your marks were passing grades."; 
+0

마크의'cout << j << '이 성적을 통과했습니다. ";'-'j'도'passinggrades' 여야합니다. – ctor

+0

@ctor 감사합니다. 그 두 가지 실수를 한 후에 나는 읽지 않았다. – Kunal

2
for (int i=0; i>10;i++) 

당신은 i = 0에서 시작 (가 0이기 때문에, 결코) 당신은 i > 10 동안 루프를 수행합니다.

2

내가 대신 무한 루프 또한

while(mark >= 50) 

if(mark >= 50) 

를 원 생각, 다른 사람처럼 i<10 말했다.

0

세 가지 문제 : ONE은 : 당신이 말할 때 :

while(mark >= 50) 
{ 
    passinggrades++; 
} 

50 +의 입력 프로그램이 영원히 모양에 박히 만들 것입니다. 대신 사용

if(mark >= 50) 
{ 
    passinggrades++; 
} 

2 :

대신 for 루프에서 i>10 사용 i<10

세 : (주석에 대한 감사의 ctor)

j 정의되지 않고해야 passinggrades으로 대체되었습니다.

+0

'j'도 정의되지 않았습니다. – ctor

관련 문제