Testez votre code sur : OnlineGDB
Extraire des données utiles depuis une chaîne de caractères brute (trame) reçue par un équipement. Copiez-collez le code de départ ci-dessous. En utilisant les méthodes de la bibliothèque <string> (comme find(), substr()) et les conversions (comme std::stof()), complétez les zones // TODO.
#include <iostream>
#include <string>
int main() {
// Trame brute reçue par le système
std::string trame = "$ID:R2D2;TEMP:45.5;STAT:ERR*";
std::cout << "Analyse de la trame : " << trame << std::endl;
std::cout << "-----------------------------------" << std::endl;
// TODO 1 : Trouver la position de "TEMP:" et extraire la sous-chaîne de la température.
// TODO 2 : Convertir cette chaîne en nombre à virgule (float).
// Astuce : Cherchez comment utiliser std::stof()
// TODO 3 : Extraire le code statut (les 3 lettres après "STAT:").
// TODO 4 : Écrire une condition (if).
// Si la température dépasse 40.0 OU si le statut est "ERR", affichez "ALERTE CRITIQUE !".
// Sinon, affichez "Système nominal."
return 0;
}