Zad. 2. Napisz program, zamieni wszystkie małe litery na duże.
Ciąg składający się z małych i dużych liter zakończony kropką.
Ciąg składający się z dużych liter (bez kropki)
Wejście: Alamakota. Wyjście: ALAMAKOTA
Rozwiązanie:
Warto zauważyć, że różnica w kodzie ASCII między dużą a małą literą wynosi 32:
A - 65 --> a - 97
B - 66 --> b - 98
C - 67 --> c - 99
itd.
Zamieniamy tylko małe litery, a więc wystarczy sprawdzić, czy kod ASCII danego znaku jest większy niż 96.
#include<iostream>
using namespace std;
int main()
{
char znak;
cin>>znak; //wczytujemy pierwszy znak
while(znak!='.') //dopóki nie napotkamy na znak '.'
{
if(znak>95) //gdy napotkamy małą literę zamieniamy ją na dużą
cout<<(char)(znak-32); //przesuwając o 32 miejsca w kodzie ASCII
else
cout<<znak;
cin>>znak; //wczytujemy następny znak
}
cout<<endl;
return 0;
}
Program można testować na tej stronie.