Bonjour,
Le programme que tu proposes ne compile pas :
- Il manque l'accolade fermante de main
- Il manque un if à la dernière condition
Ensuite, il y a un point-virgule en trop dans la ligne :
else if (Nombre1 < Nombre2);
En se tenant à ce que tu proposes un code fonctionnant peut être celui-ci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <cstdio>
int main()
{
int Nombre1, Nombre2; // On declare les variables Resultat, Nombre1 et Nombre2
printf("Entrez le nombre 1 : "); // Demande d'entrer le nombre 1
scanf("%d", &Nombre1);
printf("Entrez le nombre 2 : "); // Demande d'entrer le nombre 2
scanf("%d", &Nombre2);
if ( Nombre1 > Nombre2)
printf ("Le plus grand est : Nombre 1");
else if (Nombre1 < Nombre2)
printf ("Le plus grand est : Nombre 2");
else if(Nombre1 == Nombre2)
printf ("Les Nombre1 et Nombre2 sont égaux");
return 0;
} |
Si ton objectif est d'apprendre le C, alors je te proposes de déplacer le message vers la rubrique C pour avoir des conseils plus pertinents.
En revanche, si tu souhaites apprendre le C++, alors quelques remarques supplémentaires s'imposent pour que ton apprentissage parte sur de bonnes bases.
Les flux : La STL (Standard Template Library) propose des objets qui te mâche le travail pour les entrées/sorties : ce sont les flux. Par mâcher le travail, il faut comprendre qu'il se charge de faire les bonnes allocations, libérations, conversion, gestion des erreurs, etc. permettant d'écrire et de lire sur des fichiers ou sur la console sans avoir à tout (mal) réécrire. La STL fait partie intégrante du langage C++ et se retrouve sur tout les compilateurs conforme à la norme. Tu peux donc l'apprendre et l'utiliser sans soucis car tu sera amené à l'utiliser et tu la retrouveras dans les codes que tu sera amener à relire.
Cette entrée de la FAQ aborde le sujet. Le chapitre 2.3 de "Penser en C++" (le livre de bruce Eckel Thinking in C++ dont la rédaction propose une traduction) aborde ceux-ci.
Où trouver les flux : dans l'en-tête <iostream>. Donc ton programme doit l'inclure avant de l'utiliser :
La STL utilise l'espace de nom std ce qui signifie qu'il faut préfixer les objets définis par la STL par std:: :
std::une_fonction_de_la_stl();
Pour afficher des éléments sur la console de sortie, la STL propose l'objet std::cout de type std::ostream (o pour output et stream pour flux). std::ostream sait parfaitement gérer les sorties des types standards via les surchages adéquates de l'opérateur << :
1 2 3 4 5 6 7 8
|
char c('c');
std::cout<<c<<std::endl;
int i(4);
std::cout<<i<<std::endl;
double d(4.2);
std::cout<<d<<std::endl;
std::cout<<"coucou"<<std::endl; |
Pour revenir à la ligne, on utilise std::endl (un peu l'équivalent du \n des format du C).
Tes affichages :
printf("Entrez le nombre 1 : ");
deviennent donc :
std::cout<<"Entrez le nombre 1 : ";
Pour les entrées, la STL propose std::cin (remplaçant donc sscanf) avec l'opérateur >>. Comme pour std::cout, elle gère de base les types standards:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
char c(0);
std::cin>>c;
std::cout<<"Vous avez saisi : "<<c<<std::endl;
int i(0);
std::cin>>i;
std::cout<<"Vous avez saisi : "<<i<<std::endl;
double d(0.);
std::cin>>d;
std::cout<<"Vous avez saisi : "<<d<<std::endl;
std::string chaine; // type de la STL pour les chaines de caractères définis dans l'en-tête <string>
std::cin>>chaine;
std::cout<<"Vous avez saisi : "<<chaine<<std::endl; |
Tes lignes deviennent donc En C++, ton code devient donc :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
int Nombre1, Nombre2; // On declare les variables Resultat, Nombre1 et Nombre2
std::cout<<"Entrez le nombre 1 : "; // Demande d'entrer le nombre 1
std::cin>>Nombre1;
std::cout<<"Entrez le nombre 2 : "; // Demande d'entrer le nombre 2
std::cin>>Nombre2;
if ( Nombre1 > Nombre2)
std::cout<<"Le plus grand est : Nombre 1"<<std::endl;
else if (Nombre1 < Nombre2)
std::cout<<"Le plus grand est : Nombre 2"<<std::endl;
else if(Nombre1 == Nombre2)
std::cout<<"Les Nombre1 et Nombre2 sont égaux"<<std::endl;
return 0; |
Mais, la STL c'est aussi des conteneurs pour gérer les chaînes de caractères, tableaux, les listes, les map (association d'une clé et d'une valeur) ainsi que de nombreux algorithmes (tri, parcours d'un ensemble, recherche d'un min, d'un max, etc.). Je t'invite à consulter la FAQ ainsi que les différents tutoriels pour te familiariser avec.
Partager