C Programme qui compte le nombre de succès ou d'échec des grades et des sorties lorsqu'un nombre négatif est appliqué en entrée

Je suis un débutant à la Programmation en C et nous sommes toujours en partant sur les boucles. Pour notre exercice d'aujourd'hui, nous avons été chargé de créer un faire-alors que le programme qui compte le nombre de succès et d'échec des teneurs y sont mais la boucle des pauses lorsqu'un nombre négatif est appliqué en entrée. Aussi, les chiffres au-dessus de 100 est ignorée. C'est mon programme:

#include<stdio.h>
#include<conio.h>

int main()
{
int grade, pass, fail;

pass = 0;
fail = 0;

do {
    printf("Enter grade:\n");
    scanf("%d", &grade);
    printf("Enter -1 to end loop");
}

while(grade == -1){
    if(grade < 100){
        if(grade >= 50){
        pass = pass + 1;
        }
        else if {
        fail = fail + 1;
        }
    }
    break;
}
printf("Pass: %d", pass);
printf("Fail: %d", fail);

getch ();
return 0;
}

Quelqu'un peut-il me dire comment faire pour améliorer ou où je suis allé mal?

Votre while boucle est en fait un do-while boucle. Les trucs entre crochets après ne fait pas partie de la boucle - c'est en fait un champ d'application bloc. Ce qui est faux. Aussi, votre bien que la condition est fausse, la syntaxe de else if { est pas valide, et vous ne devriez pas avoir un break.
Notez que vous ignorez les étudiants qui parviennent à obtenir une note de 100 (vous devriez avoir if (grade <= 100)). Ce fut en silence corrigé dans la accepté de répondre.

OriginalL'auteur confusedcat | 2013-08-02