2016-03-20 12 views
1

Bu ödev verildi ve bir soru tam olarak ne yanlış yaptığımı anlamıyorum.Belirli bir while döngüsüyle ilgili sorunlar düzgün çalışmıyor

Soru: Bilgisayar Bilimleri Bölümü, bir öğrenci programlamayı öğrendiğinde belirli kriterleri takip eder. Bir dizi programlama alıştırması yapılmalıdır. Bir sonraki alıştırmaya devam etmek için, öğrencinin% 50 veya daha yüksek bir puan alması ve 5 veya daha fazla program çalışmasını tamamlaması gerekir. Bir öğrencinin devam edip edemeyeceğini doğrulamak için bir program yazmanız istenir.

#include <iostream> 
using namespace std; 
int main() 
{ 
    int Programsdone; 
    int Result; 

    while (Result >= 50 || Programsdone >= 5) 
    { 
    cout << " Please enter your mark obtained :" << endl; 
    cin >> Result; 
    Programsdone++; 
    } 

    cout << "Good! You can now proceed to the next exercises." << endl; 

    return 0; 
} 

veri

bir süre döngüsü ile doğrulanması gerekir ve sonuç 50 daha büyük ya da buna eşittir ve Programsdone değeri Benim sorun i 5.

daha büyük ya da eşit olana kadar tekrar edilmelidir doğru durmak ve umutsuzca onunla kaybetmek için döngü almak için görünmüyor olabilir. Herhangi bir yardım harika olurdu!

+0

Sanırım bu (Sonuç <= 50 || Programsdone <= 5) 'dır. Daha mantıklı. – DimChtz

+0

Ama yine de 'Programsdone ++ 'gerekir, ancak eğer sonuç> 50 ise – DimChtz

cevap

1
#include <iostream> 
using namespace std; 
int main() { 

int Programsdone = 0; 
int Result; 

while (Programsdone < 5) { 
    cout << " Please enter your mark obtained :" << endl; 
    cin >> Result; 
    if (Result >=50) Programsdone++; 
} 

cout << "Good! You can now proceed to the next exercises." << endl; 

return 0; 
} 

Bence böyle demek istediniz.

+0

Kodunuzu kopyalamaya çalıştım ve işe yaramadı ama kodunuzu kendi başıma çalıştıktan sonra düzeltmeyi ve düzgün çalışmayı başardım. Bunu gönderdiğiniz için teşekkürler! Çok yardımcı oldu. – Bezuid

+0

@Bezuid Gönderilmeden önce test etmedim, kötü benim :) – DimChtz