« Exercices en langage C++/La STL » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
corrections
Ligne 1 : Ligne 1 :
==La STL==
== La STL ==
EXERCICE SUR LA CLASSE STRING


=== EXERCICE 1 : La classe string ===
Soit la chaine chaine1 = ":010920091123" contenant la date
sous la forme : 01 09 2009 11 23
( 1 septembre 2009 11 h 23 )
Créer une programme permettant d'extraire les différents champs et de les afficher


Soit une chaîne de caractères contenant une date (JJ/MM/AAAA) et une heure (HH:NN) sous la forme <tt>JJMMAAAAHHNN</tt>. Par exemple <tt>010920091123</tt> représente la date du 1er septembre 2009 à 11h23.


Créer un programme permettant d'extraire les différents champs et de les afficher.
************************
SOLUTION :
************************


{{Boîte déroulante|titre=Solution|contenu =
#include <iostream>
Cet exercice a pour but de vérifier les points techniques suivants :
#include <sstream>
*Manipulation.
#include <string>
*Un algorithme simple sur un tableau : recherche du nombre d'éléments vérifiant une propriété.


Voici le fichier source :
void main()
<source lang="cpp">
{
#include <iostream>
#include <iomanip>
#include <string>


using namespace std;
std::string chaine1;
std::string jour, heure, minute;

chaine1 = ":010920091123";


if ( !chaine1.empty() )
{
jour = chaine1.substr( 1, 2 );
heure = chaine1.substr( 9, 2 );
if ( chaine1.size() <= 14 )
minute = chaine1.substr( 11, 2 );
}

chaine1.clear();

if ( !chaine1.empty() )
{
jour = chaine1.substr( 1, 2 );
heure = chaine1.substr( 10, 2 );
minute = chaine1.substr( 12, 2 );
}

// Conversion de string en entier :
int min;

std::stringstream s;

s << minute ;
s >> min;


void afficherDateEtHeure(const string& s)
{
if ( s.length() != 12 )
cerr << "Chaine invalide." << endl;
else
{
cout << "Date : " << s.substr(0,2) << "/" << s.substr(2,2) << "/" << s.substr(4,4) << endl;
cout << "Heure : " << s.substr(8,2) << "h" << s.substr(10,2) << endl;
}
}


int main(int argc, char** argv)
{
string s("010920091123");
afficherDateEtHeure(s); // exemple
}
}
</source>
}}

Version du 14 septembre 2009 à 16:43

La STL

EXERCICE 1 : La classe string

Soit une chaîne de caractères contenant une date (JJ/MM/AAAA) et une heure (HH:NN) sous la forme JJMMAAAAHHNN. Par exemple 010920091123 représente la date du 1er septembre 2009 à 11h23.

Créer un programme permettant d'extraire les différents champs et de les afficher.