De Visual Basic à C
Leçons de programmation Visual Basic
Tu n'as encore jamais abordé le C/C++ et tu as déjà programmé en Basic, alors tu es sur la bonne page. Nous allons directement aborder le C++ en créant deux programmes simples : un "Hello World" et un calculateur de nombres premiers. Commençons par Lancer Visual C++ 6.0.
Dans le type de projet qu'il propose, choisissez "Win32 Console Application". Pour le moment nous ne programmerons pas d'interface graphique. Dans la artie droite de la fenêtre donnez un nom simple au projet (MonProjet)
Cliquez alors sur OK.
Choisissez ensuite de créer un projet vide (Empty Project) puis cliquez sur Finish, puis sur OK. Nous ne prenons pas l'application "Hello World" parce qu'il ne resterait alors plus rien à faire...
Le projet a été créé. Il faut maintenant ajouter des fichiers au projet. Cliquez sur le bouton "New Text File" illustré ci-contre pour ajouter un fichier texte au projet. On le sauvegardera alors en faisant "File/Save As". Choisissez de le mettre dans le répertoire de votre projet sous le nom main.cpp.
l'extension .cpp signifie que ce module contiendra du code C++. De même l'extension .c signifierai l'utilisation de code C simple.
Il faut alors spécifier que le nouveau fichier que l'on vient de créer fait partie de notre projet. Pour cela, il faut cliquer avec le bouton droit sur le milieu de la fenêtre ouverte pour ce fichier et faire "Insert File into Project/MonProjet". Ca y est, nous allons pouvoir coder.
Notre application "Hello World" va afficher le message "Hello World" à l'utilisateur. La procédure principale exécutée lors du lancement du programme est main. On la déclare de la façon suivante :
void main()
{
}Nous allons afficher un message à l'écran. Pour cela, nous aurons besoin d'une instruction (printf) nécessitant l'utilisation de stdio.h en écrivant en en tête de fichier : #include <stdio.h>. On utilise l'instruction printf de la façon suivante :
#include <stdio.h>
void main()
{
printf("Hello World !\n");
}Remarquez la présence de \n dans la chaîne de caractères, ceci permet de terminer la ligne. En outre, en C/C++, on termine chaque instruction d'un point-virgule. Tout y est, il ne reste plus qu'à compiler.
Compilation :
Commencez par compiler le fichier main.cpp en faisant "Build/main.cpp" (Ctrl+F7)
Puis créez l'exécutable MonProjet.exe en faisant "Build/MonProjet.exe" (F7)
Enfin, exécutez le programme en faisant "Build/Execute MonProjet.exe" (Ctrl+F5)
Le résultat que vous devez avoir est montré à gauche.
Ca n'est pas très interactif...
Modifions notre application : nous allons programmer un calculateur de nombres premiers. Pour cela, nous aurons besoin de routines d'entrée/sortie utilisateur disponibles avec iostream.h. On utilisera :
· la sortie standard cout l'affichage des informations
· l'entrée standard cin pour récupérer les saisiesLa commande cout fonctionne de la façon suivante :
cout << "Entrez un entier maximal :" << endl;
La commande cin fonctionne ainsi :
cin >> a;
On a donc pour poser une question à l'utilisateur :
cout << "Entrez un entier maximal :" << endl;
cin >> a;Structure d'une boucle for : le minimum est un nombre, par exemple i=0. La condition est un test qui devra être vrai pour que la boucle s'exécute, par exemple i<27. L'incrément est un code qui augmente la valeur de la variable de boucle, par exemple i++ ou i+=2.
for (int i=min; condition; incrément)
{ }
opérateurs binaires
Basic Description C++ AND Et & OR Ou inclusif | XOR Ou exclusif ^ NOT Négation ! opérateurs relationnels
Basic Description C++ = Egal == <> Différent != > Strictement supérieur > < Strictement inférieur < >= Supérieur >= <= Inférieur <= opérateurs logiques
Basic Description C++ AND Et && OR Ou inclusif || NOT Négation ! Structure d'un if : le test s'effectue à l'aide des opérateurs des tableaux ci-dessus
if ( test )
{ }Voici donc le code correspondant : notez que les commentaires sont mis après // :
#include <iostream.h>
void main()
{
int a;
bool p;cout << "Entrez un entier maximal :" << endl;
cin >> a;for (int i=3; i<=a; i++)
{
p=true;
for (int j=3; j<i; j+=2)
{
if (i % j == 0)
{
p=false; //le nombre est divisible
break; //permet de sortir de la boucle
}
}
if ( p == true) //le nombre est premier
cout << i << endl;
}
}Testez le programme.