Erreur deprogrammation

Résolu
quentin58000 Messages postés 3 Statut Membre -  
quentin58000 Messages postés 3 Statut Membre -
Bonjour, je suis débutant en programmation et je travaille sur microsoft visual studio en C++ , jai ecrit leprograme suivant malheuresement je n'obtient pas ce que je shouaite et j'aimerai les conseilles de quelqu'un pour me dire ou j'ai bien pu me tromper merci :)

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

int main(int argc, char *argv[])
{
int age = 0;

printf("Quel age avait vous?");

scanf ("%f", &age);

if (age == 2)
{
printf("Salut bebe !");
}
else if (age == 6)
{
printf("Salut gamin !");
}
else if (age == 12)
{
printf("Salut jeune !");
}
else if (age == 16)
{
printf("Salut ado !");
}
else if (age == 18)
{
printf("Salut adulte !");
}
else if (age == 68)
{
printf("Salut papy !");
}
else
{
printf("Je n'ai aucune phrase de prete pour ton age ");
getch ( );
}
}
Configuration: Windows XP
Firefox 3.5.6

6 réponses

  1. loupius Messages postés 789 Statut Membre 148
     
    Peut-être qu'en mettant des '<=' au lieu des '=='... enfin je dis ça mais... comme tu ne dis pas ce que tu veux obtenir, ce ne peut être qu'une supputation ;-)
    Bonne continuation.
    0
  2. quentin58000 Messages postés 3 Statut Membre
     
    J'obtient toujours "Je n'ai aucune phrase de prete pour ton age" pour nimporte quel age
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Si tu utilises du C++, utilises std::cout et std::cin plutôt que printf et scanf.
    De plus si c'est des == que tu veux, il vaut mieux utiliser un switch plutôt qu'une succession de if.

    ps. on dit "Quel age avez vous ?"
    0
  4. loupius Messages postés 789 Statut Membre 148
     
    Oups, je n'avais pas vu:
    int age = 0;
    scanf ("%f", &age);

    'age' est un entier, donc: scanf ("%d", &age);
    Bonne continuation.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. KX Messages postés 19031 Statut Modérateur 3 020
     
    Remarque : ton erreur venait certainement du %f, il aurait fallu utiliser %d

    Voici une version C++ :

    #include <iostream>
    
    int main(int argc, char *argv[])
    {
        int age;
    
        std::cout << "Quel age avez vous ?" << std::endl;
        std::cin >> age;
    
        switch (age)
        {
            case 2  : std::cout << "Salut bebe !"  << std::endl; break;
            case 6  : std::cout << "Salut gamin !" << std::endl; break;
            case 12 : std::cout << "Salut jeune !" << std::endl; break;
            case 16 : std::cout << "Salut ado !"   << std::endl; break;
            case 18 : std::cout << "Salut adulte !"<< std::endl; break;
            case 68 : std::cout << "Salut papy !"  << std::endl; break;
            default : std::cout << "Je n'ai aucune phrase de prete pour ton age" << std::endl;
        }
    
        system("PAUSE"); // je sais c'est moche ;-)
    }
    0
  7. quentin58000 Messages postés 3 Statut Membre
     
    Merci de vos réponses apparament oui ca marche
    0