Erreur deprogrammation

Résolu/Fermé
quentin58000 Messages postés 3 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009 - 29 déc. 2009 à 14:09
quentin58000 Messages postés 3 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009 - 29 déc. 2009 à 15:24
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 ( );
}
}

6 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
29 déc. 2009 à 14:31
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
quentin58000 Messages postés 3 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009
29 déc. 2009 à 14:42
J'obtient toujours "Je n'ai aucune phrase de prete pour ton age" pour nimporte quel age
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 déc. 2009 à 14:49
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
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
29 déc. 2009 à 15:03
Oups, je n'avais pas vu:
int age = 0;
scanf ("%f", &age);

'age' est un entier, donc: scanf ("%d", &age);
Bonne continuation.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 déc. 2009 à 15:04
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
quentin58000 Messages postés 3 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009
29 déc. 2009 à 15:24
Merci de vos réponses apparament oui ca marche
0