Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies.


Politique de confidentialité
Introduction et syntaxe de base
Pointeurs et fonctions
Programmation OO
Structures de données
La bibliothèque standard (STL)

Fonctions utiles (Mathématiques et caractères) en C++

 

Fonctions utiles (Mathématiques et caractères) en C++

Comme nous l'avons dit précédemment, s'il existe une fonction prédéfinie dans la bibliothèque, nous n'avons pas à nous soucier de la définition de la fonction. Nous ajoutons uniquement le fichier d'en-tête correspondant dans lequel la fonction est définie. Cependant, nous devons appeler la fonction, ce qui signifie que nous devons connaître la déclaration de la fonction.

Fonctions mathématiques

Le C++ définit un ensemble de fonctions mathématiques qui peuvent être appelées dans notre programme. Ces fonctions sont prédéfinies et rassemblées sous l'en-tête <cmath>. Le préfixe "c" dans le nom de l'en-tête souligne le fait qu'il est hérité (avec quelques modifications) du langage C.

Nous avons besoin de l'en-tête <cmath> pour utiliser les fonctions mathématiques.

Fonctions numériques

Les fonctions numériques sont utilisées dans les calculs numériques. Les paramètres sont normalement une ou plusieurs valeurs numériques et le résultat est également une valeur numérique. Le tableau ci-dessous présente certaines des fonctions courantes de cette catégorie ainsi que les déclarations de fonctions.

Le type est un float, un double ou un long double. Dans le cas de la fonction pow, le deuxième argument peut également être un nombre entier. Toutes ces fonctions peuvent accepter différents types d'arguments et peuvent renvoyer une valeur d'un type différent. Cela signifie que ces fonctions sont surchargées.

FonctionDescription
type abs (type x);Retourne la valeur absolue de x
type ceil (type x);Renvoie la plus grande valeur entière inférieure ou égale à x
type floor (type x);Renvoie la plus petite valeur entière inférieure ou égale à x
type log (type x);Renvoie le logarithme naturel (base e) de x
type log10 (type x);Renvoie le logarithme commun (base 10) de x
type exp (type x);Retours \(e^x\)
type pow (type x, type y);Renvoie \(x^y\) ; notez que y peut aussi être de type int dans ce cas
type sqrt (type x);Renvoie la racine carrée de x : \(\sqrt{x}\)
Exemple 1
#include <iostream>
#include <cmath>
using namespace std;

int main ( )
{
    cout << "abs (8) = " << abs(8) << endl;
    cout << "abs (-8) = " << abs(-8) << endl;

    cout << "floor (12.78) = " << floor (12.78) << endl;
    cout << "ceil (12.78) = " << ceil (12.78) << endl;

    cout << "log (100) = " << log (100) << endl;
    cout << "log10 (100) = " << log10 (100) << endl;

    cout << "exp (5) = " << exp (5) << endl;
    cout << "pow (2, 3) = " << pow (2,3) << endl;

    cout << "sqrt (100) " << sqrt (100);

    return 0;
}
        
Résultat
abs (8) = 8
abs (-8) = 8
floor (12.78) = 12
ceil (12.78) = 13
log (100) = 4.60517
log10 (100) = 2
exp (5) = 148.413
pow (2, 3) = 8
sqrt (100) 10

Fonctions trigonométriques

Le tableau ci-dessous donne la liste des fonctions trigonométriques courantes. Notez que toutes ces fonctions sont également surchargées. Les entrées de type  représentent l'un des types à virgule flottante (float, double et long double).

FonctionType de paramètreValuer retournéeDescription
type cos (type x);radians[−1, +1]Renvoie le cosinus
type sin (type x);radians[−1, +1]Renvoie le sinus
type tan (type x);radiansToutRenvoie la tangente
type acos (type x);[−1, +1][0, \(\pi\)]Renvoie le cosinus inverse
type asin (type x);[−1, +1][0, \(\pi\)]Renvoie le sinus inverse
type atan (type x);Tout[\(-\frac{\pi}{2}\), \(+\frac{\pi}{2}\)]Renvoie la tangente inverse
Exemple 2
#include 
#include <cmath>
using namespace std;

int main ( )
{
    // Définition d'un PI constant et d'un angle de 45 degrés
    const double PI = 3.141592653589793238462;
    double degree = PI / 4;

    cout << "sin (45): " << sin (degree) << endl;
    cout << "cos (45): " << cos (degree) << endl;
    cout << "tan (45): " << tan (degree);

    return 0;
}
        
Résultat
sin (45): 0.707107
cos (45): 0.707107
tan (45): 1

Fonctions de caractères

Nous pouvons appliquer la plupart des opérations dont nous avons parlé pour les types fondamentaux aux types de caractères. On peut aussi utiliser des opérations d'entrée/sortie sur les caractères. De plus, il existe plusieurs fonctions de bibliothèque qui gèrent les caractères en C++. Toutes les fonctions de gestion des caractères se trouvent dans la bibliothèque <cctype>.

Nous avons besoin de l'en-tête <cctype> pour utiliser les fonctions de caractères.

Fonctions de classification des caractères

Tous les noms de fonction de classification commencent par le préfixe is, comme iscontrol, isupper, etc. Si le paramètre appartient à la catégorie définie par le nom de la fonction, la fonction renvoie 1 (qui peut être interprété comme vrai) ; sinon, la fonction renvoie 0 (ce qui peut être interprété comme faux). Le tableau ci-dessous présente la liste de ces fonctions. Notez que le paramètre dans chaque fonction est de type int, mais nous passons toujours un caractère comme paramètre (un caractère est un entier plus petit qu'un entier court).

FonctionDescription
int isalnum (int x);Le paramètre est-il un caractère alphanumérique ?
int isalpha (int x);Le paramètre est-il un caractère alphabétique ?
int iscntrl (int x);Le paramètre est-il un caractère de contrôle ?
int isdigit (int x);Le paramètre est-il un chiffre décimal (0 à 9) ?
int isgraph (int x);Le paramètre est-il un caractère imprimable autre qu'un espace ?
int islower (int x);Le paramètre est-il une lettre minuscule (a à z) ?
int isprint (int x);Le paramètre est-il un caractère imprimable (espace compris) ?
int ispunct (int x);Le paramètre est-il un caractère de ponctuation ?
int isspace (int x);Le paramètre est-il un caractère d'espacement (espace, retour ou tabulation) ?
int isupper (int x);Le paramètre est-il un caractère majuscule (A à Z) ?
int isxdigit (int x);Le paramètre est-il un caractère hexadécimal (0-9, a-f ou A-F) ?

Fonctions de conversion de caractères

Deux fonctions en C++ sont utilisées pour convertir un caractère d'une classe à une autre. Ces fonctions commencent par le préfixe to et renvoient un entier qui est la valeur du caractère converti. Le tableau ci-dessous présente ces deux fonctions.

FonctionDescription
int tolower (int x)Renvoie le caractère minuscule de son paramètre.
int toupper (int x)Renvoie le caractère majuscule de son paramètre.
Exemple 3
#include <iostream>
#include <cctype>
using namespace std;

int main ( )
{
    char ch;
    int cpt = 0;
    while (cin >> noskipws >> ch)
    {
        if (isalpha (ch)){cpt++;}
        ch = toupper (ch);
        cout << ch ;
    }
    
    cout << "Le nombre de caractères alphabétiques est : " << cpt;

    return 0;
}
        
Résultat
Hi mostafa123 how are you today ?
HI MOSTAFA123 HOW ARE YOU TODAY ?
^Z
Le nombre de caracteres alphabetiques est: 23

Partager ce cours avec tes amis :
Rédigé par ESSADDOUKI Mostafa
ESSADDOUKI
The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.