Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | Révision précédente | ||
|
code_language:c [2025/12/17 23:53] 216.73.216.214 ancienne révision (2025/10/31 20:20) restaurée |
code_language:c [2025/12/17 23:53] (Version actuelle) 216.73.216.214 ancienne révision (2025/10/31 20:29) restaurée |
||
|---|---|---|---|
| Ligne 149: | Ligne 149: | ||
| ++nombreJoueur; | ++nombreJoueur; | ||
| //À partir d'ici, il y a 5 joueurs </ | //À partir d'ici, il y a 5 joueurs </ | ||
| + | | decrément| --Variable; | ||
| + | --nombreJoueur; | ||
| + | //À partir d'ici, il y a 3 joueurs </ | ||
| + | * Les Racourcie d' | ||
| + | * nomVariable += valeur; | ||
| + | * nomVariable -= valeur; | ||
| + | * nomVariable *= valeur; | ||
| + | * nomVariable /= valeur; | ||
| + | * nomVariable %= valeur; | ||
| Ligne 208: | Ligne 217: | ||
| == Méthode == | == Méthode == | ||
| + | ^Nom de la fonction ^Symbole ^Fonction ^Mini-Exemple ^ | ||
| + | | Racine carree | sqrtx | <code c++> sqrt() </ | ||
| + | | Sinus | sin(x) | <code c++> sin() </ | ||
| + | | Cosinus | cos(x) | <code c++> cos() </ | ||
| + | | Tangente | tan(x) | <code c++> tan() </ | ||
| + | | Exponentielle | ex | <code c++> exp() </ | ||
| + | | Logarithme neperien | lnx | <code c++> log() </ | ||
| + | | Logarithme en base 10 | log10x | <code c++> log10() </ | ||
| + | | Valeur absolue | | <code c++> fabs() </ | ||
| + | | Arrondi vers le bas | floor() | <code c++> floor() </ | ||
| + | | Arrondi vers le haut | ceil() | <code c++> ceil() </ | ||
| + | | Puissance | pow(a,b) | <code c++> pow() </ | ||
| Ligne 221: | Ligne 242: | ||
| ===== Structure de contrôle ===== | ===== Structure de contrôle ===== | ||
| - | === Return | + | === if === |
| + | ==les operateurs logique == | ||
| + | ^Symbole ^ signification ^ | ||
| + | | == | Est égal à | | ||
| + | | > | Est superieur a | | ||
| + | | < | Est inferieur a | | ||
| + | | >= | Est superieur ou égale a | | ||
| + | | <= | Est inferieur ou égal a | | ||
| + | | != | Est different de| | ||
| - | === else === | + | Combinaisons: |
| + | ^Syntaxe^symbole^signification^ | ||
| + | | and | && | ET | | ||
| + | | or | double pipe | OU | | ||
| + | | not | ! | NON | | ||
| + | |||
| + | == exemple de boucle if else == | ||
| + | |||
| + | <code c++> #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | int nbAnimaux(0); | ||
| + | |||
| + | if (nbAnimaux > 0) | ||
| + | { | ||
| + | cout << "Super ! Les animaux de compagnie ca change la vie !" << endl; | ||
| + | } | ||
| + | | ||
| + | { | ||
| + | cout << "Vous n'avez pas d' | ||
| + | } | ||
| + | |||
| + | cout << "Fin du programme" | ||
| + | return 0; | ||
| + | } </ | ||
| + | |||
| + | == exemple de boucle if elseif == | ||
| + | |||
| + | <code c++> #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | int nbAnimaux(2); | ||
| + | |||
| + | if (nbAnimaux == 0) | ||
| + | { | ||
| + | cout << "Vous n'avez pas d' | ||
| + | } | ||
| + | else if (nbAnimaux == 1) | ||
| + | { | ||
| + | cout << " | ||
| + | } | ||
| + | else if (nbAnimaux == 2) | ||
| + | { | ||
| + | cout << "Ca doit en faire du monde a la maison !" << endl; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | cout << "Votre budget croquettes doit etre important" | ||
| + | } | ||
| + | |||
| + | cout << "Fin du programme" | ||
| + | return 0; | ||
| + | }</ | ||
| + | |||
| + | |||
| + | |||
| + | === switch | ||
| + | |||
| + | exemple de code avec switch | ||
| + | |||
| + | <code c++> #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | int nbAnimaux(2); | ||
| + | |||
| + | switch (nbAnimaux) | ||
| + | { | ||
| + | case 0: | ||
| + | cout << "Vous n'avez pas d' | ||
| + | break; | ||
| + | |||
| + | case 1: | ||
| + | cout << " | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | cout << "Ca doit en faire du monde a la maison !" << endl; | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | cout << "Votre budget croquettes doit etre important" | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | return 0; | ||
| + | } </ | ||
| + | * Attention switch ne fonctionne pas sur des double. | ||
| - | === case === | ||
| === break=== | === break=== | ||
| Ligne 232: | Ligne 355: | ||
| === for === | === for === | ||
| + | Exemple de boucle for: | ||
| + | <code c++> int main() | ||
| + | { | ||
| + | int compteur(0); | ||
| + | |||
| + | for (compteur = 0 ; compteur < 10 ; compteur++) | ||
| + | { | ||
| + | cout << compteur << endl; | ||
| + | } | ||
| + | |||
| + | return 0; | ||
| + | } </ | ||
| === do === | === do === | ||
| + | |||
| + | Exemple de boucle do ...while | ||
| + | <code c++> do | ||
| + | { | ||
| + | /* Instructions */ | ||
| + | } while (condition); | ||
| + | |||
| + | === return === | ||
| === while === | === while === | ||
| + | |||
| + | Exemple de boucle while: | ||
| + | <code c++> while (condition) | ||
| + | { | ||
| + | /* Instructions à répéter */ | ||
| + | } </ | ||
| Ligne 276: | Ligne 425: | ||
| - | ===== Fonctions | + | ===== Fonctions ===== |
| + | === Declaration === | ||
| + | * Fonction avec paramètre: | ||
| + | * <code c++> int addition(int a, int b) | ||
| + | { | ||
| + | return a+b; | ||
| + | } | ||
| + | |||
| + | double multiplication(double a, double b, double c) | ||
| + | { | ||
| + | return a*b*c; | ||
| + | } </ | ||
| + | * Fonction avec paramètre dont certain ont une valeur par défaut c'est a dire ne sont pas obligatoire: | ||
| + | * <code c++> #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | // Prototype avec les valeurs par défaut | ||
| + | int nombreDeSecondes(int heures, int minutes = 0, int secondes = 0); | ||
| + | |||
| + | // Main | ||
| + | int main() | ||
| + | { | ||
| + | cout << nombreDeSecondes(1, | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| + | |||
| + | // Définition de la fonction, SANS les valeurs par défaut | ||
| + | int nombreDeSecondes(int heures, int minutes, int secondes) | ||
| + | { | ||
| + | int total = 0; | ||
| + | |||
| + | total = heures * 60 * 60; | ||
| + | total += minutes * 60; | ||
| + | total += secondes; | ||
| + | |||
| + | return total; | ||
| + | } </ | ||
| + | * Ici on voit que l'on met les valeur par défaut uniquement dans la déclaration de la fonction dans le fichier .hpp. Attention si on fait appelle une fonction avec 3 paramètre, on ne peut pas renseigner le premier et le dernier ( INTERDIT), si on veut renseigné le dernier paramètre sans celui du milieu on est obligé de déclarer le paramètre du milieu avec notamment une valeur par défaut. | ||
| + | * Fonction sans paramètre: | ||
| + | * <code c++> string demanderNom() | ||
| + | { | ||
| + | cout << " | ||
| + | | ||
| + | cin >> nom; | ||
| + | | ||
| + | } </ | ||
| + | |||
| + | * Fonction qui ne renvoie rien: | ||
| + | * <code c++> void direBonjour() | ||
| + | { | ||
| + | cout << " | ||
| + | //Comme rien ne ressort, il n'y a pas de return ! | ||
| + | } | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | direBonjour(); | ||
| + | //Comme la fonction ne renvoie rien | ||
| + | //On l' | ||
| + | |||
| + | return 0; | ||
| + | } </ | ||
| + | |||
| + | === Fichier source et fichier d' | ||
| + | * Un fichier source dont l' | ||
| + | * Le fichier math.cpp doit contenir un include " | ||
| + | * <code c++> #include " | ||
| + | |||
| + | int ajouteDeux(int nombreRecu) | ||
| + | { | ||
| + | int valeur(nombreRecu + 2); | ||
| + | |||
| + | return valeur; | ||
| + | } </ | ||
| + | * Un fichier d' | ||
| + | * Le fichier doit contenir ses trois lignes pour empêcher d' | ||
| + | * <code c++># | ||
| + | #define MATH_HPP_INCLUDED | ||
| + | |||
| + | #endif // MATH_HPP_INCLUDED</ | ||
| + | * voici un exemple de déclaration de fonciton: | ||
| + | * <code c++># | ||
| + | #define MATH_HPP_INCLUDED | ||
| + | |||
| + | int ajouteDeux(int nombreRecu); | ||
| + | |||
| + | #endif // MATH_HPP_INCLUDED </ | ||
| + | * Si le paramètre de notre fonction est de type string il faut ajouté en include les string et faire précedé le type par son nom de domaine, ici std: | ||
| + | * <code c++># | ||
| + | #define MATH_HPP_INCLUDED | ||
| + | |||
| + | #include < | ||
| + | |||
| + | void afficherMessage(std:: | ||
| + | |||
| + | #endif // MATH_HPP_INCLUDED </ | ||
| + | * L' | ||
| + | * std apparaît dans tous nos fichiers source via la ligne using namespace std . Comme il n'y a pas de telle ligne ici (et qu'il est très vivement déconseillé de la mettre dans un fichier d' | ||
| + | * Inclure tout cela dans la fichier main.cpp | ||
| + | * <code c++> #include < | ||
| + | #include " | ||
| + | using namespace std; | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | int a(2), | ||
| + | cout << " | ||
| + | cout << " | ||
| + | b = ajouteDeux(a); | ||
| + | cout << " | ||
| + | cout << " | ||
| + | |||
| + | return 0; | ||
| + | } </ | ||
| + | * Dans le fichier .hpp il est recommander de mettre en commantaire ce que fait la fonction, la liste des arguments, les caracteristique de la valeur retournée. | ||
| ===== Programmation avancée ===== | ===== Programmation avancée ===== | ||
| + | === Argument de fonction passé par Valeur ==== | ||
| + | * Lorsqu' | ||
| + | * <code c++> #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int ajouteDeux(int a) | ||
| + | { | ||
| + | a+=2; | ||
| + | return a; | ||
| + | } | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | int nombre(4), resultat; | ||
| + | resultat = ajouteDeux(nombre); | ||
| + | | ||
| + | cout << "Le nombre original vaut : " << nombre << endl; | ||
| + | cout << "Le resultat vaut : " << resultat << endl; | ||
| + | return 0; | ||
| + | } </ | ||
| + | * Dans ce cas la la variable nombre est copiée ans une nouvelle case mémoire et sa valeur n'est pas changé. | ||
| + | |||
| + | === Argument de fonction passé par Reference ==== | ||
| + | * Lorsqu' | ||
| + | * <code c++> int ajouteDeux(int& | ||
| + | { | ||
| + | a+=2; | ||
| + | return a; | ||
| + | } </ | ||
| + | * Dans ce cas la , la variable nombre a une reference " | ||
| + | |||
| + | === Argument de fonction passé par Reference constante ==== | ||
| + | * Lorsqu' | ||
| + | * <code c++> void f1(string const& texte) //Pas de copie et pas de modification possible | ||
| + | { | ||
| + | }</ | ||
| + | * Dans ce cas la , la variable passé en paramètre n'est pas copié, on y fait reference mais la variable n'est pas modifiable. | ||
| === Paradigme de programmation classe/ | === Paradigme de programmation classe/ | ||
| Ligne 294: | Ligne 597: | ||
| === Methode de classe === | === Methode de classe === | ||
| + | |||