Exercices sur zestedesavoir nombre pair ou impair

a marqué ce sujet comme résolu.

Bonjour à tous, comment allez-vous ?

Petit soucis avec mon code, je n’arrive pas à le faire fonctionner et je ne comprends pas vraiment pourquoi , est-ce que quelqu’un aurai l’amabilité de me montrer ou est mon erreur merci.

voici le code :


#include <iostream>

int main()
{
    int zero{0};
    int nb{0};

    std::cout <<"Veuillez entree un nombre :";
    while(!(std::cin >> nb))
    {
        std::cout<<"Vous avez entree un caractere veuillez recommencer : ";
        std::cin.clear();
        std::cin.ignore(255,'\n');

    }


    while(zero <= nb)
    {

        if(zero % 2 == 0)
        {
            
            continue;
        }
        
        std::cout <<"Zero : " << zero <<std::endl;
        zero++;
    }

    return 0;
}

Je vous remercie d'avance , passez un excellente weekend.
+0 -0

Hello,

Je modifie le titre de tes sujets pour quelque chose de plus précis mais merci de faire attention pour la prochaine fois à bien mettre un titre clair et précis.

Merci par ailleurs d’expliquer où tu coinces, ton raisonnement et les pistes de solution que tu envisages. Il ne suffit pas de demander la réponse, mais de chercher l’erreur et la solution ;)

+1 -0

Salut,

En dehors de ce problème de boucle infinie je ne comprends pas ce que tu cherches à faire avec ton programme. Quel est le comportement attendu quand tu entres un nombre pair ? Et un impair ?

Aussi, quelle est la signification de cette variable zero que tu incrémentes (et qui ne vaudrait donc plus 0 si la ligne 29 était atteinte) ?

J’ajoute que ce serait bien aussi de savoir quel est l’objectif du code : sans ça je ne sais pas ce que veut dire "je n’arrive pas à le faire fonctionner" puisqu’on n’a pas la définition d’un code qui fonctionne.
Grâce au retitrage d’Arius, je comprends que c’est l’un des exercices du cours proposé sur le site, mais tu pourrais nous épargner la recherche en faisant un rappel de l’énoncé ou carrément un lien vers celui-ci.

Puisque PierrotLeFou t’as indiqué précisément le problème, je me permets d’ajouter une remarque mineure :

int zero{0}; // initialisation
// [...]
while(zero <= nb) // condition de sortie
{
  // [...]
  zero++; // incrément
}

ressemble étrangement à une autre structure de boucle ! :p
C’est une remarque mineure car ton code a le même comportement et n’est plus faux, mais à la relecture c’est un peu mieux d’avoir une boucle for. On comprendra mieux tes intentions, et on le verra dès la première ligne, on attends pas de tomber sur l’incrément. En plus de ça, le scope de ta variable sera réduit à la partie où elle est utile.

PS: Grillé par entwanne mais tant pis moi aussi je fais la remarque :D

+0 -0

Bonjour, merci pour vos réponse, alors il s’agit d’un exercices donné en c++ sur le site de zeste, j’ai voulu faire l’exercice par moi même , mais j’ai vu après coup que le continue posais problème comme Pierre le fou le mentionne … étant donné que je ne voulais pas lire la suite du court avant d’avoir compris je n’avais pas vu que le continue posais soucis, cependant après avoir quand même regarde plus loin j’ai vu que c’était le soucis, je remercie tous ceux qui on répondu , par ailleurs je vais en sorte d’être plus clair dans mes énoncées et expliqué les choses pour que cela soit bien compris… et pour le titre je vais faire l’efforts d’être plus clair aussi.

Je vous remercie encore une fois, passé une bonne soirée/journée selon l’endroit ou vous, vous trouvez.

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte