edutecnica

Esercizio 4        

Scrivi un programma C++ per rendere maiuscola la prima lettera di ogni parola di una data stringa.


Di default poniamo sempre la prima lettera della stringa (di indice i=0) in maiuscolo. L'eventuale commutazione in maiuscolo avviene tramite la funzione della libreria standard toupper() opposta alla funzione tolower() che commuta eventualmente un carattere in minuscolo.

#include<iostream>
#include<string>
using namespace std;
main(){
 string s="uno due tre quattro";
 int i,n=s.size();
 for(i=0;i<n;i++)
   if(i==0 || (s[i-1]==' ' && s[i]!=' '))s[i]=toupper(s[i]);
 cout<<s;
} //fine main

Se l'elemento attuale non è il primo, la commutazione in maiuscolo avviene solo se il carattere precedente è uno pazio (s[i-1]==' ') mentre il carattere attuale non lo è (s[i]!=' ').