J’ai essayé d’écrire un programme pour le niveau scolaire et il reflète uniquement A+.

la programmation


C++
#include<stdio.h>

int main()
{
    int marks;
    printf("Enter the Marks:");
    scanf("%d", &marks);

    if("marks >= 95"){
        printf("Grade is A+ \n");
    }
    else if("marks > 80 && marks < 95"){
        printf("Grade is B+ \n");
    }
    else if("marks > 70 && marks < 80"){
    printf("Grade is B \n");
    }
    else {
        printf("Grade is C \n");
    }
    printf("Thank you!");
    return 0;
}

Ce que j’ai essayé :

J’ai appris la fonction if et else if. J’ai essayé de compiler le code et il ne fonctionne pas comme il est censé le faire.

Solution 1

C++
if("marks >= 95"){
   ^           ^

Vous avez mis votre if expressions entre guillemets doubles, ce qui signifie qu’elles ne seront jamais évaluées*. Supprimez simplement les guillemets pour que le compilateur puisse créer le test d’expression approprié.

*En réalité, car les cordes ne sont pas NULL ils évaluent toujours comme TRUE.

Solution 2

if et else if ne sont pas des fonctions. Ce sont des constructions de langage.

Vous avez dit que vous aviez appris if, mais pas assez. NE mettez PAS vos expressions conditionnelles entre guillemets.

C++
if("marks >= 95"){

devient

C++
if(marks >= 95)
{

Puisque vous êtes débutant, je vous suggère FORTEMENT de placer l’accolade ouvrante sur sa propre ligne afin que vous puissiez plus facilement savoir quelles accolades s’alignent les unes avec les autres.

C++
if (marks >= 95)
{
    printf("Grade is A+ \n");
}

Solution 3

Pour compléter ce qui a été dit, vous disposez presque certainement d’un outil qui pourrait vous aider : cela s’appelle un débogueur. La façon dont vous l’utilisez dépend de votre système de compilateur, mais un rapide recherche sur Google du nom de votre IDE et de votre “débogueur” devrait vous donner les informations dont vous avez besoin. Ce qu’il fait, c’est vous permettre d’exécuter votre code ligne par ligne et d’examiner les variables pour voir ce qu’elles contiennent, et de suivre où va le code pendant son exécution.

Placez un point d’arrêt sur la première ligne de la fonction et exécutez votre code via le débogueur. Ensuite, examinez votre code et vos données et déterminez ce qui doit se produire manuellement. Ensuite, passez chaque ligne en vérifiant que ce à quoi vous vous attendiez est exactement ce qui s’est produit. Lorsque ce n’est pas le cas, c’est à ce moment-là que vous avez un problème et vous pouvez revenir en arrière (ou l’exécuter à nouveau et regarder de plus près) pour découvrir pourquoi.

Désolé, mais nous ne pouvons pas faire cela à votre place. Il est temps pour vous d’apprendre une nouvelle (et très, très utile) compétence : le débogage !

コメント

タイトルとURLをコピーしました