2016-05-03 57 views
1

我一直在CLion IDE上學習和編碼C語言。我寫了一個程序來計算我的課程成績,但總是有不一致的結果。例如,有時輸出會被正確執行,有時CLion的終端會在屏幕上顯示任何內容。但是,當我用本地終端執行我的程序時,它總是正常工作。 CLion有什麼問題?CLion IDE,輸出不一致

這裏是我的代碼:

#include <stdio.h> 
double essay_calc(double grd1, double grd2, double grd3) 
{ 
    double sum1, sum2, sum3, result; 

sum1 = (100*(grd1)/22.0); 
sum2 = (100*(grd2)/22.0); 
sum3 = (100*(grd3)/22.0); 

result = ((sum1*1.10) - sum1 + (sum2*1.15) - sum2 + (sum3*1.20) - sum3); 

return (result); 
} 
double presentation(double pre1, double pre2) 
{ 
    double sum1, sum2, result; 

sum1 = (100*(pre1))/23.0; 
sum2 = (100*(pre2))/40.0; 

result = ((sum1 + sum2)/2)/5; 

return (result); 
} 
double hw(double grd1) 
{ 
    return ((grd1*15)/100.0); 
} 
int main(void) 
{ 
    double ess_grd1, ess_grd2, ess_grd3, pre_grd1, pre_grd2, hw_grd; 
    double total, essay, present, howork; 

printf("Enter 3 essay grades: "); 
scanf("%lf %lf %lf", &ess_grd1, &ess_grd2, &ess_grd3); 
printf("\nEnter 2 presentation grades: "); 
scanf("%lf %lf", &pre_grd1, &pre_grd2); 
printf("\nEnter 1 HW grade: "); 
scanf("%lf", &hw_grd); 

essay = essay_calc(ess_grd1, ess_grd2, ess_grd3); 
present = presentation(pre_grd1, pre_grd2); 
howork = hw(hw_grd); 

total = (essay + present + howork); 

printf("\nEssays: %.2f\n", essay); 
printf("Presentations: %.2f\n", present); 
printf("Homeworks: %.2f\n", howork); 
printf("Total: %.2f\n", total); 

if(total < 70) 
    printf("You have to get %.2f points from final exam to pass\n", 70 - total); 
else 
    printf("Your grade is already over C\n"); 


return 0; 
} 
+1

看到正確的輸出是如何從以後的時間,你確定這不是緩存(c)make構造的結果?我似乎不太可能認爲某些printf被忽略,或者在調用它們之前程序退出,*沒有*設置錯誤退出狀態... – Siguza

+0

我總是在構建代碼後運行,輸出可能不同,當然不穩定。也啓用編輯時自動重新加載Cmake。 – InstantCrush

+0

您需要將文字發佈爲文字,而不是圖片和/或鏈接! – Olaf

回答