Răspuns :

Într-un text cu cel mult 10^2 caractere, cuvintele sunt formate din litere mici și mari ale alfabetului englez  și sunt separate prin câte un spațiu. Scrieți un program C/C++ care citește de la tastatură un text de  tipul precizat, pe care îl transformă, astfel încât fiecare cuvânt să aibă prima literă mare, și toate

celelalte litere mici. Textul obținut se afişează pe ecran.

Exemplu: dacă de la tastatură se introduce textul ABIA aSTept sa Merg lA scoala  se obține textul Abia Astept Sa Merg La Scoala

#include <iostream>

#include <string.h>

#include <ctype.h>

using namespace std;

int main()

{

   char s[101];

   int i;

   cout<<"Introduceti textul:"<<endl;

   cin.get(s,101);  //citim textul ce contine si spatii

   for(i=0; i<strlen(s); i++)  

   {

       if(isupper(s[i]))  //daca intalnim litere mari

           s[i]=tolower (s[i]);   // le facem mici

   }

   for(i=0; i<strlen(s); i++)

   {

       if(s[i-1]==' ')  // daca caracterul anterior celui pe care ne aflam, este spatiu

           s[i]=toupper(s[i]);  // atunci il facem mare

   }

   s[0]=toupper(s[0]);  // Facem si primul caracter mare

   cout<<s;

   return 0;

}

Mi s-a parut mai usor si interesant sa folosesc instructiunile bibliotecii ctype.h. Ti-am explicat pe cod ce am facut.

Vezi imaginea Cosmaandra2000