mvc open pdf in new tab : Extract pictures pdf Library software class asp.net winforms windows ajax c8-part906

303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 81 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
de l'image des legos que je vous ai donnée tout à l'heure). 
Chaque "petit bout de programme" sera ce qu'on appelle une fonction. 
Quel est le but d'une fonction ?
Une fonction exécute des actions et renvoie un résultat. C'est un morceau de code qui sert à faire quelque chose de précis. 
On dit qu'une fonction possède 
une entrée et une sortie. Schématiquement, ça donne quelque chose comme ça : 
Lorsqu'on appelle une fonction, il y a 3 étapes : 
1.  L'entrée: on fait "rentrer" des informations dans la fonction (en lui donnant des informations avec lesquelles travailler)
2.  Les calculs : grâce aux informations qu'elle a reçues en entrée, la fonction travaille.
3.  La sortie : une fois qu'elle a fini ses calculs, la fonction renvoie un résultat. C'est ce qu'on appelle la sortie, ou encore le retour.
Concrètement, on peut imaginer par exemple une fonction appelée "triple" qui calcule le triple du nombre qu'on lui donne (en le
multipliant par 3) : 
Bien entendu, les fonctions seront en général plus compliquées 
Le but des fonctions est donc de simplifier le code source, pour ne pas avoir à retaper le même code plusieurs fois d'affilée. 
Rêvez un peu : plus tard, nous créerons par exemple une fonction "afficherFenetre" qui ouvrira une fenêtre à l'écran. Une fois la
fonction écrite (c'est l'étape la plus difficile), on n'aura plus qu'à dire "Hep toi la fonction afficherFenetre, ouvre-moi une fenêtre !" 
On pourra aussi écrire une fonction "deplacerPersonnage" dont le but sera de déplacer le personnage d'un jeu à l'écran etc etc 
Schéma d'une fonction
Vous avez déjà eu un aperçu de comment est faite une fonction avec la fonction main. 
Cependant pour bien que vous compreniez il va falloir que je vous montre quand même comment on construit une fonction. 
Voici le schéma d'une fonction, à retenir par coeur : 
Code : C
type nomFonction(parametres)
{
// Insérez vos instructions ici
}
Vous reconnaissez là un peu la forme de la fonction main. 
Voici ce qu'il faut savoir sur ce schéma : 
type (correspond à la sortie) : c'est le type de la fonction. Comme les variables, les fonctions ont un type. Ce type dépend du
résultat que la fonction renvoie : si la fonction renvoie un nombre décimal, vous mettrez sûrement double, si elle renvoie un
entier vous mettrez int ou long par exemple. Mais il est aussi possible de créer des fonctions qui ne renvoient rien ! 
Il y a donc 2 sortes de fonctions : 
Les fonctions qui renvoient une valeur : on leur met un des types que l'on connaît (char, int, double...)
Extract pictures pdf - Select, copy, paste PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract image from pdf; extract photos pdf
Extract pictures pdf - VB.NET PDF Image Extract Library: Select, copy, paste PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract vector image from pdf; extract pdf images
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 82 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
Les fonctions qui ne renvoient pas de valeur : on leur met un type spécial "void" (qui signifie "vide").
nomFonction : c'est le nom de votre fonction. Vous pouvez appeler votre fonction comme vous voulez, du temps que vous
respectez les mêmes règles que pour les variables (pas d'accents, pas d'espaces etc).
parametres (correspond à l'entrée) : entre parenthèses, vous pouvez envoyer des paramètres à la fonction. Ce sont des valeurs
avec lesquelles la fonction va travailler. 
Par exemple, pour une fonction "triple", vous envoyez un nombre en paramètre. La fonction "récupère" ce nombre et en calcule le
triple, en le multipliant par 3. Elle renvoie ensuite le résultat de ses calculs. 
Vous pouvez envoyer autant de paramètres que vous le voulez. 
Vous pouvez aussi n'envoyer aucun paramètre à la fonction, mais ça se fait plus rarement.
Ensuite vous avez les accolades qui indiquent le début et la fin de la fonction. A l'intérieur de ces accolades vous mettrez les
instructions que vous voulez. Pour la fonction triple, il faudra taper des instructions qui multiplient par 3 le nombre reçu en
entrée.
Une fonction, c'est donc un mécanisme qui reçoit des valeurs en entrée (les paramètres) et qui renvoie un résultat en sortie. 
Créer une fonction
Voyons voir un exemple pratique sans plus tarder : la fameuse fonction "triple" dont je vous parle depuis tout à l'heure. On va dire que
cette fonction reçoit un nombre entier de type long et qu'elle renvoie un nombre entier aussi de type long. Cette fonction calcule le
triple du nombre qu'on lui donne : 
Code : C
long triple(long nombre)
{
long resultat = 0;
resultat = 3 * nombre;  // On multiplie le nombre qu'on nous a transmis par 3
return resultat;       // On retourne la variable resultat qui vaut le triple de nombre
}
Voilà notre première fonction 
Une première chose importante : comme vous le voyez, la fonction est de type long. Elle doit donc renvoyer une valeur de type long. 
Entre les parenthèses, vous avez les variables que la fonction reçoit. Ici, notre fonction triple reçoit une variable de type long appelée
"nombre". 
La ligne qui indique de "renvoyer une valeur" est celle qui contient le "return". Cette ligne se trouve généralement à la fin de la
fonction, après les calculs. 
return resultat; dit à la fonction : arrête-toi là et renvoie le nombre "resultat". Cette variable "resultat" DOIT être de type long, car la
fonction renvoie un long comme on l'a dit plus haut 
La variable resultat est déclarée (= créée) dans la fonction "triple". Cela signifie qu'elle n'est utilisable que dans cette fonction, et pas
dans une autre comme la fonction "main" par exemple. C'est donc une variable propre à la fonction "triple". 
Mais est-ce la façon la plus courte de faire notre fonction triple ? 
Non, on peut faire ça en une ligne en fait 
Code : C
long triple(long nombre)
{
return 3 * nombre;
}
Cette fonction fait exactement la même chose que la fonction de tout à l'heure, elle est juste plus rapide à écrire 
Généralement, vos fonctions contiendront plusieurs variables pour effectuer leurs calculs et leurs opérations, rares seront les fonctions
aussi courtes que "triple" 
Plusieurs paramètres, aucun paramètre
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
application. In addition, texts, pictures and font formatting of source PDF file are accurately retained in converted Word document file.
extract photos from pdf; extract images from pdf online
VB.NET Image: VB.NET Codes to Load Images from File / Stream in .
When evaluating this VB.NET imaging library with pictures of your own We are dedicated to provide powerful & profession imaging controls, PDF document, image to
extract photo from pdf; extract image from pdf file
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 83 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
Plusieurs paramètres 
Notre fonction "triple" contient un paramètre, mais il est possible de créer des fonctions prenant plusieurs paramètres. 
Par exemple, une fonction addition qui additionne deux nombres a et b : 
Code : C
long addition(long a, long b)
{
return a + b;
}
Il suffit de séparer les différents paramètres par une virgule comme vous le voyez 
Aucun paramètre 
Certaines fonctions, plus rares, ne prennent aucun paramètre en entrée. Ces fonctions feront généralement toujours la même chose. En
effet, si elles n'ont pas de nombres sur lesquels travailler, vos fonctions serviront juste à effectuer certaines actions, comme afficher du
texte à l'écran (et encore, ce sera toujours le même texte !) 
Imaginons une fonction "bonjour" qui affiche juste bonjour à l'écran : 
Code : C
void bonjour()
{
printf("Bonjour");
}
Je n'ai rien mis entre parenthèses car la fonction ne prend aucun paramètre. 
De plus, j'ai mis le type "void" dont je vous ai parlé plus haut. 
En effet, comme vous le voyez ma fonction n'a pas non plus de "return". Elle ne retourne rien. 
Une fonction qui ne retourne rien est de
type void. 
Appeler une fonction
On va maintenant tester un code source pour pratiquer un peu avec ce qu'on vient d'apprendre. 
Nous allons utiliser notre fonction "triple" (décidemment je l'aime bien) pour calculer le triple d'un nombre. 
Pour le moment, je vous demande d'écrire la fonction "triple" AVANT la fonction main. Si vous la mettez après, ça ne marchera pas. Je
vous expliquerai pourquoi par la suite 
Code : C
#include <stdio.h>
#include <stdlib.h>
long triple(long nombre)
{
return 3 * nombre;
}    
int main(int argc, char *argv[])
{
long nombreEntre = 0, nombreTriple = 0;
printf("Entrez un nombre... ");
scanf("%ld", &nombreEntre);
nombreTriple = triple(nombreEntre);
printf("Le triple de ce nombre est %ld\n", nombreTriple);
system("PAUSE");    
return 0;
}
Notre programme commence par la fonction main comme vous le savez. 
On demande à l'utilisateur de rentrer un nombre. On envoie ce nombre qu'il a rentré à la fonction triple, et on récupère le résultat dans
C#: Use OCR SDK Library to Get Image and Document Text
a digital camera, scanned document or image-only PDF using C# color image recognition for scanned documents and pictures in C#. Steps to Extract Text from Image.
how to extract images from pdf files; extract jpeg from pdf
VB.NET Image: Sharpen Images with DocImage SDK for .NET
VB.NET Coding. When you have made certain corrections in your VB.NET project photo or image files, you might want to sharpen your pictures before saving them
some pdf image extractor; extract text from pdf image
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 84 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
la variable nombreTriple. Regardez en particulier cette ligne, c'est la plus intéressante car c'est l'appel de la fonction : 
Code : C
nombreTriple = triple(nombreEntre);
Entre parenthèses, on envoie une variable en entrée à la fonction triple, c'est le nombre sur lequel elle va travailler. 
Cette fonction renvoie une valeur, valeur qu'on récupère dans la variable nombreTriple. On demande donc à l'ordinateur dans cette ligne
: "Demande à la fonction triple de me calculer le triple de nombreEntre, et stocke le résultat dans la variable nombreTriple". 
Les mêmes explications sous forme de schéma 
Vous avez encore du mal à comprendre comment ça fonctionne concrètement ? 
Pas de panique ! Je suis sûr que vous allez comprendre avec mes schémas 
Ce premier schéma vous explique 
dans quel ordre le code est lu. Commencez donc par lire la ligne numérotée "1", puis "2", puis "3" (bon
vous avez compris je crois 
Si vous avez compris dans quel ordre l'ordinateur lisait les instructions, vous avez déjà compris le principal 
Maintenant, il faut bien comprendre qu'une fonction reçoit des paramètres en entrée et renvoie une valeur en sortie. 
VB.NET Image: VB.NET Code to Create Watermark on Images in .NET
image one onto it, and whether to burn it to the pictures to make We are dedicated to provide powerful & profession imaging controls, PDF document, tiff files
extract image from pdf online; extract image from pdf c#
VB.NET Image: Codings for Image Filter Processing with .NET Image
RasterEdge .NET Image SDK provides many different and interesting filters for your pictures / photos with simple and a few Visual Basic .NET programming codings
how to extract pictures from pdf files; extract pdf pages to jpg
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 85 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
Note : ce n'est pas tout le temps le cas comme ça pour toutes les fonctions. Parfois, une fonction ne prend aucun paramètre en entrée,
ou au contraire elle en prend plusieurs (je vous ai expliqué ça un peu plus haut). 
De même, parfois une fonction renvoie une valeur, parfois elle ne renvoie rien (dans ce cas il n'y a pas de return). 
Testons ce programme 
Voici un exemple d'utilisation du programme (y'a rien de bien extraordinaire car c'est une fonction toute bête hein 
) : 
Code : Console
Entrez un nombre... 10 
Le triple de ce nombre est 30
Vous n'êtes pas obligés de stocker le résultat d'une fonction dans une variable ! Vous pouvez directement envoyer le
résultat de la fonction triple à une autre fonction, comme si triple(nombreEntre) était une variable.
Regardez bien ceci, c'est le même code mais y'a un changement au niveau du dernier printf, et on n'a pas déclaré de variable
nombreTriple car on ne s'en sert plus : 
Code : C
#include <stdio.h>
#include <stdlib.h>
long triple(long nombre)
{
return 3 * nombre;
}    
int main(int argc, char *argv[])
{
long nombreEntre = 0;
printf("Entrez un nombre... ");
scanf("%ld", &nombreEntre);
// Le résultat de la fonction est directement envoyé au printf et n'est pas stocké dans
une variable
printf("Le triple de ce nombre est %ld\n", triple(nombreEntre)); 
system("PAUSE");    
return 0;
}
Comme vous le voyez, triple(nombreEntre) est directement envoyé au printf. 
Que fait l'ordinateur quand il tombe sur cette ligne ? 
C'est très simple. Il voit que la ligne commence par printf, il va donc appeler la fonction printf. 
Il envoie à la fonction printf tous les paramètres qu'on lui donne. Le premier paramètre est le texte à afficher, et le second est un
nombre. 
Votre ordinateur voit que pour envoyer ce nombre à la fonction printf il doit d'abord appeler la fonction triple. C'est ce qu'il fait : il
appelle triple, il effectue les calculs de triple, et une fois qu'il a le résultat il l'envoie directement dans la fonction printf ! 
C'est un peu une imbrication de fonctions 
Et le top, c'est qu'une fonction peut en appeler une autre à son tour ! 
Notre fonction triple pourrait appeler une autre fonction, qui elle-même appellerait une autre fonction etc... C'est ça le principe de la
programmation en C ! Tout est combiné, comme dans un jeu de Legos 
Au final, le plus dur sera d'écrire vos fonctions. Une fois que vous les aurez écrites, vous n'aurez plus qu'à appeler les fonctions sans vous
soucier des calculs qu'elles peuvent bien faire à l'intérieur. Ca va permettre de simplifier considérablement l'écriture de nos
programmes, et ça croyez-moi on en aura bien besoin ! 
C# Imaging - Scan RM4SCC Barcode in C#.NET
& decode RM4SCC barcode from scanned documents and pictures in your Decode RM4SCC from documents (PDF, Word, Excel and PPT) and extract barcode value as
online pdf image extractor; extract jpg from pdf
VB Imaging - VB Code 93 Generator Tutorial
Visual VB examples here for developers to create and write Code 93 linear barcode pictures on PDF documents, multi-page TIFF, Microsoft Office Word, Excel and
how to extract a picture from a pdf; pdf image extractor c#
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 86 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
Plein d'exemples pour bien comprendre
Vous avez dû vous en rendre compte : je suis un maniaque des exemples. 
La théorie c'est bien, mais si on ne fait que ça on risque de ne pas retenir grand chose, et surtout ne pas comprendre 
comment s'en
servir, ce qui serait un peu dommage 
Je vais donc maintenant vous montrer plusieurs exemples d'utilisation de fonctions, pour que vous ayez une idée de leur intérêt. Je vais
m'efforcer de faire des cas différents à chaque fois, pour que vous puissiez avoir des exemples de tous les types de fonctions qui peuvent
exister. 
Je ne vous apprendrai pas grand chose de nouveau, mais ça sera l'occasion de voir des exemples pratiques. Si vous avez déjà compris
tout ce que j'ai expliqué avant, c'est très bien et normalement aucun des exemples qui vont suivre ne devrait vous surprendre 
Conversion euros / francs
On commence par une fonction très similaire à "triple", qui a quand même un minimum d'intérêt cette fois : une fonction qui convertit
les euros en francs. 
Pour ceux d'entre vous qui ne connaîtraient pas ces monnaies (il n'y a pas que des français sur le Site du Zér0 hein 
) sachez que : 
1 euro = 6.55957 francs 
On va créer une fonction appelée conversion. 
Cette fonction prend une variable en entrée de type double et retourne une sortie de type double (on va forcément manipuler des
chiffres décimaux !). 
Code : C
double conversion(double euros)
{
double francs = 0;
francs = 6.55957 * euros;
return francs;
}    
int main(int argc, char *argv[])
{    
printf("10 euros = %lfF\n", conversion(10));
printf("50 euros = %lfF\n", conversion(50));
printf("100 euros = %lfF\n", conversion(100));
printf("200 euros = %lfF\n", conversion(200));
system("PAUSE");    
return 0;
}
Code : Console
10 euros = 65.595700F 
50 euros = 327.978500F 
100 euros = 655.957000F 
200 euros = 1311.914000F
Il n'y a pas grand chose de différent par rapport à la fonction triple je vous avais prévenu 
D'ailleurs, ma fonction conversion est un peu longue et pourrait être raccourcie en une ligne, je vous laisse le faire je vous ai déjà
expliqué comment faire plus haut. 
Dans la fonction main, j'ai fait exprès de faire plusieurs printf pour vous montrer l'intérêt d'avoir une fonction. Pour obtenir la valeur de
50 euros, je n'ai qu'à écrire conversion(50). Et si je veux avoir la conversion en francs de 100 euros, j'ai juste besoin de changer le
paramètre que j'envoie à la fonction (100 au lieu de 50). 
A vous de jouer ! Ecrivez une seconde fonction (toujours avant la fonction main) qui fera elle la conversion inverse : Francs => Euros.
Pas bien difficile hein, y'a juste un signe d'opération à changer 
La punition
C# Imaging - C# Code 93 Generator Tutorial
Visual C# examples here for developers to create and write Code 93 linear barcode pictures on PDF documents, multi-page TIFF, Microsoft Office Word, Excel and
how to extract text from pdf image file; extract image from pdf using
VB.NET TIFF: How to Draw Picture & Write Text on TIFF Document in
Many users concern about the issue of how to draw pictures or write text We are dedicated to provide powerful & profession imaging controls, PDF document, tiff
extract images from pdf files without using copy and paste; extract images from pdf acrobat
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 87 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
On va maintenant s'intéresser à une fonction qui ne renvoie rien (pas de sortie). 
C'est une fonction qui affiche le même message à l'écran autant de fois qu'on lui demande. Cette fonction prend un paramètre en entrée
: le nombre de fois où il faut afficher la punition. 
Code : C
void punition(long nombreDeLignes)
{
long i;
for (i = 0 ; i < nombreDeLignes ; i++)
{
printf("Je ne dois pas recopier mon voisin\n");
}    
}    
int main(int argc, char *argv[])
{    
punition(10);
system("PAUSE");    
return 0;
}
Code : Console
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin 
Je ne dois pas recopier mon voisin
On a ici affaire à une fonction qui ne renvoie aucune valeur. Cette fonction se contente juste d'effectuer des actions (ici, elle affiche
des messages à l'écran). 
Une fonction qui ne renvoie aucune valeur est de type "void", c'est pour cela qu'on a écrit void. 
A part ça, rien de bien différent 
Il aurait été bien plus intéressant de créer une fonction "punition" qui s'adapte à n'importe quelle punition. On lui aurait envoyé 2
paramètres : le texte à répéter, et le nombre de fois qu'il doit être répété. Le problème, c'est qu'on ne sait pas encore gérer le texte en
C (au cas où vous auriez pas les yeux très ouverts, je vous rappelle qu'on fait que manipuler des variables contenant des nombres depuis
le début 
D'ailleurs à ce sujet, je vous annonce que nous ne tarderons pas à apprendre à utiliser des variables qui retiennent du texte. C'est que
c'est plus compliqué qu'il n'y paraît, et on ne pouvait pas l'apprendre dès le début du cours 
Aire d'un rectangle
L'aire d'un rectangle est facile à calculer : largeur * hauteur. 
Notre fonction aireRectangle va prendre 2 paramètres, la largeur et la hauteur. Elle renverra l'aire : 
Code : C
double aireRectangle(double largeur, double hauteur)
{
return largeur * hauteur;
}    
int main(int argc, char *argv[])
{    
printf("Rectangle de largeur 5 et hauteur 10. Aire = %lf\n", aireRectangle(5, 10));
printf("Rectangle de largeur 2.5 et hauteur 3.5. Aire = %lf\n", aireRectangle(2.5,
3.5));
printf("Rectangle de largeur 4.2 et hauteur 9.7. Aire = %lf\n", aireRectangle(4.2,
9.7));
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 88 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
system("PAUSE");    
return 0;
}
Code : Console
Rectangle de largeur 5 et hauteur 10. Aire = 50.000000 
Rectangle de largeur 2.5 et hauteur 3.5. Aire = 8.750000 
Rectangle de largeur 4.2 et hauteur 9.7. Aire = 40.740000
Pourrait-on afficher directement la largeur, la hauteur et l'aire dans la fonction ?
Bien sûr ! 
Dans ce cas, la fonction ne renverrait plus rien, elle se contenterait de calculer l'aire et de l'afficher immédiatement. 
Code : C
void aireRectangle(double largeur, double hauteur)
{
double aire = 0;
aire = largeur * hauteur;
printf("Rectangle de largeur %lf et hauteur %lf. Aire = %lf\n", largeur, hauteur, aire);
}    
int main(int argc, char *argv[])
{    
aireRectangle(510);
aireRectangle(2.53.5);
aireRectangle(4.29.7);
system("PAUSE");    
return 0;
}
Comme vous le voyez, le printf est à l'intérieur de la fonction aireRectangle et fait le même affichage que tout à l'heure. C'est juste une
façon différente de procéder 
Un menu
Ce code est plus intéressant et concret. On crée une fonction menu() qui ne prend aucun paramètre en entrée. Cette fonction se
contente d'afficher le menu, et demande à l'utilisateur de faire un choix. 
La fonction renvoie le choix de l'utilisateur. 
Code : C
long menu()
{
long choix = 0;
while (choix < 1 || choix > 4)
{
printf("Menu :\n");
printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
printf("Votre choix ? ");
scanf("%ld", &choix);
}    
return choix;
}    
int main(int argc, char *argv[])
{    
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 89 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
switch (menu())
{
case 1:
printf("Vous avez pris le poulet\n");
break;
case 2:
printf("Vous avez pris les concombres\n");
break;
case 3:
printf("Vous avez pris l'escalope\n");
break;
case 4:
printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites
donc !\n");
break;    
}
system("PAUSE");    
return 0;
}
J'en ai profité pour améliorer le menu (par rapport à ce qu'on faisait habituellement) : la fonction menu réaffiche le menu tant que
l'utilisateur n'a pas rentré un nombre compris entre 1 et 4. Comme ça, aucun risque que la fonction renvoie un nombre qui ne figure pas
au menu ! 
Dans le main, vous avez vu qu'on fait un switch(menu()). Une fois que la fonction menu() est terminée, elle renvoie le choix de
l'utilisateur 
directement dans le switch. C'est pratique et rapide comme méthode 
A vous de jouer ! Le code est encore améliorable : on pourrait afficher un message d'erreur si l'utilisateur rentre un mauvais nombre
plutôt que de bêtement réafficher le menu 
Les fonctions deviendront particulièrement intéressantes lorsque nous ferons un TP qui
en utilise. Nous profiterons alors de cette possibilité qu'on a de découper un programme en plusieurs fonctions. 
En attendant, vous devez vous entraîner à créer des programmes avec des fonctions. Même si leur intérêt reste limité, même si ça sert à
rien et c'est tout nul pour le moment, ça vous sera bénéfique par la suite et vous ne le regretterez pas 
Un petit exercice avant de finir
Vous vous souvenez du TP "Plus ou Moins" ? J'espère que vous avez pas déjà oublié 
Vous allez le modifier pour utiliser des fonctions. Voici la fonction main à utiliser : 
Code : C
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ( int argc, char** argv )
{
long nombreMystere = 0, nombreEntre = 0;
const long MAX = 100, MIN = 1;
// Génération du nombre aléatoire
nombreMystere = genereNombre(MIN, MAX);
/* La boucle du programme. Elle se répète tant que l'utilisateur
n'a pas trouvé le nombre mystère */
do
{
// On demande le nombre
printf("Quel est le nombre ? ");
scanf("%ld", &nombreEntre);
// On compare le nombre entré avec le nombre mystère
compareNombres(nombreEntre, nombreMystere);
} while (nombreEntre != nombreMystere);
system("PAUSE");
}
303/10/Monday 21h34
Apprenez à programmer en C / C++ ! - Le Site du Zéro
Page 90 sur 377
http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c-c.html
A vous de créer les 2 fonctions qu'elle utilise : genereNombre (qui génère un nombre aléatoire compris entre MIN et MAX) et
compareNombres qui compare le nombre entré au nombre mystère et affiche si c'est plus, si c'est moins, ou si c'est le bon résultat 
Accrochez-vous !
Ne vous pressez pas trop pour aller dans la partie II. Je vous y expliquerai (entre autres) un concept un peu difficile : les pointeurs.
Mieux vaut être à l'aise avec les fonctions avant d'y aller 
Cependant, comme c'est un passage obligé, il faudra bien que vous le lisiez à un moment ou à un autre 
Alors n'abandonnez pas, vous passerez vos plus durs moments avec le C dans la partie II, mais je vous 
promets que la récompense sera à
la hauteur ensuite ! En effet, nous apprendrons dans la partie III à créer des jeux, à ouvrir des fenêtres, gérer le clavier, la souris, le
joystick, le son etc etc 
Ah ça motive un peu plus d'un coup hein ? 
Ainsi s'achève la première partie de ce cours de C / C++ pour débutants 
Nous y avons appris les principes de base de la programmation en C, mais nous sommes encore très loin d'avoir tout vu ! 
Les choses sérieuses commenceront dans la partie II 
Partie 2 : [Langage C] Techniques avancées
Cette seconde partie introduit une notion très importante du langage C : les pointeurs. Nous verrons ce que c'est et tout ce qui en
découle, tout ce qu'on peut faire avec. 
Je ne vous le cache pas, et vous vous en doutiez sûrement, la partie II est à un cran de difficulté supérieur. 
Là encore, je fais mon maximum pour tout vous expliquer le plus simplement possible 
Lorsque vous serez arrivés à la fin de cette partie, vous serez capables de vous débrouiller dans la plupart des programmes écrits en C.
Dans la partie suivante nous verrons alors comment ouvrir une fenêtre, créer des jeux 2D, jouer du son etc. 
Accrochez votre ceinture quand même, parce que ça va secouer un tantinet 
La programmation modulaire
Ce premier chapitre de la partie II est la suite directe du chapitre sur les fonctions qu'on a vu dans la partie I. 
Vous savez désormais qu'un 
vrai programme en C est composé de plein de fonctions. Chaque fonction sert à faire un travail précis et
renvoie généralement un résultat. C'est en assemblant toutes ces fonctions entre elles que l'on parvient à créer n'importe quel
programme 
Seulement jusqu'ici nous n'avons travaillé que dans un seul fichier appelé main.c. Pour le moment c'était acceptable car nos programmes 
étaient tous petits, mais bientôt vos programmes vont être composés de dizaines, que dis-je de centaines de fonctions, et si vous les
mettez tous dans un même fichier celui-ci va finir par être super long ! 
C'est pour cela que l'on a inventé ce qu'on appelle la programmation modulaire. Le principe est tout bête : plutôt que de mettre tout le
code de votre programme dans un seul fichier (main.c), nous le "séparons" en plusieurs petits fichiers. 
ATTENTION ATTENTION
: à partir de la partie II, je ne mets plus l'instruction system("PAUSE"); à la fin du
main(). 
Rajoutez-la si vous en avez besoin, c'est-à-dire si votre programme s'ouvre et se ferme à la vitesse de l'éclair. Cela
devrait être votre cas si vous utilisez Dev-C++. 
A partir de ce niveau, je recommande de passer à l'IDE Code::Blocks plutôt que Dev-C++ (revoyez le chapitre 2 du cours au
besoin). Code::Blocks est plus à jour que Dev-C++ et est plus intelligent notamment car il ne nécessite pas de mettre
l'instruction system("PAUSE"); à la fin du main().
Les prototypes
Jusqu'ici, je vous ai demandé de placer votre fonction avant la fonction main. 
Documents you may be interested
Documents you may be interested